prosus-pay/prosuspay-php

Prosus Pay API PHP客户端库。

dev-main 2023-06-05 23:38 UTC

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时,我们运行静态分析器PsalmPHP-CS-fixer以确保代码风格。请检查是否存在任何错误,并相应地修复它们。

代码风格

我们使用PSR-12代码风格以确保适当的格式和间距。您可以使用composer命令测试和格式化您的代码。在提交PR之前,您可以先运行composer cs-checkcomposer cs-fix,这将运行php-cs-fixer。

API覆盖率

目前实现的功能在此工作表中跟踪,并将不定期更新。检查您想要贡献的哪些区域仍需要工作。