لاراپی یک پکیج لاراول برای اتصال به درگاههای پرداختی ایرانی است.
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 |
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 |
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
اگر درگاه مورد نظر خود را پیدا نکردید، به ما اطلاع دهید یا در اضافه کردن آن مشارکت کنید
- Simple | ساده
- Flexibility | انعطافپذیری
- Fee Calculation | محاسبه هزینه تراکنش
You can install the package via composer:
شما میتوانید با استفاده از composer پکیج را نصب کنید
composer require farayaz/larapay
To make the payment, 3 steps must be done:
برای انجام پرداخت ۳ مرحله میبایست انجام شود:
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'];
Transfer the user to gateway with the received token:
انتقال کاربر به درگاه با توکن دریافت شده:
try {
return Larapay::gateway($gatewayClass, $gatewayConfig)
->redirect($id, $token, $callbackUrl);
} catch (LarapayException $e) {
throw $e;
}
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'];