| Package Data | |
|---|---|
| Maintainer Username: | iraitc | 
| Maintainer Contact: | pakdaman.it@gmail.com (Hamed Pakdaman) | 
| Package Create Date: | 2016-05-02 | 
| Package Last Update: | 2024-11-19 | 
| Home Page: | |
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-30 03:13:09 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 52,305 | 
| Monthly Downloads: | 514 | 
| Daily Downloads: | 21 | 
| Total Stars: | 245 | 
| Total Watchers: | 14 | 
| Total Forks: | 182 | 
| Total Open Issues: | 78 | 
package's home : larabook.ir
by this package we are able to connect to all Iranian bank with one unique API.
( This Package is now compatible with both 4.* and 5.* versions of Laravel )
Please inform us once you've encountered bug or issue .
Available Banks:
Installation:
Run below statements on your terminal :
STEP 1 :
composer require larabook/gateway
STEP 2 : Add provider and facade in config/app.php
'providers' => [
  ...
  Larabookir\Gateway\GatewayServiceProvider::class, // <-- add this line at the end of provider array
],
'aliases' => [
  ...
  'Gateway' => Larabookir\Gateway\Gateway::class, // <-- add this line at the end of aliases array
]
Step 3:
php artisan vendor:publish --provider=Larabookir\Gateway\GatewayServiceProvider
Step 4:
php artisan migrate
Configuration file is placed in config/gateway.php , open it and enter your banks credential:
You can make connection to bank by several way (Facade , Service container):
try {
   
   $gateway = \Gateway::make(new \Mellat());
   // $gateway->setCallback(url('/path/to/callback/route')); You can also change the callback
   $gateway
        ->price(1000)
        // setShipmentPrice(10) // optional - just for paypal
        // setProductName("My Product") // optional - just for paypal
        ->ready();
   $refId =  $gateway->refId(); // شماره ارجاع بانک
   $transID = $gateway->transactionId(); // شماره تراکنش
  // در اینجا
  //  شماره تراکنش  بانک را با توجه به نوع ساختار دیتابیس تان 
  //  در جداول مورد نیاز و بسته به نیاز سیستم تان
  // ذخیره کنید .
  
   return $gateway->redirect();
   
} catch (\Exception $e) {
   
   	echo $e->getMessage();
}
you can call the gateway by these ways :
Instead of MELLAT you can enter other banks Name as we introduced above .
In price method you should enter the price in IRR (RIAL)
and in your callback :
try { 
   
   $gateway = \Gateway::verify();
   $trackingCode = $gateway->trackingCode();
   $refId = $gateway->refId();
   $cardNumber = $gateway->cardNumber();
   
    // تراکنش با موفقیت سمت بانک تایید گردید
    // در این مرحله عملیات خرید کاربر را تکمیل میکنیم
} catch (\Larabookir\Gateway\Exceptions\RetryException $e) {
    // تراکنش قبلا سمت بانک تاییده شده است و
    // کاربر احتمالا صفحه را مجددا رفرش کرده است
    // لذا تنها فاکتور خرید قبل را مجدد به کاربر نمایش میدهیم
    
    echo $e->getMessage() . "<br>";
    
} catch (\Exception $e) {
   
    // نمایش خطای بانک
    echo $e->getMessage();
}  
If you are intrested to developing this package you can help us by these ways :
This package is extended from PoolPort but we've changed some functionality and improved it .