payments / qnb-payment
QNB支付集成
dev-master
2020-07-22 23:05 UTC
Requires
- php: >= 5.6
This package is not auto-updated.
Last update: 2024-09-27 05:55:49 UTC
README
QNB支付集成包是一个通过QNB银行进行集成支付的包。
安装
要安装包,请使用composer
composer require payments/qnb-payment:dev-master
添加服务提供者及别名
将以下服务提供者添加到config/app.php
中的数组中:
Payments\QNBPayment\Providers\QNBPaymentProvider::class
将以下别名添加到config/app.php
中的数组中:
'QNBPayment' => Payments\QNBPayment\Providers\Facades\QNBPayment::class
发布配置文件
php artisan vendor:publish
配置文件名为BankPayment.php
,它返回一个支付选项数组,如apiOperation, currency, ApiUrl
。
使用方法
// Create Session for Payment SandBox Mode QNBPayment::createSessionSandBox(); // Create Session for Payment Live Mode QNBPayment::createSessionLive(); // Start Payment via MasterCard or Visa in SandBox Mode QNBPayment::createPaymentSandBox(); // Start Payment via MasterCard or Visa in Live Mode QNBPayment::createPaymentLive(); // Get Order Details in SandBox Mode QNBPayment::getOrderDetailsSandBox(); // Get Order Details in Live Mode QNBPayment::getOrderDetailsLive(); // Start Payment via Meeza Digital in SandBox Mode QNBPayment::createPaymentMeezaSandBox(); // Start Payment via Meeza Digital in Live Mode QNBPayment::createPaymentMeezaLive();
沙箱模式下通过Master Card或Visa进行支付的方法示例
// Create Session for Payment $sessionID = QNBPayment::createSessionSandBox('125550', 'TESTQNBAATEST001', '9c6a123857f1ea50830fa023ad8c8d1b'); // Start Payment via MasterCard or Visa {!! QNBPayment::createPaymentSandBox('success.php', 'fail.php', 'TESTQNBAATEST001', '125550', 20.00, $sessionID, 'Test QNB', 'Cairo', 'ahmedtaherinfo0@gmail.com', 0123456789, 'https://yourdomian.com/images/logo.png') !!} // Get Order Details dd(QNBPayment::getOrderDetailsSandBox('125550', 'TESTQNBAATEST001', '9c6a123857f1ea50830fa023ad8c8d1b'));
创建会话应包含
- 您的系统中的订单ID,例如:'125550'。
- QNB系统中的商户ID,例如:'TESTQNBAATEST001'。
- QNB系统中的商户密码,例如:'9c6a123857f1ea50830fa023ad8c8d1b'。
创建会话方法的响应
- 创建和检索会话ID。
创建支付方法应包含
- 请求成功完成后的成功URL,您将被重定向到该URL。
- 请求失败完成后的失败URL,您将被重定向到该URL。
- QNB系统中的商户ID,例如:'TESTQNBAATEST001'。
- 您的系统中的订单ID,例如:'125550'。
- 订单的总价格,例如:'20.00'。
- 会话ID,您可以在上一步创建,可以通过创建会话方法获取。
- 站点名称,例如:'Test QNB'。
- 站点地址,例如:'开罗',您可以设置为null。
- 站点电子邮件,例如:ahmedtaherinfo0@gmail.com,您可以设置为null。
- 站点电话,例如:'0123456789',您可以设置为null。
- 站点Logo URL,例如:https://yourdomian.com/images/logo.png,您可以设置为null。
获取订单详情应包含
- 您的系统中的订单ID,例如:'125550'。
- QNB系统中的商户ID,例如:'TESTQNBAATEST001'。
- QNB系统中的商户密码,例如:'9c6a123857f1ea50830fa023ad8c8d1b'。
获取订单详情的响应
- 支付的所有信息,例如:'支付方式,总价,卡号,交易日期,...'
沙箱模式下通过Meeza Digital进行支付的方法示例
// Start Payment via Meeza Digital {!! createPaymentMeezaSandBox('success.php', 'fail.php', 10000001117, 100083, 123456, 80) !!}
创建支付方法应包含
- 请求成功完成后的成功URL,您将被重定向到该URL。
- 请求失败完成后的失败URL,您将被重定向到该URL。
- 从UPG配置的商户ID,例如:'10000001117'。
- 为商户配置的UPG终端ID,例如:'100083'。
- 您系统中的订单ID,例如:'123456'。
- 订单的总价格,例如:'80.00'。
完成支付的响应
- 通过Ajax Post Data将支付信息发送到成功URL。
失败支付的响应
- 重定向到失败URL。
贡献
- 对于重大更改,请首先打开一个问题来讨论您想进行什么更改。
- 请确保适当更新测试。