psyhomo/payprocessing-phpsdk

Platron 支付 SDK

v1.0.1 2023-12-13 14:01 UTC

This package is auto-updated.

Last update: 2024-09-13 15:55:26 UTC


README

安装

该项目建议使用 Composer 进行安装。

composer require payprocessing/phpsdk

测试

要运行测试,需要 PHPUnit,安装时请执行以下命令

composer require phpunit/phpunit

可以从项目根目录运行命令以启动单元测试

vendor/bin/phpunit tests/unit

要运行集成测试,需要复制 tests/integration/MerchantSettingsSample.php 文件,移除名称中的 Sample 并插入商店设置。然后从项目根目录执行命令

vendor/bin/phpunit tests/integration

使用示例

1. 创建交易

$client = new Platron\PhpSdk\request\clients\PostClient('82', 'sdvsfdvsfdvsdv');
try {
    $requestBuilder = new Platron\PhpSdk\request\request_builders\InitPaymentBuilder('10.00', 'Test transaction');
    $requestBuilder->addTestingMode()
        ->addUserEmail('test@test.ru')
        ->addUserPhone('79055770000')
        ->addPaymentSystem('TEST');
    $response = $client->request($requestBuilder);
}
catch (Platron\PhpSdk\Exception\Exception $e){
    var_dump($e);
    die();
}

2. 请求账单

$client = new Platron\PhpSdk\request\clients\PostClient('82', 'sdvsfdvsfdvsdv');
try {
    $requestBuilder = new Platron\PhpSdk\request\request_builders\GetRegistryBuilder(new DateTime('now - 1 day'));
    $response = $client->request($requestBuilder);
} catch (Platron\PhpSdk\Exception $e) {
    var_dump($e);
    die();
}

3. 执行清算

$client = new Platron\PhpSdk\request\clients\PostClient('82', 'sdvsfdvsfdvsdv');
try {
    $requestBuilder = new Platron\PhpSdk\request\request_builders\DoCaptureBuilder(323334422);
    $response = $client->request($requestBuilder);
} catch (Exception $e) {
    var_dump($e);
    die();
}

4. 处理来自 Platron 的请求(检查)

$order_available = 1;
$callback = new platron_sdk\callback\Callback('platron_dispatch.php', 'sdvsfdvsfdvsdv');
if ($callback->validateSig($request)) {
    try {
        if ($order_available) {
            echo $callback->responseOk($request);
        } elseif ($callback->canReject($request)) {
            echo $callback->responseRejected($request, 'Заказ недоступен');
        } else {
            echo $callback->responseOk($request);
            /*
             * Вернуть транзакцию через манибек систему или через заявку на возврат
             */
        }
    } catch (Platron\PhpSdk\samples $e) {
        echo $callback->responseError($request, 'Невозможно принять запрос. Повторите еще раз');
    }
}

$order_available - 应该是检查订单是否可用的方法,而不是变量