digikraaft/paystack-php

Paystack API 的 PHP 实现

v2.2.0 2023-03-04 02:13 UTC

This package is auto-updated.

Last update: 2024-09-04 13:12:32 UTC


README

Build Status Scrutinizer Code Quality Code Intelligence Status Total Downloads License: MIT

此包提供了一种表达性强且方便的方式与 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);

这同样适用于 POSTPUT 请求。

对于需要路径参数的端点,例如请求 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

更多精彩内容

此处查看更多免费好东西!

替代方案

变更日志

请查阅 CHANGELOG 了解最近的变化信息。

贡献

请查阅 CONTRIBUTING 了解详细信息。

安全性

如果您发现任何安全问题,请通过 dev@digitalkraaft.com 发送电子邮件,而不是使用问题跟踪器。

致谢

许可

MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。