payjp
v2.3.0
Published
PAY.JP node.js bindings
Downloads
20,287
Readme
PAY.JP for Node.js
Installation
npm install --save payjp
Dependencies
Documentation
Example
In advance, you need to get a token by Checkout or payjp.js.
Javascript
const payjp = require('payjp')('sk_test_c62fade9d045b54cd76d7036');
payjp.charges.create({
amount: 1000,
currency: 'jpy',
card: 'token_id_by_Checkout_or_payjp.js'
}).then(console.log).catch(console.error);
Typescript
import * as Payjp from 'payjp';
const payjp = Payjp('sk_test_c62fade9d045b54cd76d7036');
payjp.charges.create({
amount: 1000,
currency: 'jpy',
card: 'token_id_by_Checkout_or_payjp.js'
}).then((charge: Payjp.Charge) => console.log(charge)
).catch((e: Payjp.ResponseError) => console.error(e.response.body as Payjp.PayjpError));
Options
Options can be specified in the constructor.
Timeout
Timeout is configurable for the entire request (including all uploads, redirects, server processing time) to complete. If the response isn't fully downloaded within that time, the request will be aborted.
const payjp = require('payjp')('sk_...', {timeout: 20 * 1000}); // in ms (this is 20 seconds)
Retry
You can automatically retry the request when the client received HTTP 429 response caused by Rate Limit.
By default, the retry feature is disabled. To activate, set maxRetry
for 1 or more.
const payjp = new Payjp('sk_live_xxx', {maxRetry: 5, retryInitialDelay: 1000, retryMaxDelay: 20 * 1000})
A delay of retry is calculated based on Exponential backoff with equal jitter algorithm.
Each delay is randomly choiced between "retryInitialDelay
* 2 ** retryCount
" and "retryInitialDelay
* 2 ** retryCount
/ 2" but doesn't exceed retryMaxDelay
.