paymentsws/php-sdk

PaymentsWs PHP-SDK 客户端

dev-master 2020-09-28 23:45 UTC

README

官方 PaymentsWs API 的 PHP 绑定

SDK 文档

简介

在我们系统中发生的每个请求都将返回一个 operationId,该 ID 表示操作已被处理并记录在我们的系统中,您将能够通过我们的后台管理门户跟踪每个请求。

要求

  • 我们服务提供的有效 PaymentsWs APIKey。
  • PHP >= 5.6

入门

将 PaymentsWs PHP-SDK 导入您的代码库。

以下是一些示例,说明如何将您的系统与 PaymentsWs 集成。此外,您还可以查看此 SDK 的 /examples 文件夹中提供的示例。

初始化核心 PaymentsWs SDK

目前 PaymentsWsClient 对象支持两种不同的模式

  • 沙箱模式(用于集成或进行测试)(如果没有提供任何信息,则默认使用沙箱模式)
  • 实时模式(用于上线生产)

要手动启用沙箱模式,请使用以下参数初始化 PaymentsWsClient

  new PaymentswsClient("YOUR_API_KEY", PaymentswsClientModes::SANDBOX);

要启用实时模式(生产),请使用以下参数初始化 PaymentsWsClient

  new PaymentswsClient("YOUR_API_KEY", PaymentswsClientModes::LIVE);
代码片段
use PaymentsWs\PaymentswsClient;
use PaymentsWs\PaymentswsClientModes;
use PaymentsWs\TokenService;

$PaymentsWsClient = new PaymentswsClient("YOUR_API_KEY", PaymentswsClientModes::SANDBOX);
$tokenService = new TokenService($PaymentsWsClient);

在沙箱环境中生成基本令牌化($tokenService->tokenize)

此方法将敏感数据令牌化到 PaymentsWs 服务器。

令牌化方法接受任何类型的数据(整数、字符串、对象、数组等)。

代码片段
$importantData = [
    'pan' => '4100123412341234',
    'expirationDate' => '12/22',
    'cardHolder' => 'John Doe',
];
$tokenResult = $tokenService->tokenize($importantData);
print_r($tokenResult);

// ----------------------------------------------
// Print $tokenResult example
// ----------------------------------------------
// stdClass Object
// (
//    [statusCode] => 201
//    [message] => success
//    [operationId] => aad8d262-2537-4c8d-a687-95d2928ad67f
//    [items] => stdClass Object
//        (
//            [token] => 317f16a3-1049-44f5-94e2-e9979a7a7322
//        )
//
//)

获取存储的令牌数据($tokenService->detokenize)

此方法向我们的系统发送请求以获取存储的指定令牌的数据。应传递有效且存在的令牌。

如果传递了格式错误的令牌:将返回 HTTP 400 错误。

如果令牌有效但未在我们的系统中找到:将返回 HTTP 404 错误。

代码片段
$result = $tokenService->detokenize("317f16a3-1049-44f5-94e2-e9979a7a7322");
print_r($result);

// ----------------------------------------------
// Print $result example
// ----------------------------------------------
// stdClass Object
// (
//     [statusCode] => 200
//     [message] => success
//     [operationId] => 9b466ce8-1c16-4e13-8871-0a07a2be78ba
//     [items] => stdClass Object
//         (
//             [data] => stdClass Object
//                 (
//                     [pan] => 4100123412341234
//                     [expirationDate] => 12/22
//                     [cardHolder] => John Doe
//                 )
// 
//         )
// 
// )

验证令牌($tokenService->validate)

此方法允许客户端了解令牌是否存在于我们的系统中。

如果令牌有效且在我们的系统中找到:将返回 HTTP 200 OK 响应,其中数据字段 valid = 1。

如果传递了格式错误的令牌:将返回 HTTP 400 错误。

代码片段
$result = $tokenService->validate("317f16a3-1049-44f5-94e2-e9979a7a7322");
print_r($result);

// ----------------------------------------------
// Print $result example
// ----------------------------------------------
// stdClass Object
// (
//     [statusCode] => 200
//     [message] => success
//     [operationId] => 55889f50-eff8-4536-888a-6beaeec4c36c
//     [items] => stdClass Object
//         (
//             [valid] => 1
//         )
// 
// )

删除令牌($tokenService->delete)

此方法向我们的系统发送请求以删除令牌。

如果令牌有效且在我们的系统中找到:将返回 HTTP 200 OK 响应,其中 delete 字段 = 1。

如果传递了格式错误的令牌:将返回 HTTP 400 错误。

代码片段
$result = $tokenService->delete("317f16a3-1049-44f5-94e2-e9979a7a7322");
print_r($result);

// ----------------------------------------------
// Print $result example
// ----------------------------------------------
// stdClass Object
// (
//     [statusCode] => 200
//     [message] => success
//     [operationId] => e9235437-4517-4140-a419-5ba83f7b71ad
//     [items] => stdClass Object
//         (
//             [deleted] => 1
//         )
// 
// )

异常

所有异常应由失败响应中存在的 statusCode 处理

代码片段
// stdClass Object
// (
//     [statusCode] => 404
//     [error] => Not Found
//     [message] => Cannot PUT /v1/tokens//validate
// )

PaymentsWs (c) 2020