imusicjj/quickpay-php-client

用于与支付提供商QuickPay通信的PHP-SDK

2.0.2 2021-12-01 07:01 UTC

README

quickpay-php-clientQuickPay 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 方法和端点。当前支持的方法有:getpostputpatchdelete

// 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()asObjectasArray()

// 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