payjp / payjp-php
Payjp PHP 库
1.6.1
2024-05-14 01:52 UTC
Requires
- php: >=5.6
- ext-curl: *
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ~5.7 || ~9.5
- squizlabs/php_codesniffer: ~3.6
README
要求
PHP 5.6 及以上版本。
即使它不是相应的版本,也可能工作,但官方不支持。由于 PHP 已停止维护。
Composer
您可以通过 Composer 安装绑定。将以下内容添加到您的 composer.json
{
"require": {
"payjp/payjp-php": "~1.0"
}
}
然后通过以下方式安装:
composer install
要使用绑定,请使用 Composer 的 自动加载
require_once 'vendor/autoload.php';
手动安装
如果您不想使用 Composer,可以下载最新版本。然后,要使用绑定,请包含 init.php
文件。
require_once '/path/to/payjp-php/init.php';
入门指南
在开始之前,您需要通过 Checkout 或 payjp.js 获取令牌。
\Payjp\Payjp::setApiKey('sk_test_c62fade9d045b54cd76d7036'); $charge = \Payjp\Charge::create(array( 'card' => 'token_id_by_Checkout_or_payjp-js', 'amount' => 2000, 'currency' => 'jpy' )); echo $charge->amount; // 2000
文档
在 HTTP 状态码 429 上重试
- 见速率限制指南
- 当您超过速率限制时,您可以通过设置
$maxRetry
来重试请求
例如\Payjp\Payjp::setMaxRetry(3);
. - 重试间隔的基本值是
$retryInitialDelay
调整值,例如\Payjp\Payjp::setRetryInitialDelay(4);
越小越短。 - 重试间隔的计算基于 "指数退避和均匀抖动" 算法。
见 https://aws.amazon.com/jp/blogs/architecture/exponential-backoff-and-jitter/
日志记录
- 此库通过
error_log
提供简单的日志输出。您可以将任何兼容 PSR-3 日志器接口的日志器设置为任何值。如下所示 \Payjp\Payjp::setLogger($logger);
- 默认行为下,此库仅向 stderr 输出错误级别信息。
日志案例
info
- 每次在 HTTP 状态码 429 上重试
error
- 当您访问无法访问或不存在属性时
测试
为了运行测试,首先通过 Composer 安装 PHPUnit
composer update --dev
要运行测试套件
./vendor/bin/phpunit