dpsoft / saderat
此包最新版本(v4.0.1)没有可用的许可证信息。
萨达拉特银行支付
v4.0.1
2021-11-21 06:08 UTC
Requires
- php: ^7.1|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.0|^7.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
Mabna Cart Aria 是一家伊朗公司,专注于银行支付,并允许您使用伊朗支付网关(萨达拉特银行)在您的网站上处理结账。
为什么每年都要推出新版本?!
萨达拉特银行每年都会推出新版本的软件,这有点令人难以置信。
安装
composer require dpsoft/saderat
实现
注意:萨达拉特银行提供的 Web 服务仅限通过萨达拉特银行允许的 IP 地址访问(与 Mabna Cart 公司签订的合同)。
使用 PHP 语言集成萨达拉特银行 - Mabna Cart
将带有参数的客户重定向到萨达拉特网关
<?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(); }
在特定条件下验证交易或可能回滚交易
客户将被重定向到回调 URL,并包含所有交易数据,您必须验证或回滚交易。
如果您不调用 verify(),系统将在 30 分钟后自动回滚交易。
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(); }
回滚交易
需要通过 Mabna Cart 公司访问回滚支付
<?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(); }
交易数据或响应包含
您可以通过返回类的 get 方法访问响应数据,如果想要通过数组访问参数,可以调用 toArray() 方法。
通过类对象获取值
$digitalReceipt = $verifyData->getDigitalReceipt();
通过数组获取值
$verifyDataArray = $verifyData->toArray(); $digitalReceipt = $verifyDataArray['digitalreceipt'];