razu/nagad

Laravel Nagad支付网关包

v1.0.0 2021-01-20 11:17 UTC

This package is auto-updated.

Last update: 2024-09-19 10:38:04 UTC


README

安装

composer require razu/nagad

设置

1 ) vendor publish (配置)

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

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 NagadPaymentGateway;

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

ipn // 验证支付

<?php
use NagadPaymentGateway;

$verify = (object) NagadPaymentGateway::ipn();
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地址。

有任何疑问