rahulreghunath / nttdatapay
nttdatapay 支付网关集成在 Laravel 中
1.1.0-beta
2022-09-28 11:32 UTC
This package is not auto-updated.
Last update: 2024-09-25 21:32:45 UTC
README
Laravel 对 NTT DATA PAY 支付网关的集成。
安装
使用 composer install 安装该包。
composer require rahulreghunath/nttdatapay
运行命令以发布配置文件。
php artisan vendor:publish --provider="Rahulreghunath\Nttdatapay\ServiceProvider"
配置
在 config/nttdatapay.php
文件中设置凭证和配置。
请注意,配置将因测试和生产环境而异,并由 NTT DATA 提供。
使用方法
创建令牌 ID
使用 createTokenId($data)
方法创建令牌 ID 以发起支付请求。
示例数据
$data = [ "payInstrument" => [ "headDetails" => [ "version" => "OTSv1.1", "api" => "AUTH", "platform" => "FLASH" ], "merchDetails" => [ "merchTxnId" => "Test123450", "merchTxnDate" => "2021-09-04 20:46:00" ], "payDetails" => [ "amount" => "1", "product" => "PRODUCT", // optional value "custAccNo" => "ACC NO", // optional value "txnCurrency" => "INR" ], "custDetails" => [ "custEmail" => "user@email.com", "custMobile" => "0000000000" ], "extras" => [ "udf1" => "", // optional value "udf2" => "", // optional value "udf3" => "", // optional value "udf4" => "", // optional value "udf5" => "" // optional value ] ] ];
$payment = new Atom(); $atomTokenId = $payment->createTokenId($data);
调用 JavaScript API
使用 Atom 令牌 ID 调用 JavaScript API
<button onclick="pay()">Pay</button> <script src="CDN provided by NTT DATA"></script> <script> const pay=()=>{ const options = { atomTokenId: "atomTokenId ", // token id get from atom merchId: "000000", // merchant id custEmail: "customer-email", custMobile: "customer-mobile", returnUrl: "your-response-url" } const atom = new AtomPaynetz(options,'uat'); } </script>
必填的 JavaScript CDN 链接将由 NTT DATA 提供,并且生产环境和测试环境不同。
检查交易状态
使用 transactionStatus($merTxn,$amt,$date)
方法检查支付状态。
$payment = new Atom(); $response = $payment->transactionStatus($merchantTransactionId,$amount,$date);
解密响应
使用 decrypt($data)
解密来自 Atom 的响应消息。
$payment = new Atom(); $jsonData = $payment->decrypt($encryptedData,$digest_algo="sha512");
默认使用的散列算法是 sha512
,可以根据 NTT DATA 的规范使用不同的算法。