PHP 5.6 and later.
Even if it is not a corresponding version, it may work, but it does not support it. Due to the PHP END OF LIFE cycle.
You can install the bindings via Composer. Add this to your composer.json
:
{
"require": {
"payjp/payjp-php": "~1.0"
}
}
Then install via:
composer install
To use the bindings, use Composer's autoload:
require_once 'vendor/autoload.php';
If you do not wish to use Composer, you can download the latest release. Then, to use the bindings, include the init.php
file.
require_once '/path/to/payjp-php/init.php';
In advance, you need to get a token by Checkout or 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
- Request Example
- Please see our official documentation.
- See Rate Limit Guideline
- When you exceeded rate-limit, you can retry request by setting
$maxRetry
like\Payjp\Payjp::setMaxRetry(3);
. - The retry interval base value is
$retryInitialDelay
Adjust the value like\Payjp\Payjp::setRetryInitialDelay(4);
The smaller is shorter. - The retry interval calcurating is based on "Exponential backoff with equal jitter" algorithm.
See https://aws.amazon.com/jp/blogs/architecture/exponential-backoff-and-jitter/
- This library provides simple log output using
error_log
. You can set any logger that is compatible PSR-3 logger interface. Like below \Payjp\Payjp::setLogger($logger);
- As the default behavior, this library output only error level information to stderr.
- Every retry on HTTP Status Code 429
- When you access inaccessible or non-existing property
In order to run tests first install PHPUnit via Composer:
composer update --dev
To run the test suite:
./vendor/bin/phpunit