payments/qnb-payment

dev-master 2020-07-22 23:05 UTC

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。

贡献

  • 对于重大更改,请首先打开一个问题来讨论您想进行什么更改。
  • 请确保适当更新测试。

许可证

GNU通用公共许可证