rahmatwaisi/zarinpal

Zarinpal is a laravel package to easily use zarinpal.com payment services in your applications

This package is auto-updated.

Last update: 2024-06-15 15:57:53 UTC


README

GitHub repo size License Packagist Version Total Downloads

پکیج اتصال به درگاه پرداخت زرین پال 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);

در صورت تمایل جهت همکاری در توسعه شامل:

  1. توسعه مستندات پکیج.
  2. گزارش باگ و خطا.
  3. افزودن سرویس های دیگر
  4. ارتقاء کدها
  5. نوشتن تست

درصورت بروز هر گونه باگ ما را آگاه سازید .

ارتباط با ما

لایسنس

پکیج اتصال به درگاه زرین پال بصورت متن باز و تحت لایسنس MIT license قرار دارد.