fareipay/gateway

FahiPay 支付网关客户端

1.0.0 2023-08-15 16:11 UTC

This package is auto-updated.

Last update: 2024-09-16 02:38:34 UTC


README

FahiPay 支付网关客户端是一个 PHP 库,提供了与 FahiPay 支付网关 API 交互的接口。它允许您轻松使用 FahiPay 提供的 API 创建交易并查询特定交易。

功能

  • 使用 FahiPay 提供的 API 轻松创建交易。
  • 通过交易 ID 查询特定交易。
  • 自动计算和生成所需的数字签名。
  • 在响应中验证签名。

安装

您可以使用 Composer 安装 FahiPay Gateway 客户端。

composer require fahipay/gateway

使用方法

创建交易

要创建交易,请使用您的 FahiPay 凭据和 URL 初始化 FPG(FahiPay 支付网关)客户端,然后调用 createTransaction 方法。您可以从 https://fahipay.mv/merchants/portal/ 获取凭证。

以下是一个示例

$merchantId     = 'your_merchant_id';
$secretKey      = 'your_secret_key';
$returnUrl      = 'https://example.com/success';
$returnErrorUrl = 'https://example.com/error';
$cancelUrl      = 'https://example.com/cancel';

$apiClient      = new FahiPay\Gateway($merchantId, $secretKey, $returnUrl, $returnErrorUrl, $cancelUrl);
$response       = $apiClient->createTransaction('TXN001', 10.03); // Unique transaction id, Amount in MVR (2dp)
print_r($response);
/*
{
  "type": "success",
  "link": "https://fahipay.mv/pay/L2XXXXXXXXXXXXXXXXXX"
}
*/

查询特定交易

要查询特定交易,请向 getTransaction 方法提供交易 ID。以下是一个示例

$transactionId = 'TXN001'; // Replace with the actual transaction ID
$queryResponse = $apiClient->getTransaction($transactionId);

print_r($queryResponse);
/*
{
  "type": "success",
  "data": {
    "time": "2023-08-15 21:29:05",
    "method": "gateway",
    "mref": "TXN001",
    "amount": 10.03,
    "fee": 0.0,
    "link": "https://fahipay.mv/pay/L2XXXXXXXXXXXXXXXXXX",
    "extras": null,
    "status": "pending",
    "ApprovalCode": null
  }
}
*/

验证签名

要验证从 FahiPay 收到的签名,请向 validateSignature 方法提供从 FahiPay 收到的签名、交易 ID、成功(状态)和审批码。以下是一个示例

$success          = $_GET['Success'];
$transactionId    = $_GET['ShoppingCartID'];
$approvalCode     = $_GET['ApprovalCode'];
$signature        = $_GET['Signature'];
$isValidSignature = $apiClient->validateSignature($success,$transactionId,$approvalCode,$signature);

print_r($isValidSignature); //returns true or false