yesypay/php-sdk

YesyPay PHP-SDK 客户端

dev-master 2018-08-05 22:12 UTC

This package is not auto-updated.

Last update: 2024-09-26 11:39:34 UTC


README

YesyPay API 的官方 PHP 绑定

SDK 文档

简介

我们系统上发生的每个请求都将返回一个 operationId,表示该操作已被处理并记录在我们的系统中。

要求

  • 由我们的服务提供的一个有效的 YesyPay APIKey。
  • PHP >= 5.6

开始使用

将 YesyPay PHP-SDK 导入到您的代码库中。

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

初始化核心 YesyPay SDK

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

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

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

  new YesyPayClient("YOUR_API_KEY", YesyPayClientModes::SANDBOX);

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

  new YesyPayClient("YOUR_API_KEY", YesyPayClientModes::LIVE);
代码片段
use YesyPay\YesyPayClient;
use YesyPay\YesyPayClientModes;
use YesyPay\TokenService;

$yesyPayClient = new YesyPayClient("YOUR_API_KEY", YesyPayClientModes::SANDBOX);
$tokenService = new TokenService($yesyPayClient);

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

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

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

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

// ----------------------------------------------
// Print $tokenResult example
// ----------------------------------------------
//
// stdClass Object
//  (
//      [token] => 5af11bb4-650e-453c-aeab-28dea5059ee2
//      [operationId] => 8e600471-cee0-4342-a358-fe8477279fd8
//  )

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

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

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

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

代码片段
$result = $tokenService->detokenize("5af11bb4-650e-453c-aeab-28dea5059ee2");
print_r($result);

// ----------------------------------------------
// Print $result example
// ----------------------------------------------
//
// stdClass Object
// (
//    [data] => stdClass Object
//        (
//            [pan] => 4100123412341234
//            [expirationDate] => 12/22
//            [cardHolder] => John Doe
//        )
//
//     [operationId] => 7cb24908-7f02-4692-b798-0d451b1d33d3
// )

验证令牌($tokenService->validate)

此方法允许开发人员知道令牌是否在我们的系统中。

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

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

如果令牌有效但未在系统中找到:将返回 HTTP 200 OK,其中数据字段 valid 为空、null 或 false。

代码片段
$result = $tokenService->detokenize("5af11bb4-650e-453c-aeab-28dea5059ee2");
print_r($result);

// ----------------------------------------------
// Print $result example
// ----------------------------------------------
//
// stdClass Object
// (
//     [valid] => 1
//     [operationId] => e8066dd2-2d02-49c1-a59b-a30ac99290c0
// )

异常

异常由 Guzzle 处理。YesyPay API 可能会返回不成功的 HTTP 响应,例如当资源未找到时(404)。如果您想捕获错误,可以将您的 API 调用包装在 try/catch 中。

YesyPay (c) 2018