payprocessing / phpsdk
Platron 支付 SDK
2.1.2
2021-06-17 15:39 UTC
Requires
- php: >=5.3
- ext-curl: *
- ext-simplexml: *
- psr/log: ^1.0
Requires (Dev)
- php: >=5.6
- phpunit/phpunit: ^5.7
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 - 应该是一个方法,用于检查订单是否可支付