پکیج اتصال به درگاه پرداخت زرین پال zarinpal.com
برای اتصال به درگاه پرداخت اینترنتی زرین پال و استفاده از api های آن می توانید از این پکیج استفاده کنید.
توجه: این پکیج برای لاراول 6 به بعد قابل استفاده است.
نصب
برای نصب پکیج توسط composer
مراحل زیر را به دقت دنبال کنید:
مرحله اول
composer require rahmatwaisi/zarinpal
مرحله دوم - انتقال فایل های مورد نیاز
php artisan vendor:publish
# now choose: ZarinpalServiceProvider
مرحله سوم
در این مرحله باید تنظیمات مربوط به درگاه و درج کلید پذیرندگی را انجام دهید که برای اینکار باید فایل
config/zarinpal.php
را ویرایش کنید.
/**
* کد پذیرندگی
* Merchant ID
*/
'merchant_id' => 'INSERT_YOUR_KEY_HERE',
مرحله چهارم
باید متد callback
را در کنترلر app\Http\Controllers\Zarinpal\PaymentCallbackController::class
طبق نیاز خود ویرایش کنید.
چند راهکار به صورت TODO
پیشنهاد شده است.
مرحله پایانی - اضافه کردن یک مسیر برای دریافت اطلاعات پرداخت از درگاه
باید توجه داشت که این route نباید دارای هیچ middleware ی باشد.
مسیر /zarinpal/payments/callback
به عنوان callback_route
به صورت پیشفرض در فایل کانفیگ پل کارت config/zarinpal.php
درج شده است
که می توانید آن را تغییر داده و مسیر جدید را به عنوان callback_route
انتخاب کنید.
\Illuminate\Support\Facades\Route::any(
// TODO change this path if you want
// so if you changed this path, open config/pol.php and edit callback_route key.
'/zarinpal/payments/callback'
, [
Http\Controllers\Zarinpal\PaymentCallbackController::class
, 'callback'
]
);
نحوه استفاده
// ابتدا فاساد پکیج را ایمپورت کنید
use RahmatWaisi\Zarinpal\Facade\Zarinpal;
/*
| در کنترلر یا متد مورد نظر کدهای زیر را استفاده کنید
*/
$price = 6480000; // 648 هزار تومان
$description = 'some description'; // تا حداکثر 30 کاراکتر
$mobile = '09012345678';
$email = '[email protected]';
// درخواست توکن پرداخت
$authorityResponse = Zarinpal::authority($price, $description,null,$mobile, $email);
// $code = $authorityResponse['code']; // کد پاسخ درگاه
// $message = $authorityResponse['message']; // پیغام درگاه
$authority = $authorityResponse['authority'];
// برای هدایت به صفحه پرداخت
Zarinpal::pay($authority);
// برای بررسی صحت تراکنش
Zarinpal::verify($price, $authority);
// برای اصلاحیه پرداخت ناموفق و درخواست لغو تراکنش و برگشت مبلغ به حساب دارنده کارت
Zarinpal::refund($authority);
در صورت تمایل جهت همکاری در توسعه شامل:
- توسعه مستندات پکیج.
- گزارش باگ و خطا.
- افزودن سرویس های دیگر
- ارتقاء کدها
- نوشتن تست
درصورت بروز هر گونه باگ ما را آگاه سازید .