larabook/saderat

连接到银行 Saderat 网关的 Laravel 扩展包

1.3 2018-06-08 05:07 UTC

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 中添加 providerfacade

'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();
}