aimandaniel / toyyibpay
适用于 toyyibPay API 的无框架 PHP 库(非官方)
dev-master
2022-06-24 07:43 UTC
Requires
- php: ^7.3|^8.0
- laravie/codex: ^5.3
- php-http/guzzle7-adapter: ^1.0
- php-http/multipart-stream-builder: ^1.0
This package is auto-updated.
Last update: 2024-09-20 00:33:42 UTC
README
toyyibPay 支付网关的非官方 PHP 库。本库深受 jomweb/billplz 启发。请参考 官方 API 参考 了解详细信息。
安装
$ composer require aimandaniel/toyyibpay
入门
创建客户端
use AimanDaniel\ToyyibPay\Client; $client = Client::make('your-secret-key', 'your-category-code');
您也可以直接传递 HTTP 客户端
use AimanDaniel\ToyyibPay\Client; $http = Laravie\Codex\Discovery::client(); $client = new Client($http, 'your-secret-key', 'your-category-code');
使用沙盒模式
您可以通过添加以下行启用沙盒环境
$client->useSandbox();
用法
银行
您可以根据以下方式创建一个 Bank
实例
$bank = $client->bank(); // or $bank = $client->uses('Bank');
您可以通过执行
$client->bank('v1')
或$client->uses('Bank', 'v1')
手动传递 API 版本,但当前 API 只有一个版本,并且默认设置为该版本
获取银行列表
$response = $bank->all(); var_dump($response->toArray());
获取银行 FPX 代码
$response = $bank->fpx(); var_dump($response->toArray());
包
创建一个 Package
实例
$package = $client->package(); // or $package = $client->uses('Package');
获取包列表
$response = $package->all(); var_dump($response->toArray());
用户
创建一个 User
实例
$user = $client->user(); // or $user = $client->uses('User');
创建用户
$response = $user->create( string $fullname, string $username, string $email, string $password, string $phone, int $bank, // same id as in $bank->all() string $accountNo, // bank acc number string $accountHolderName, // bank acc holder ?string $registrationNo, ?int $package, ?int $userStatus ); var_dump($response->toArray());
获取用户状态
$response = $user->status($username); var_dump($response->toArray());
获取所有用户
$partnerType = 'OEM'; // or 'ENTERPRISE', defaults to OEM if null $response = $user->all($partnerType); var_dump($response->toArray());
分类
创建一个 Category
实例如下
$category = $client->category(); // or $category = $client->uses('Category');
创建分类
$response = $category->create( string $categoryName, string $categoryDescription ); var_dump($response->toArray());
获取分类
$response = $category->get('category code'); var_dump($response->toArray());
账单
创建一个 Bill
实例
$bill = $client->bill(); // or $bill = $client->uses('Bill');
创建账单
$response = $bill->create( string $billName, string $billDescription, int $billPriceSetting, int $billPayerInfo, string $billAmount, string $billReturnUrl, string $billCallbackUrl, string $billExternalReferenceNo, ?string $billTo, string $billEmail, string $billPhone, array $optionals = [] ); var_dump($response->toArray());
$optionals
期望的是一个包含以下任意值的关联数组
创建多付款账单
$response = $bill->createMultiPayment( string $billName, string $billDescription, string $billPriceSetting, string $billPayerInfo, string $billAmount, string $billReturnUrl, string $billCallbackUrl, string $billExternalReferenceNo, string $billTo, string $billEmail, string $billPhone, string $billSplitPayment, string $billSplitPaymentArgs, string $billMultiPayment, string $billPaymentChannel, string $billDisplayMerchant, string $billContentEmail ); var_dump($response->toArray());
运行账单
$response = $bill->run( string $billCode, string $billpaymentAmount, string $billpaymentPayerName, string $billpaymentPayerPhone, string $billpaymentPayerEmail, string $billBankID ); var_dump($response->toArray());
获取所有账单
$partnerType = 'OEM'; // or 'ENTERPRISE' $yearMonth = '2020-01'; $response = $bill->all( string $partnerType, ?string $yearMonth = null ); var_dump($response->toArray());
获取账单交易
$response = $bill->transactions( string $billCode, ?int $billpaymentStatus = 1 ); var_dump($response->toArray());
结算
创建一个 Settlement
实例
$settlement = $client->settlement(); // or $settlement = $client->uses('settlement');
获取所有结算
$response = $settlement->all( string $partnerType, bool $groupByUsername ); var_dump($response->toArray());
获取结算摘要
$response = $settlement->summary( string $partnerType, bool $groupByUsername ); var_dump($response->toArray());
贡献
欢迎提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要进行哪些更改。
请确保根据需要更新测试。
开发者备注
尽管官方 API 参考 没有明确声明,但本包中声明的 API 版本是 v1