xenon/nagad-api

这是一个用于PHP应用程序的孟加拉国nagad支付网关API开发库。此库可以轻松用作包依赖项。

v1.9.2.3 2023-06-07 17:35 UTC

README

Nagad api php xenon nagad api

Xenon/NagadApi

功能

  • 易于安装
  • 易于处理支付
  • 基于Composer的安装
  • 验证支付
  • 演示发票代码生成

使用Composer安装

composer require xenon/nagad-api

示例代码

<?php

use Xenon\NagadApi\Helper;
use Xenon\NagadApi\Base;

require 'vendor/autoload.php';

/**
 * ==============================================================================
 * all configuration are used here for demo purpose.
 * for use in dev mode use 'development'
 * for use in production mode use 'production'
 * ===============================================================================
 **/
$config = [
    'NAGAD_APP_ENV' => 'development', // development|production
    'NAGAD_APP_LOG' => '1',
    'NAGAD_APP_ACCOUNT' => '016XXXXXXXX', //demo
    'NAGAD_APP_MERCHANTID' => '6800000025', //demo
    'NAGAD_APP_MERCHANT_PRIVATE_KEY' => 'MIIEvFAAxN1qfKiRiCL720FtQfIwPDp9ZqbG2OQbdyZUB8I08irKJ0x/psM4SjXasglHBK5G1DX7BmwcB/PRbC0cHYy3pXDmLI8pZl1NehLzbav0Y4fP4MdnpQnfzZJdpaGVE0oI15l',
    'NAGAD_APP_MERCHANT_PG_PUBLIC_KEY' => 'MIIBIjANBc54jjMJoP2toR9fGmQV7y9fzj',
    'NAGAD_APP_TIMEZONE' => 'Asia/Dhaka',
];

$nagad = new Base($config, [
    'amount' => 10,
    'invoice' => Helper::generateFakeInvoice(15, true),
    'merchantCallback' => 'https://example.com/payment/success/id=4',
]);

方法-1 : 用于网站

$status = $nagad->payNow($nagad); //will redirect to payment page

方法-2 : 返回重定向URL。您可以根据需要使用此URL

$paymentUrl = $nagad->payNowWithoutRedirection($nagad); //will return payment url like below. You can use that url and do whatever u want to get payment from clients. 
http://sandbox.mynagad.com:10060/check-out/MDYyODAwNTcyNTYxNi42ODMwMDIwMDcxMDQyMjUuOU5PTEFVNkVaWkdUWVRBLmJiZGMyNTE3MTVmZTNiNjIzN2Zk

之后,使用以下方法提取支付响应,它将返回一个数组

$successUrl = 'https://example.com/payment/success/id=4/?merchant=683XXXX225&order_id=CKH060JXXXXXFRA2&payment_ref_id=MXXXXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=&status=Success&status_code=00_0000_000&message=Successful%20Transaction&payment_dt=20211123235008&issuer_payment_ref=MTEyMzIzNDg1NzUwOS42ODMwMDIwMDcxMDQyMjUuQ0tIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=';
$response = Helper::successResponse("$successUrl");

Array
(
    [merchant] => 683XXXX225
    [order_id] => CKH060JXXXXXFRA2
    [payment_ref_id] => MXXXXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=
    [status] => Success
    [status_code] => 00_0000_000
    [message] => Successful Transaction
    [payment_dt] => 20211123235008
    [issuer_payment_ref] => MTEyMzIzNDg1NzUwOXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=
)

对于支付验证,使用以下方法。您将获得以下JSON作为响应。

$helper = new Helper($config);
$response = $helper->verifyPayment($response['payment_ref_id']);

支付验证响应

{
	merchantId: "683XXXX225",
	orderId: "CKH060JXXXXXFRA2",
	paymentRefId: "MXXXXXXXXtIMDYwSjFRSlBRMUZSQTIuMTg0NTE2Yzc3ZmEzNmEwZTJlZjk=",
	amount: "16",
	clientMobileNo: "016****5428",
	merchantMobileNo: "01XXXXXXX10",
	orderDateTime: "2021-11-23 23:48:22.0",
	issuerPaymentDateTime: "2021-11-23 23:50:08.0",
	issuerPaymentRefNo: "000XXXW",
	additionalMerchantInfo: null,
	status: "Success",
	statusCode: "000",
	cancelIssuerDateTime: null,
	cancelIssuerRefNo: null
}

维护者

贡献者

重要信息

沙盒环境

  1. 需要沙盒详细信息进行沙盒测试。检查您从nagad当局收到的电子邮件
  2. 使用沙盒详细信息,例如pgpublickey、privatekey、merchant-id进行沙盒测试
  3. 您需要注册一个手机号码进行沙盒测试。请联系您的账户经理进行此操作
  4. 在上线之前,您应该测试测试环境

生产环境

  1. 需要生产详细信息进行最终生产。您将通过电子邮件获得这些信息
  2. 在运行生产之前,您的服务器IP/域名和回调URL应该被列入白名单。您可以使用电子邮件或其他系统联系nagad团队

登录您的 Nagad商户面板

https://auth.mynagad.com:10900/authentication-service-provider-1.0/login

步骤1: 在商户门户中,转到“商户管理”菜单下的“商户集成详情”。您将获得商户ID,这是您的集成商户ID。

然后,点击“生成密钥”并下载商户私钥和商户公钥。

步骤2: _转到“商户管理”菜单下的“商户集成”。输入您的回调URL并上传步骤1中下载的商户公钥。添加并提交!_

步骤3: _使用生产详细信息。您必须使用您下载的公钥和私钥!_

  1. 如果您有任何问题/查询,请通过电子邮件联系我 arif98741@gmail.com
  2. 编写代码,疯狂一点

### 如果您发现任何类型的问题或错误,强烈建议您报告。对于报告,请使用[问题选项](https://github.com/arif98741/nagadApi/issues)。您也可以添加拉取请求。对于拉取请求,您应该使用**dev**分支。因为我们的**master**分支目前正在为社区的使用提供服务。我们不想搞砸

许可协议

MIT