farayaz / larapay
iranian online payment gateways
v1.14.7
2025-01-30 13:51 UTC
Requires
- php: ^8.1
- illuminate/container: ^10.0|^11.0
- illuminate/contracts: ^10.0|^11.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
- morilog/jalali: 3.*
Requires (Dev)
- laravel/pint: ^1.0
- dev-main
- v1.14.7
- v1.14.6
- v1.14.5
- v1.14.4
- v1.14.3
- v1.14.2
- v1.14.1
- v1.14.0
- v1.13.13
- v1.13.12
- v1.13.11
- v1.13.10
- v1.13.9
- v1.13.8
- v1.13.7
- v1.13.6
- v1.13.5
- v1.13.4
- v1.13.3
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.1
- v1.11.0
- v1.10.2
- v1.10.1
- v1.10.0
- v1.9.6
- v1.9.5
- v1.9.4
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
This package is auto-updated.
Last update: 2025-03-01 00:40:53 UTC
README
Larapay is a Laravel package for integrating Iranian payment gateways.لاراپی یک پکیج لاراول برای اتصال به درگاههای پرداختی ایرانی است.
Gateways | درگاهها
Class | Name (en) | Name (fa) | Requirements |
---|---|---|---|
Azkivam | Azkivam | ازکی وام | merchant_id ,api_key |
BehPardakht | Beh Pardakht Mellat | بهپرداخت ملت | terminal_id , username , password , is_credit |
Digipay | Digipay | دیجیپی | username , password , client_id , client_secret |
IdPay | IdPay | آیدیپی | apiKey , sandbox |
IranKish | Iran Kish | ایران کیش | terminalId , password , acceptorId , pubKey |
IsipaymentSamin | Isipayment Samin | ایزایران ثمین | merchant_code , merchant_password , terminal_code , type , number_of_installment |
Keepa | Keepa - Kipaa | کیپا | token |
MehrIran | MehrIran | بانک مهر ایران | terminal_id , merchant_nid , encrypt_key |
Omidpay | Omidpay - Sayan Card | امید پی (سایان کارت) | user_id , password |
PardakhtNovin | Pardakht Novin | پرداخت نوین | userId , password , terminalId |
Payir | Pay.ir | پی.آیآر | api |
PayPing | PayPing | پی پینگ | token |
Polam | Polam(Poolam) | پولام | api_key |
RefahBeta | Refah Beta | بانک رفاه بتا | client_id , client_secret , api_key , number_of_installments |
Sadad | Sadad | پرداخت الکترونیک سداد (ملی) | terminal_id , merchant_id , key |
SadadBNPL | SadadBNPL | پرداخت الکترونیک سداد (ملی) | terminal_id , merchant_id , key |
Sep | Saman Electronic Payment | پرداخت الکترونیک سامان (سپ) | terminalId |
SepehrPay | Sepehr Pay | پرداخت الکترونیک سپهر (مبنا) | terminalId |
SnappPay | SnappPay | اسنپپی | username , password , client_id , client_secret |
TejaratBajet | Tejarat Bajet | بانک تجارت - باجت | client_id , client_secret , sandbox |
ZarinPal | Zarin Pal | زرین پال | merchant_id |
Zibal | Zibal | زیبال | merchant |
If you don't find the gateway 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\LarapayException; use Larapay; $gatewayClass = 'ZarinPal'; $gatewayConfig = [ // gateway config | تنظیمات درگاه 'merchant_id' => 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', ]; $amount = 10000; $id = 1230; // transaction id | شماره تراکنش $callbackUrl = route('api.transactions.verify', $id); $nationalId = '1234567890'; $mobile = '09131234567'; try { $result = Larapay::gateway($gatewayClass, $gatewayConfig) ->request( id: $id, amount: $amount, callbackUrl: $callbackUrl, nationalId: $nationalId, mobile: $mobile ); } catch (LarapayException $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, $callbackUrl); } catch (LarapayException $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 (LarapayException $e) { // transaction failed | تراکنش ناموفق throw $e; } // transaction verified | تراکنش موفق $result['result']; $result['reference_id']; $result['tracking_code']; $result['card']; $result['fee'];