Modular multi-gateway payment system for Laravel/PHP

Maintainers

Package info

github.com/alirezasadeghian79/rahatPay

pkg:composer/alirezasadeghian79/rahatpay

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2025-11-30 14:29 UTC

This package is auto-updated.

Last update: 2026-03-29 01:14:00 UTC


README

پکیج ساده و قابل توسعه برای اتصال به درگاه‌های پرداخت Zarinpal و Zibal در لاراول.

این پکیج به شما اجازه می‌دهد بدون درگیر شدن با جزییات هر درگاه، تنها با یک ساختار یکسان پرداخت را انجام دهید.

🚀 نصب

1. نصب از طریق Composer

composer require alirezasadeghian79/rahatpay

1. publish

php artisan vendor:publish --provider="rahatPay\Providers\PaymentServiceProvider"

2. تنظیمات config.php

    'default' => 'zarinpal', // انتخاب درایور
    'drivers' => [
        'zarinpal' => [
            'merchant_id' => env('ZARINPAL_MERCHANT_ID'), // کد مرچنت zarinpal
            'default' => 'sandbox',  // sandbox || payment حالت استفاده بین این دو گزینه
            'routes' => [
              ...
            ]
        ],
        'zibal' => [
            'merchant_id' => env('ZIBAL_MERCHANT_ID'), // کد مرچنت zibal برای تست همان zibal قرار دهید
            'routes' => [
                ...
            ],
        ]
    ],

3. pay - ایجاد درخواست

use rahatPay\Services\Payment; // فراخوانی کتابخانه

$rahatPay = new Payment(); // فراخوانی متود سازنده

$payment = $rahatPay
    ->setAmount(15000) // مبلغ سفارش
    ->setDescription('ثبت سفارش') // توضیحات سفارش
    ->setCallback(route('pay.result')); // آدرس callBack
    
$response = $payment->pay(); // ایجاد درخواست

$authority = $response['authority']; // authority شناسه تراکنش ایجاد شده

$redirect_url = $payment->startPay($authority); // ایجاد آدرس درگاه پرداخت برای ریدایرکت

return redirect()->to($redirect_url); // ریدایرکت به درگاه

4. verify - تایید پرداخت

use rahatPay\Services\Payment; // فراخوانی کتابخانه

$rahatPay = new Payment(); // فراخوانی متود سازنده

// Zarinpal
$authority = $request->get('Authority'); // Authority شناسه پرداخت 
$status = $request->get('Status'); وضعیت پرداخت
if ($status == 'OK'){
    $result = $payment->verify($authority,15000); // تایید درخواست
}

// Zibal
$authority = $request->get('trackId'); // Authority شناسه پرداخت 
$status = $request->get('success'); وضعیت پرداخت
if ($status == 1){
    $result = $payment->verify($authority,15000); // تایید درخواست
}