fasterpay/fasterpay-php

FasterPay PHP SDK 使您能够无缝集成 FasterPay 的结账页面,无需从头开始集成所有内容。

1.3.0 2019-12-23 03:52 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:20:13 UTC


README

FasterPay PHP SDK 使您能够无缝集成 FasterPay 的结账页面,无需从头开始集成所有内容。一旦您的客户准备付款,FasterPay 将处理付款,通知您的系统关于付款的信息,并将客户返回到您的感谢页面。

下载 FasterPay PHP SDK

$ git clone https://github.com/FasterPay/fasterpay-php.git

为您的项目设置 PHP SDK

$ cp fasterpay-php path-to-project/lib/fasterpay-php

使用 PHP SDK 启动支付请求

<?php

require_once('fasterpay-php/lib/autoload.php');

$gateway = new FasterPay\Gateway([
    'publicKey' => '<your-public-key>',
    'privateKey' => '<your-private-key>',
    'isTest' => 0, // Use 1 for Test Method
]);

$form = $gateway->paymentForm()->buildForm(
    [
        'description' => 'Test order',
        'amount' => '10',
        'currency' => 'USD',
        'merchant_order_id' => time(),
        'success_url' => 'https://yourcompanywebsite.com/success',
        'pingback_url' => 'https://yourcompanywebsite.com/pingback',
        'sign_version' => 'v2' // to use version 1 please skip this param or set it 'v1'
    ],
    [
        'autoSubmit' => false,
        'hidePayButton' => false
    ]
);

echo $form;

有关 API 参数的更多信息,请参阅我们的完整 API 文档此处

处理 FasterPay Pingbacks

<?php

require_once('fasterpay-php/lib/autoload.php');

$gateway = new FasterPay\Gateway([
    'publicKey' => '<your-public-key>',
    'privateKey' => '<your-private-key>',
    'isTest' => 0, // Use 1 for Test Mode
]);

$signVersion = \FasterPay\Services\Signature::SIGN_VERSION_1;
if (!empty($_SERVER['HTTP_X_FASTERPAY_SIGNATURE_VERSION'])) {
    $signVersion = $_SERVER['HTTP_X_FASTERPAY_SIGNATURE_VERSION'];
}

$pingbackData = null;
$validationParams = [];

switch ($signVersion) {
    case \FasterPay\Services\Signature::SIGN_VERSION_1:
        $validationParams = ["apiKey" => $_SERVER["HTTP_X_APIKEY"]];
        $pingbackData = $_REQUEST;
        break;
    case \FasterPay\Services\Signature::SIGN_VERSION_2:
        $validationParams = [
            'pingbackData' => file_get_contents('php://input'),
            'signVersion' => $signVersion,
            'signature' => $_SERVER["HTTP_X_FASTERPAY_SIGNATURE"],
        ];
        $pingbackData = json_decode(file_get_contents('php://input'), 1);
        break;
    default:
        exit('NOK');
}

if (empty($pingbackData)) {
    exit('NOK');
}

if (!$gateway->pingback()->validate($validationParams)) {
    exit('NOK');
}

//echo "<pre>";
//print_r($pingbackData);
//echo '</pre>';
#TODO: Write your code to deliver contents to the End-User.
echo "OK";
exit();

FasterPay 测试模式

FasterPay 有一个名为“测试模式”的沙盒环境。测试模式是一个虚拟测试环境,它是实时 FasterPay 环境的精确副本。这允许企业在不进入实时环境的情况下集成和测试支付流程。企业可以创建一个 FasterPay 账户,打开 测试模式 并开始使用测试集成密钥集成小部件。

在测试模式下启动 FasterPay 网关

<?php

require_once('fasterpay-php/lib/autoload.php');

$gateway = new FasterPay\Gateway([
    'publicKey' => '<your-public-key>',
    'privateKey' => '<your-private-key>',
    'isTest' => 1
]);

有问题?