bawes / myfatoorah-php
MyFatoorah PHP 库
1.0.0
2018-11-01 09:37 UTC
Requires
- php: >=5.4.0
- ext-curl: *
This package is auto-updated.
Last update: 2024-09-29 04:49:03 UTC
README
安装
安装此库的首选方式是通过composer。
运行以下命令之一
$ composer require bawes/myfatoorah-php
或将以下内容添加到您的应用composer.json
文件的require部分。
"bawes/myfatoorah-php": "^1.0"
使用方法
首先,我们需要确定我们想要使用哪个环境
步骤 1: 根据环境初始化
测试环境
<?php use bawes/myfatoorah/MyFatoorah; $my = MyFatoorah::test();
实时环境
<?php use bawes/myfatoorah/MyFatoorah; $merchantCode = "[Your merchant code here]"; $username = "[Your merchant username here]"; $password = "[Your merchant password here]"; $my = MyFatoorah::live($merchantCode, $username, $password);
步骤 2: 请求支付链接并重定向到它
<?php use bawes/myfatoorah/MyFatoorah; $merchantCode = "[Your merchant code here]"; $username = "[Your merchant username here]"; $password = "[Your merchant password here]"; $my = MyFatoorah::live($merchantCode, $username, $password); $my->setPaymentMode(MyFatoorah::GATEWAY_ALL) ->setReturnUrl("https://google.com") ->setErrorReturnUrl("https://google.com") ->setCustomer("Khalid", "customer@email.com", "97738271") ->setReferenceId() //Pass unique order number or leave empty to use time() ->addProduct("iPhone", 5.350, 3) ->addProduct("Samsung", 12.000, 1) ->getPaymentLinkAndReference(); $paymentUrl = $my['paymentUrl']; $myfatoorahRefId = $my['paymentRef']; //good idea to store this for later status checks // Redirect to payment url header("Location: $paymentUrl"); die();
步骤 3: 请求订单状态以确认支付状态
使用MyFatoorah::getOrderStatus($referenceId)
来获取支付状态的更新。最佳调用时机是在从MyFatoorah的returnUrl或errorReturnUrl收到回调之后。您也可以在本地存储参考ID后手动调用此函数。
示例订单状态请求
<?php use bawes/myfatoorah/MyFatoorah; // Example Ref ID $myfatoorahRefId = $_GET['id']; // Order status on Test environment $orderStatus = MyFatoorah::test() ->getOrderStatus($myfatoorahRefId); // Order status on Live environment $merchantCode = "[Your merchant code here]"; $username = "[Your merchant username here]"; $password = "[Your merchant password here]"; $orderStatus = MyFatoorah::live($merchantCode, $username, $password) ->getOrderStatus($myfatoorahRefId);
订单状态响应(成功)
<?php $orderStatus = [ 'responseCode' => '0', //MyFatoorah::REQUEST_SUCCESSFUL 'responseMessage' => 'SUCCESS', 'result' => 'CAPTURED', // Successful payment fields 'payMode' => 'KNET', 'orderId' => '1085183', 'payTransactionId' => '673386261283050', 'grossAmountPaid' => '32.500', 'netAmountToBeDeposited' => '32.300', // User defined fields 'udf1' => '', 'udf2' => '', 'udf3' => '', 'udf4' => '', 'udf5' => '' ]
订单状态响应(失败)
<?php $orderStatus = [ 'responseCode' => '2009', 'responseMessage' => 'Transaction Failed Messages', 'result' => 'Payment Server detected an error', // User defined fields 'udf1' => '', 'udf2' => '', 'udf3' => '', 'udf4' => '', 'udf5' => '' ]
支付网关
通过将MyFatoorah
类上可用的GATEWAY常量传递给MyFatoorah::setPaymentMode
来配置您希望使用的网关。
MyFatoorah::GATEWAY_ALL
- 生成的链接将发送到包含所有支付方式的MyFatoorah页面MyFatoorah::GATEWAY_KNET
- 生成的链接将用户直接发送到KNET门户MyFatoorah::GATEWAY_VISA_MASTERCARD
- 生成的链接将用户直接发送到VISA/MASTER门户MyFatoorah::GATEWAY_SAUDI_SADAD
- 生成的链接将用户直接发送到Sadad Saudi门户MyFatoorah::GATEWAY_BAHRAIN_BENEFIT
- 生成的链接将用户直接发送到BENEFIT BAHRAIN门户MyFatoorah::GATEWAY_QATAR_QPAY
- 生成的链接将用户直接发送到Qpay Qatar门户MyFatoorah::GATEWAY_UAECC
- 生成的链接将用户直接发送到UAE借记卡门户
使用示例
<?php use bawes/myfatoorah/MyFatoorah; $my = MyFatoorah::live($merchantCode, $username, $password); $my->setPaymentMode(MyFatoorah::GATEWAY_ALL)
测试卡
这些卡只有在使用MyFatoorah::test()
环境初始化时才会工作。