digikraaft / paystack-php
Paystack API 的 PHP 实现
Requires
- php: ^8.0|^8.1|^8.2
- ext-json: *
- guzzlehttp/guzzle: ^7.2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- mockery/mockery: ^1.4
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^9.0
- scrutinizer/ocular: ^1.7
- vimeo/psalm: ^3.11
README
此包提供了一种表达性强且方便的方式与 Paystack API 进行交互。
安装
您可以通过 composer 安装此包
composer require digikraaft/paystack-php
用法
此包目前支持 Paystack 的 开发者参考 中所有文档化的 API。使用单个 API 遵循通用约定,使其简单且可预测。
<?php
{API_NAME}::{API_END_POINT}();
在此之前,需要设置 API 密钥。例如,要访问 customer/list
端点,
<?php
use Digikraaft\Paystack\Paystack;
use Digikraaft\Paystack\Customer;
Paystack::setApiKey('sk_1234abcd');
$customers = Customer::list();
您可以通过这种方式轻松传递作为参数传递给 API_END_POINT
方法的参数
<?php
use Digikraaft\Paystack\Paystack;
use Digikraaft\Paystack\Customer;
Paystack::setApiKey('sk_1234abcd');
$params = [
'perPage' => 10,
'page' => 2,
];
$customers = Customer::list($params);
这同样适用于 POST
和 PUT
请求。
对于需要路径参数的端点,例如请求 fetch customer
的 /customer/email_or_id_or_customer_code
,只需将字符串传递给 API_END_POINT
,如下所示
<?php
use Digikraaft\Paystack\Paystack;
use Digikraaft\Paystack\Customer;
Paystack::setApiKey('sk_1234abcd');
$customer = Customer::fetch('CUS_abc1234');
对于同时接受路径和正文参数的 API_END_POINT
,例如使用 PUT
请求的 update customer
,只需传递一个字符串作为第一个参数,一个数组作为第二个参数,如下所示
<?php
use Digikraaft\Paystack\Paystack;
use Digikraaft\Paystack\Customer;
$params = [
'first_name' => 'Tim',
'last_name' => 'Oladoyinbo',
];
Paystack::setApiKey('sk_1234abcd');
$customer = Customer::update('CUS_abc1234', $params);
存在一些 API_END_POINT
约定的例外。
端点 paymentrequest/list
变为 Invoice::list()
。这适用于 Paystack 参考文档中记录的所有其他操作。
端点 bvn/match
变为 Bank::bvnMatch(array $params)
端点 decision/bin/{bin}
变为 Bank::resolveCardBin(string $bin)
此包返回 Paystack API 的确切响应,但以 stdClass
类型返回,以便可以像这样访问响应
<?php
use Digikraaft\Paystack\Paystack;
use Digikraaft\Paystack\Customer;
Paystack::setApiKey('sk_1234abcd');
$customer = Customer::fetch('CUS_abc1234');
if ($customer->status && $customer->status == true) {
echo $customer->data->first_name;
}
未来的更新将致力于改进对响应对象的处理。
文档
有关详细文档,请查看此处的 wiki 页面
待办事项
- 全面测试
- 更好的 API 响应处理
测试
composer test
更多精彩内容
请此处查看更多免费好东西!
替代方案
- paystack-php
- perfectmak/paystack-php
- matscode/paystack-php
- Paystack.co 的 PHP 库(非官方)
- Cakephp-Paystack
变更日志
请查阅 CHANGELOG 了解最近的变化信息。
贡献
请查阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全问题,请通过 dev@digitalkraaft.com 发送电子邮件,而不是使用问题跟踪器。
致谢
许可
MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。