prosus-pay / prosuspay-php
Prosus Pay API PHP客户端库。
dev-main
2023-06-05 23:38 UTC
Requires
- php: >=8.0
- ext-bcmath: *
- ext-curl: *
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.8
- vlucas/phpdotenv: ^5.5
This package is auto-updated.
Last update: 2024-09-06 02:07:09 UTC
README
此库使得在PHP应用程序中集成Prosus Pay变得更容易。
方法
此库对API采取了有意见的方法,旨在使开发者的生活尽可能轻松和方便。因此,我们决定以不同的方式结构参数,但仍允许完整和高级用例。
API客户端所采用的参数的一般推理顺序如下
- 首先必需参数 => 不允许为NULL的方法参数
- 推荐参数 => 默认为NULL的方法参数
- 可选参数 => 默认为NULL的参数
- 最后是高级参数 => 在额外类中
返回Unix时间戳的方法始终以getReceivedTimestamp()
,以避免格式和时区混淆。这些始终以秒(而不是毫秒)为单位。
功能
- 无外部依赖。您可以使用composer或无composer将此代码放入项目中。
- 需要PHP 8.0及更高版本。已过时的版本将不会得到积极支持。
- 包含所有电子商务所需的调用,但我们还需要添加更多。
待办事项
- 将示例转换为测试
- 获取器和设置器
- 扩展到与电子商务相关的API调用之外,并使此库100%完整。
如何使用composer
composer require prosuspay/prosuspay-php
如果您使用某些框架或其他项目,您可能已经准备好。如果您从头开始,请确保包括Composer自动加载器。
require __DIR__ . '/../vendor/autoload.php';
如何不使用composer使用(不推荐)
在src
目录中,我们有一个自定义的autoload.php
,您可以在需要时使用它,而不必使用composer。
// Require the autoload file.
require __DIR__ . '/../src/autoload.php';
// Example to get all stores.
$apiKey = '';
$host = ''; // e.g. https://your.prosuspay-server.tld
try {
$client = new \ProsusPay\Client\Store($host, $apiKey);
var_dump($client->getStores());
} catch (\Throwable $e) {
echo "Error: " . $e->getMessage();
}
最佳实践
- 始终使用尽可能少的权限的API密钥。
- 如果您只与特定的商店互动,请使用仅限于该商店或那些商店的API密钥。
- 当处理传入的webhook时,始终使用API加载数据,因为数据可能已过时或在此期间已更改。错误时可以重发webhook有效载荷,因此您可能会看到过时的信息。通过加载数据,您还可以保护自己免受可能伪造(假冒)请求的影响。
常见问题解答
从哪里获取API密钥?
API密钥现在不在商店级别的“访问令牌”上了。您需要转到您的账户配置文件:“我的设置”(用户配置文件图标)->“API密钥”,您甚至可以将用户重定向到那里生成API密钥。
贡献
当您提交pull-request时,我们运行静态分析器Psalm和PHP-CS-fixer以确保代码风格。请检查是否存在任何错误,并相应地修复它们。
代码风格
我们使用PSR-12代码风格以确保适当的格式和间距。您可以使用composer命令测试和格式化您的代码。在提交PR之前,您可以先运行composer cs-check
和composer cs-fix
,这将运行php-cs-fixer。
API覆盖率
目前实现的功能在此工作表中跟踪,并将不定期更新。检查您想要贡献的哪些区域仍需要工作。