psyhomo / payprocessing-phpsdk
Platron 支付 SDK
v1.0.1
2023-12-13 14:01 UTC
Requires
- php: >=8.0
- ext-curl: *
- ext-simplexml: *
- psr/log: ^1.0 || ^3.0
Requires (Dev)
- phpunit/phpunit: ^8.0 || ^9.0
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 - 应该是检查订单是否可用的方法,而不是变量