imusicjj / quickpay-php-client
用于与支付提供商QuickPay通信的PHP-SDK
Requires
- php: >=8.0
- ext-curl: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2.1
- phpstan/phpstan: ^1.1.2
- phpunit/phpunit: ^9.5
- thecodingmachine/phpstan-strict-rules: ^1.0.0
This package is auto-updated.
Last update: 2024-09-14 04:01:14 UTC
README
quickpay-php-client
是 QuickPay API 的官方客户端。QuickPay API 允许您以安全可靠的方式接受支付。此包目前支持 QuickPay v10
API。
安装
Composer
如果您使用 Composer 来管理项目的依赖项,只需将 quickpay/quickpay-php-client 添加到项目的 composer.json 文件中即可。以下是一个 composer.json 文件的示例,它仅定义了对 QuickPay 最新稳定版本的依赖项。
{
"require": {
"quickpay/quickpay-php-client": "1.0.*"
}
}
手动上传
如果您无法使用 Composer 以及 Composer 自动加载器提供的所有好处,您可以将 /QuickPay/
上传到您的网络空间。然而,然后您需要自己管理类的自动加载。
使用方法
在执行任何操作之前,您应该通过 QuickPay 注册并获得访问凭证。如果您还没有,请点击此处申请。
创建一个新的客户端
首先,您应该创建一个匿名或授权的客户端实例,该实例使用 QuickPay 提供的 api_key
或登录凭证。
初始化匿名客户端
<?php use QuickPay\QuickPay; try { $client = new QuickPay(); } catch (Exception $e) { //... } ?>
使用 QuickPay API 密钥初始化客户端
<?php use QuickPay\QuickPay; try { $api_key = 'xxx'; $client = new QuickPay(":{$api_key}"); } catch (Exception $e) { //... } ?>
或者,您可以提供登录凭证,如下所示
<?php use QuickPay\QuickPay; try { $qp_username = 'xxx'; $qp_password = 'xxx'; $client = new QuickPay("{$qp_username}:{$qp_password}"); } catch (Exception $e) { //... } ?>
API 调用
之后,您可以调用 QuickPay API 中描述的任何方法,对应于相应的 HTTP 方法和端点。当前支持的方法有:get
、post
、put
、patch
和 delete
。
// Get all payments $payments = $client->request->get('/payments'); // Get specific payment $payments = $client->request->get('/payments/{id}'); // Create payment $form = array( 'order_id' => $order_id, 'currency' => $currency, ... ); $payments = $client->request->post('/payments', $form); $status = $payments->httpStatus(); if ($status == 201) { // Successful created }
处理响应
获取 HTTP 状态码
$response = $client->request->get('/payments'); $status = $response->httpStatus(); if ($status == 200) { // Successful request }
返回的响应对象支持三种返回响应体的方式:asRaw()
、asObject
和 asArray()
。
// Get the HTTP status code, headers and raw response body. list($status_code, $headers, $response_body) = $client->request->get('/payments')->asRaw(); // Get the response body as an object $response_body = $client->request->get('/payments')->asObject(); // Get the response body as an array $response_body = $client->request->get('/payments')->asArray(); // Example usage $payments = $client->request->get('/payments')->asArray(); foreach($payments as $payment) { //... }
有关 API 响应的更多信息,请参阅 http://tech.quickpay.net/api/。
测试
使用 composer 创建自动加载器
$ composer install $ phpunit