بهترین پکیج زرین پال برای لاراول با Abdal Zarinpal PG
زرین پال یکی از محبوبترین درگاههای پرداخت ایرانی است که امکان انجام تراکنشهای امن و سریع را فراهم میکند. پکیج Abdal Zarinpal PG به توسعهدهندگان لاراول ....
استفاده از زرین پال در لاراول با استفاده از پکیج Abdal Zarinpal PG
زرین پال یکی از پرکاربردترین درگاههای پرداخت ایرانی است که با فراهم کردن امکانات متنوع به کسبوکارها کمک میکند تا تراکنشهای مالی خود را به صورت آنلاین مدیریت کنند. پکیج Abdal Zarinpal PG به توسعهدهندگان لاراول امکان میدهد تا به راحتی این درگاه را در پروژههای خود ادغام کنند. در ادامه به توضیح مراحل نصب و استفاده از این پکیج میپردازیم. Abdal Zarinpal PG توسط ابراهیم شفیعی توسعه و برنامه نویسی شده است.
این پکیج بر روی لاروال های نسخه 7 به بالا پشتیبانی می شود و کاملا بروز است.
مراحل نصب و استفاده:
composer require abdal/abdal-zarinpal-pg
سپس ServiceProvider را در فایل config/app.php اضافه کنید: (برای لاراول 11 نیاز به انجام این مورد ندارید)
'providers' => [
// ...
Abdal\AbdalZarinpalPg\ZarinpalServiceProvider::class,
];
و Facades را ثبت کنید: (برای لاراول 11 نیاز به انجام این مورد ندارید)
'aliases' => [
// ...
'Zarinpal' => Abdal\AbdalZarinpalPg\Facades\Zarinpal::class,
];
روش استفاده در Controller های پروژه شما
ارسال مشتری به درگاه
فرض کنید Route ها را به صورت زیر تعریف کرده اید
Route::get('/payment/request', [ZarinpalController::class, 'requestPayment'])->name('payment.request');
Route::get('/payment/verify', [ZarinpalController::class, 'verifyPayment'])->name('payment.verify');
پس از تعریف Route ها می توانید کاربر را به آن پاس دهید و در تابعی که به route شما متصل شده است برای درخواست پرداخت یا همان ارسال مشتری به درگاه کد زیر را وارد کنید
use Abdal\AbdalZarinpalPg\Zarinpal;
public function requestPayment(Request $request)
{
$response = Zarinpal::merchantId('00000000-0000-0000-0000-000000000000')
->amount(13660000)
->currency('IRT')
->callbackUrl(route('payment.verify'))
->description('خرید تست')
->email('[email protected]')
->mobile('09022223301')
->request();
if (!$response->success()) {
return response()->json(['error' => $response->message()], 400);
}
$authority = $response->getAuthority(); // Save Authority in Database
return $response->redirect();
}
بررسی وضعیت تراکنش
use Abdal\AbdalZarinpalPg\Zarinpal;
public function verifyPayment(Request $request)
{
$response = Zarinpal::merchantId('00000000-0000-0000-0000-000000000000')
->amount(13660000)
->currency('IRT')
->authority($request->query('Authority'))
->verify();
if (!$response->success()) {
return response()->json(['error' => $response->message()], 400);
}
return $response->referenceId();
}
اگر نمی خواهید در هر بار استفاده از پکیج کد درگاه و واحد پول را وارد کنید می توانید از فایل .env نیز استفاده کنید. در فایل .env پروژه خود، مقادیر مربوط به ZARINPAL_MERCHANT_ID و ZARINPAL_CURRENCY را اضافه کنید:
مرچنت کد یا کد درگاه را اضافه کنید
ZARINPAL_MERCHANT_ID=00000000-0000-0000-0000-000000000000
برای تغییر واحد پول به تومان (پکیج پیشفرض از واحد تومان استفاده می کند)
ZARINPAL_CURRENCY=IRT
برای تغییر واحد پول به ریال
ZARINPAL_CURRENCY=IRR
اگر تنظیمات را در فایل .env وارد کردید کدها را به صورت زیر استفاده کنید مثال استفاده با مقادیر پیشفرض از فایل تنظیمات ارسال مشترین به درگاه بانک
ارسال مشتری به درگاه
use Abdal\AbdalZarinpalPg\Zarinpal;
public function requestPayment(Request $request)
{
$response = (new Zarinpal())
->amount(13660000)
->callbackUrl(route('payment.verify'))
->description('خرید تست')
->email('[email protected]')
->mobile('09022223301')
->request();
if (!$response->success()) {
return response()->json(['error' => $response->message()], 400);
}
$authority = $response->getAuthority(); // Save Authority in Database
return $response->redirect();
}
بررسی وضعیت تراکنش
use Abdal\AbdalZarinpalPg\Zarinpal;
public function verifyPayment(Request $request)
{
$response = (new Zarinpal())
->amount(13660000)
->authority($request->query('Authority'))
->verify();
if (!$response->success()) {
return response()->json(['error' => $response->message()], 400);
}
return $response->referenceId();
}
از اینجا می توانید به صفحه رسمی این پکیج در گیت هاب مراجعه نمایید .
دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)