rezakhademix / larapay

Larapay is a Laravel package for integrating Iranian payment gateways.

Home Page:https://farayaz.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Larapay | لاراپِی

GitHub Repo stars Total Downloads Latest Stable Version License

Larapay is a Laravel package for integrating Iranian payment gateways.

لاراپی یک پکیج لاراول برای اتصال به درگاه‌های پرداختی ایرانی است.

Gateways | درگاه‌ها

Class Name (en) Name (fa) Requirements
BehPardakht Beh Pardakht Mellat به‌پرداخت ملت terminalId, username, password
Digipay Digipay دیجی‌پی username, password, client_id, client_secret
IdPay IdPay آیدی‌پی apiKey, sandbox
IranKish Iran Kish ایران کیش terminalId, password, acceptorId, pubKey
PardakhtNovin Pardakht Novin پرداخت نوین userId, password, terminalId
Payir Pay.ir پی.آی‌آر api
PayPing PayPing پی پینگ token
Polam Polam(Poolam) پولام api_key
Sep Saman Electronic Payment پرداخت الکترونیک سامان (سپ) terminalId
SepehrPay Sepehr Pay پرداخت الکترونیک سپهر (مبنا) terminalId
ZarinPal Zarin Pal زرین پال merchant_id
Zibal Zibal زیبال merchant
...

If you don't find the gate you want, let us know or contribute to add it


اگر درگاه مورد نظر خود را پیدا نکردید، به ما اطلاع دهید یا در اضافه کردن آن مشارکت کنید

Benefits | مزایا

  • Simple | ساده
  • Flexibility | انعطاف‌پذیری
  • Fee Calculation | محاسبه هزینه تراکنش

Install | نصب

You can install the package via composer:

شما می‌توانید با استفاده از composer پکیج را نصب کنید

composer require farayaz/larapay

Usage | استفاده

To make the payment, 3 steps must be done:

برای انجام پرداخت ۳ مرحله می‌بایست انجام شود:

Step 1: get token | مرحله ۱: دریافت توکن

use Farayaz\Larapay\Exceptions\GatewayException;
use Larapay;

$gatewayClass = 'ZarinPal';
$gatewayConfig = [ // gateway config | تنظیمات درگاه
    'merchant_id' => 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee',
];

$amount = 10000;
$id = 1230; // transaction id | شماره تراکنش
$callback = route('api.transactions.verify', $id);

try {
    $result = Larapay::gateway($gatewayClass, $gatewayConfig)
        ->request(
            id: $id,
            amount: $amount,
            callback: $callback
        );
} catch (GatewayException $e) {
    throw $e;
}

// store token in db | ذخیره توکن در دیتابیس
$result['token'];
$result['fee'];

Step 2: redirect | مرحله ۲: ریدایرکت

Transfer the user to gateway with the received token:

انتقال کاربر به درگاه با توکن دریافت شده:

try {
    return Larapay::gateway($gatewayClass, $gatewayConfig)
        ->redirect($id, $token);
} catch (GatewayException $e) {
    throw $e;
}

Step 3: verify | مرحله ۳: تایید

Checking the payment status after the user returns from the gateway:

بررسی وضعیت پرداخت پس از بازگشت کاربر از درگاه:

$params = $request->all();
try {
    $result = Larapay::gateway($gatewayClass, $gatewayConfig)
        ->verify(
            id: $id,
            amount: $amount,
            token: $token,
            params: $params
        );
} catch (GatewayException $e) {
    // transaction failed | تراکنش ناموفق
    throw $e;
}

// transaction verified | تراکنش موفق
$result['result'];
$result['reference_id'];
$result['tracking_code'];
$result['card'];
$result['fee'];

About

Larapay is a Laravel package for integrating Iranian payment gateways.

https://farayaz.com

License:MIT License


Languages

Language:PHP 98.9%Language:Blade 1.1%