aries/gateway

A Laravel package for connecting to all Iraninan payment gateways

v0.1.3 2017-11-13 04:59 UTC

This package is auto-updated.

Last update: 2024-11-29 05:21:01 UTC


README

by this package we are able to connect to all Iranian bank with one unique API.

Please inform us once you've encountered bug or issue .

Available Banks:

  1. MELLAT
  2. SADAD (MELLI)
  3. SAMAN
  4. PARSIAN
  5. PASARGAD
  6. ZARINPAL
  7. JAHANPAY (Disabled)
  8. PAYLINE (Disabled)

Installation:

Run below statements on your terminal :

STEP 1 :

composer require aries/gateway

STEP 2 : Add provider and facade in config/app.php

'providers' => [
  ...
  Aries\Gateway\GatewayServiceProvider::class, // <-- add this line at the end of provider array
],


'aliases' => [
  ...
  'Gateway' => Aries\Gateway\Gateway::class, // <-- add this line at the end of aliases array
]

Step 3:

php artisan vendor:publish --provider=Aries\Gateway\GatewayServiceProvider

Step 4:

php artisan migrate

Important

You need add Aries/LaravelSetting's ServiceProvider and Facade to config/app.php file

Usage

You can make connection to bank by several way (Facade , Service container):

try {
   
   $gateway = \Gateway::make(new \Mellat());
   // $gateway->setCallback(url('/path/to/calback/route')); You can also change the callback
   $gateway->price(1000)->ready();
   $refId =  $gateway->refId();
   $transID = $gateway->transactionId();

   // Your code here

   return $gateway->redirect();
   
} catch (Exception $e) {
   
   	echo $e->getMessage();
}

you can call the gateway by these ways :

  1. Gateway::make(new Mellat());
  2. Gateway::mellat()
  3. app('gateway')->make(new Mellat());
  4. app('gateway')->mellat();

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();
   
   // Your code here
   
} catch (Exception $e) {
   
   echo $e->getMessage();
}  

If you are intrested to developing this package you can help us by these ways :

  1. Improving documents.
  2. Reporting issue or bugs.
  3. Collaboration in writing codes and other banks modules.

This package is extended from PoolPort but we've changed some functionality and improved it .

a fork from larabook/gateway