moniruzzaman17/lara-nagad

Laravel nagad支付包

1.05 2021-08-25 13:24 UTC

This package is not auto-updated.

Last update: 2024-10-03 04:56:41 UTC


README

lara-nagad 孟加拉国Nagad

Laravel Nagad支付 BD

安装

composer require moniruzzaman17/lara-nagad

设置

1 ) vendor publish (配置)

php artisan vendor:publish --provider="Moniruzzaman\Nagad\NagadServiceProvider" --tag=config

1.1 ) 如果您使用的是Laravel 5.4之前的版本,请在config/app.php文件中手动注册服务提供者

Moniruzzaman\Nagad\NagadServiceProvider::class

2 ) 配置设置

  • config/nagad.php
<?php

return [
    'sandbox_mode' => env('NAGAD_MODE', 'sandbox'),
    'merchant_id' => env('NAGAD_MERCHANT_ID','683002007104225'),
    'merchant_number' => env('NAGAD_MERCHANT_NUMBER','01711428036'),
    'callback_url' => env('NAGAD_CALLBACK_URL', 'http://127.0.0.1:8000/nagad/callback'),
    'public_key' => env('NAGAD_PUBLIC_KEY',''),
    'private_key' => env('NAGAD_PRIVATE_KEY','')
];

环境设置

NAGAD_MERCHANT_ID=683002007104225
NAGAD_MERCHANT_NUMBER=01711428036
NAGAD_CALLBACK_URL=http://127.0.0.1:8000/nagad/callback
NAGAD_MODE=sandbox // sandbox or live
NAGAD_PUBLIC_KEY="" //sandbox <optional>
NAGAD_PRIVATE_KEY=""  // sandbox <optional>

使用

获取回调URL

<?php
use NagadPayment;

$redirectUrl = NagadPayment::tnxID($id)
             ->amount($amount)
             ->getRedirectUrl();
return $redirectUrl;

验证支付 // 回调

<?php
use NagadPayment;

$verify = (object) NagadPayment::verify();
if($verify->status === 'Success'){
    $order = json_decode($verify->additionalMerchantInfo);
    $order_id = $order->tnx_id;
    // your functional task with order_id
}
if ($verify->status === 'Aborted') {
    dd($verify);
    // redirect or other what you want
}
dd($verify);

注意

~沙盒

  • 需要一个商户账户。
  • 注册一个Nagad号码并需要沙盒余额(联系Nagad)

~实时

  • 需要一个商户账户(实时服务器)
  • 联系Nagad并提供您的实时服务器IP地址。
  • 提供Nagad办公室的支持ID($sid)

实时模式提示

沙盒工作正常,但您将项目部署到服务器上时无法收到任何响应且支付系统不工作

如何在服务器上启用Nagad网关

  • 联系Nagad,提供您的IP和从临时路由get-support-id获得的支撑ID。Nagad将白名单您的IP并批准您的商户。现在您的Nagad网关在服务器上可以正常工作。

~临时路由(复制并粘贴)

Route::get('get-support-id',function(){
    $sid = NagadPayment::tnxID(1)
                 ->amount(100)
                 ->getSupportID();
    return $sid;
})

演示

任何疑问