vandarpay/gateway

Vandar IPG网关,将您的Laravel项目连接到Vandar IPG API

dev-master 2019-07-31 14:14 UTC

This package is not auto-updated.

Last update: 2024-09-16 05:27:26 UTC


README

包的主页: https://vandar.io

Vandar IPG网关,将您的Laravel项目连接到Vandar IPG API

(此包现在兼容Laravel的4.*和5.*版本。)

安装:

在您的终端运行以下语句

步骤1

composer require vandar/gateway

步骤2:在config/app.php中添加provider和facade

'providers' => [
  ...
  Vandar\Gateway\GatewayServiceProvider::class, // <-- add this line at the end of provider array
],
'aliases' => [
  ...
  'Gateway' => Vandar\Gateway\Gateway::class, // <-- add this line at the end of aliases array
]

步骤3

php artisan vendor:publish --provider=Vandar\Gateway\GatewayServiceProvider

步骤4

php artisan migrate

配置文件位于config/gateway.php中,打开它并输入您的银行凭证

您可以通过多种方式连接到银行(外观,服务容器)

try {
   
   $gateway = \Gateway::make(new \Vandar());

   // $gateway->setCallback(url('/path/to/callback/route')); You can also change the callback
   $gateway
        ->price(1000)
        // setShipmentPrice(10) // optional - just for paypal
        // setProductName("My Product") // optional - just for paypal
        ->ready();

   $refId =  $gateway->refId(); // شماره ارجاع بانک
   $transID = $gateway->transactionId(); // شماره تراکنش

  // در اینجا
  //  شماره تراکنش  بانک را با توجه به نوع ساختار دیتابیس تان 
  //  در جداول مورد نیاز و بسته به نیاز سیستم تان
  // ذخیره کنید .
  
   return $gateway->redirect();
   
} catch (\Exception $e) {
   
   	echo $e->getMessage();
}

您可以通过以下方式调用网关

  1. Gateway::make(new Vandar());
  2. Gateway::Vandar()
  3. app('gateway')->make(new Vandar());
  4. app('gateway')->Vandar();

price方法中,您应输入以IRR(里亚尔)为单位的金额

并在您的回调中

try { 
   
   $gateway = \Gateway::verify();
   $trackingCode = $gateway->trackingCode();
   $refId = $gateway->refId();
   $cardNumber = $gateway->cardNumber();
   
    // تراکنش با موفقیت سمت بانک تایید گردید
    // در این مرحله عملیات خرید کاربر را تکمیل میکنیم

} catch (\Vandar\Gateway\Exceptions\RetryException $e) {

    // تراکنش قبلا سمت بانک تاییده شده است و
    // کاربر احتمالا صفحه را مجددا رفرش کرده است
    // لذا تنها فاکتور خرید قبل را مجدد به کاربر نمایش میدهیم
    
    echo $e->getMessage() . "<br>";
    
} catch (\Exception $e) {
   
    // نمایش خطای بانک
    echo $e->getMessage();
}  

如果您有兴趣开发此包,您可以通过以下方式帮助我们

  1. 改进文档。
  2. 报告问题或错误。

此包基于PoolPort扩展,但我们已更改了一些功能并进行了改进。