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).
بانک صادرات هر ساله ویرایش جدیدی از آستین بیرون میاره. فقط میشه گفت شرمآوره.
composer require dpsoft/saderat
Attention: The Saderat Bank webservice just available with IP that allowed with Saderat Bank(by contract with Mabna cart company).
استفاده از درگاه بانک صادرات - مبنا - در زبان Php
<?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->request($callbackUrl, $amount, $payload);
echo $request->getRedirectScript();
}catch (\Throwable $exception){
echo $exception->getMessage();
}
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.
<?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();
}
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();
}
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'];