rahmatwaisi / zarinpal
Zarinpal is a laravel package to easily use zarinpal.com payment services in your applications
Requires
- php: ^7.2.5|^8.0
- guzzlehttp/guzzle: ^7
README
پکیج اتصال به درگاه پرداخت زرین پال 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 = 'rahmatwaisi@example.com'; // درخواست توکن پرداخت $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);
در صورت تمایل جهت همکاری در توسعه شامل:
- توسعه مستندات پکیج.
- گزارش باگ و خطا.
- افزودن سرویس های دیگر
- ارتقاء کدها
- نوشتن تست
درصورت بروز هر گونه باگ ما را آگاه سازید .
ارتباط با ما
لایسنس
پکیج اتصال به درگاه زرین پال بصورت متن باز و تحت لایسنس MIT license قرار دارد.