Skip to content
پرداخت آنلاین بانک صادرات / Saderat bank onilne payment Library in php
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
sample
src
tests
.gitignore
LICENSE
README.md
composer.json
phpunit.xml

README.md

Mabna Card Aria Payment Package(Saderat Bank) - v2

License: GPL v2

Mabna Cart Aria is a iranian company work at bank payment and allow you to handle checkout in your website with iranian payment cart(Saderat Bank).

Is right for me?

If you need integration your website with Saderat Bank or need to now Saderat online payment how to work, you are in the right place.

Steps of payment with Saderat payment v2

  1. Customer choose sevices or products in website
  2. Redirect customer to gateway with payment params(with post method)
  3. Customer enter cart data in Saderat gateway and pay amount
  4. Saderat gateway redirect customer to callback url with post method and transaction response parameters
  5. Post response parameter to Saderat verify url
  6. Receive response of verify url and handle transaction

Installation

$ composer require dpsoft/saderat

Implementation

Attention: The Saderat Bank webservice just available with IP that allowed with Saderat Bank(by contract with Mabna cart company).

استفاده از درگاه بانک صادرات - مبنا - در زبان Php

Redirect customer with parameters to Saderat gateway

<?php use Dpsoft\Saderat\Saderat;

try{
    /**
    * @param int $terminalId The Saderat cart terminal id assign to you 
    */
    $request = new Saderat($terminalId);
	
    /**
     * @param string $callbackUrl The url that customer redirect to after payment
     * @param int $amount The amount that customer must pay
     * @param string $payload Optional addition data
	 *
	 * @method payRequest Return invoice id and you can save in your DB
	 *
     */
    $invoiceId = $request->payRequest($callbackUrl, $amount, $payload);
	
    echo $request->getRedirectScript();
   
}catch (\Throwable $exception){
    echo $exception->getMessage();
}

Verify transaction or maybe rollback transaction in conditions

Customer redirect to callback url with all transaction data and you must verify or rollback transaction.
If you don't call verify(), after 30 min transaction rollback by system.

verify:

<?php
use Dpsoft\Saderat\Saderat;

try{
    /**
      * @var int $terminalId
      */
    $response = new Saderat($terminalId);
	
        /**
          * @method $verify return class of all response value and you can convert to array by toArray() method
          */
        $verifyData = $response->verify();
        /**
          * Check your amount with response amount
          */
        echo "Successful payment ...";
       
}catch (\Throwable $exception){
    echo $exception->getMessage();
}

Rollback transaction

Need access to rollback payment with Mabna Cart Company

<?php
use Dpsoft\Saderat\Saderat;

try{
    /**
      * @var int $terminalId
      */
    $response = new Saderat($terminalId);
	
    $response->rollbackPayment($digitalReceipt);
    	
    echo "Successful rollback transaction ...";
       
}catch (\Throwable $exception){
    echo $exception->getMessage();
}
Transaction data or response contains:
  • respcode: The code of transaction result, if this code equals 0, transaction is success and we can send verify or rollback request if this code equals -1 the customer cancelled payment
  • amount: Amount laid out of customer card(you must compare this amount with your amount for security reasons)
  • invoiceid: The invoice number of transaction
  • payload: The adition data we send with customer to Mabna cart gateway
  • terminalid: Terminal number
  • tracenumber: Tracking number of transaction
  • rrn: Bank document numer, this number generate by gateway and must save for tracking if it was needed
  • datepaid: Time of transaction
  • digitalreceipt: Digital Receipt for verify or rollback payment
  • issuerbank(string): The bank's name of customer cart
  • cardnumber: customer card number
  • respmsg: Message of transaction

  • You can access response data with get method of returned class and if you want access params by array you can call toArray() method.
    Get value by class object:

    $digitalReceipt = $verifyData->getDigitalReceipt();

    Get value by array:

    $verifyDataArray = $verifyData->toArray();
    $digitalReceipt = $verifyDataArray['digitalreceipt'];
    You can’t perform that action at this time.