larabook / saderat
连接到银行 Saderat 网关的 Laravel 扩展包
1.3
2018-06-08 05:07 UTC
Requires
This package is auto-updated.
Last update: 2024-08-29 04:43:03 UTC
README
连接到 Saderat 银行网关(BSI)的 Laravel 扩展包
安装:
在您的终端运行以下命令
步骤 1
composer require larabook/saderat
步骤 2:在 config/app.php 中添加 provider
和 facade
'providers' => [
...
Larabookir\Saderat\SaderatServiceProvider::class, // <-- add this line at the end of provider array
],
'aliases' => [
...
'Saderat' => Larabookir\Saderat\Facade\Saderat::class, // <-- add this line at the end of aliases array
]
步骤 3
php artisan vendor:publish --provider="Larabookir\Saderat\SaderatServiceProvider"
或者
php artisan vendor:publish --provider=Larabookir\Saderat\SaderatServiceProvider
配置文件现在位于 config/saderat.php 中,打开它并输入您的银行凭证。
以下简化代码向银行发送请求,获取令牌然后将用户重定向到银行界面
try {
$bank = app('saderat')->make(1000); // ۱۰۰ تومان
$bank->setCallbackUrl(url('/path/to/calback/route')); You can also change the callback
// در این مرحله شماره سند تولید شده را قبل از ارجاع کاربر به بانک
// در بانک اطلاعات ذخیره میکنیم
$invoiceNumber = $bank->getInvoiceNumber();
return $bank->go();
} catch (Exception $e) {
echo $e->getMessage();
}
并在您的回调中
try {
$data = app('saderat')->verify();
// تراکنش با موفقیت سمت بانک تایید گردید
// در این مرحله عملیات خرید کاربر را تکمیل میکنیم
echo "شماره سند : " . $data->invoice_number . "<br>";
echo "شماره مرجع بانک : " . $data->bank_receipt . "<br>";
} catch (\Larabookir\Saderat\Exceptions\RepetitiveException $e) {
// تراکنش قبلا سمت بانک تاییده شده است و
// کاربر احتمالا صفحه را مجددا رفرش کرده است
// لذا تنها فاکتور خرید قبل را مجدد به کاربر نمایش میدهیم
echo $e->getMessage() . "<br>";
echo "شماره سند : " . $e->invoice_number . "<br>";
echo "شماره مرجع بانک : " . $e->bank_receipt . "<br>";
} catch (\Larabookir\Saderat\Exceptions\BankException $e) {
// نمایش خطای بانک
echo $e->getMessage();
}