alphaolomi/php-cellulant

Cellulant PHP SDK

v1.2.0 2023-07-15 04:16 UTC

This package is auto-updated.

Last update: 2024-09-29 05:22:35 UTC


README

Latest Version on Packagist Tests Total Downloads

Cellulant for PHP 是 Cellulant 的产品 Tingg API 的 PHP 客户端。

功能

该包围绕 Tingg 提供的定制结账 API 展开。它提供了以下功能

  • 结账请求
  • 收费请求
  • 合并结账和收费请求
  • 确认请求
  • 查询状态
  • 退款请求
  • OTP 请求和验证

安装

先决条件

  • PHP >= 8.0
  • PHP cURL 扩展
  • Composer 包管理器
  • Cellulant API 凭据,从 Tingg Dev Portal 获取

推荐安装方式是使用 Composer

您可以通过 Composer 安装此包

composer require alphaolomi/php-cellulant

用法

use Alphaolomi\CellulantService;

$cellulant = new CellulantService([
    'clientId' => 'your clientId',
    'clientSecret' => 'your clientSecret',
    'apiKey' => 'your api key',
    'serviceCode' => 'your service code',
    'callbackUrl' => 'your callback url',
    'env' => 'sandbox', // or 'production' // default is sandbox
]);


// Authentication
// Get the access token
$authRes = $cellulant->authenticate();
// $authRes is an array with the following keys
// [
//  "token_type" => "bearer",
//  "expires_in" => 3600,
//  "access_token" => "WU3My1AHOcKsnxj3n",
//  "refresh_token" =>   "GSWtHRnJrMHBzdEFPbjhNS0FjODIwMTU1NVlTb3c9PQ=="
// ]

// Checkout Request
$checkoutRes = $cellulant->checkoutRequest([
    // ... Tingg Checkout Request Payload
]);

// Charge Request
$chargeRes = $cellulant->chargeRequest([
    // ... Tingg Charge Request Payload
]);

// Query Status
$queryRes = $cellulant->queryStatus([
    // ... Tingg Checkout Status Payload
]);

// Acknowledgement Request
$ackRes = $cellulant->acknowledgementRequest([
    // ... Tingg Acknowledgement Payload
]);

// Refund Request
$refundRes = $cellulant->refundRequest([
    // ... Tingg Refund Payload
]);

请参阅功能测试用例以获取更多使用示例。

请参阅 Tingg API 文档以获取每个方法的所需参数参考。

注意

  • 调用 authenticate() 不会自动执行,您必须在使用任何请求之前手动调用它。

  • 调用 authenticate() 将将 accessToken 保存在内存中,以供后续请求使用。

  • 调用 authenticate() 仅支持 client_credentials 授权类型。并将返回包含以下键的数组: token_typeexpires_inaccess_tokenrefresh_token

  • 尚未实现错误处理,因此您必须手动处理错误。

  • 方法接受参数数组,然后在发出请求之前将其转换为 JSON。请参阅 Tingg API 文档以获取所需参数。

  • 方法数组参数 进行验证,因此您必须确保传递正确的参数。除 construct() 方法外,该方法验证所需参数。

  • 方法名称与 Tingg API 端点相同。

  • 该包使用 Guzzle 来执行 HTTP 请求。使用版本 ^7.0。

  • 函数返回类型尚未实现,因此您必须手动将返回值转换为期望的类型。

测试

测试是用 Pest 编写的。要运行测试

composer test

支持开发

你喜欢这个项目吗?通过 Star this repository ⭐️ 来支持它,并在 Twitter 上关注我以获取更多更新 👍。

变更日志

请参阅 CHANGELOG 了解最近更改的信息。

版本管理

该项目遵循 RomVer

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全漏洞

如果您在 Laravel 中发现安全漏洞,请通过 alphaolomi@gmail.com 发送电子邮件给 Alpha Olomi。所有安全漏洞都将得到及时解决。

致谢

联系我

如果您在使用此包时遇到问题,请随时通过 Twitter 联系我。

许可

麻省理工学院许可证(MIT)。请参阅许可证文件获取更多信息。