こちらは提供終了予定です。payjp.js v2をご利用ください。
概要
payjp.js v1はカード情報またはApple Pay on the Webでの決済情報のトークン化のみに特化したライブラリです。 Checkoutと異なり、任意のフォームを作成することが可能です。
動作環境
Chrome(PC, Android), Safari(mac, iOS), Firefox, Edge の最新バージョン
動作にはブラウザがTLS 1.2に対応している必要があります。
API
Apple Pay on the Web用のAPIについてはこちらを参照ください。
以下のscriptタグを読み込むことで、以降 Payjp
という変数が利用可能になります。
<script type="text/javascript" src="https://js.pay.jp/v1/"></script>
setPublicKey(key)
認証のためのパブリックキーをセットします。
パラメータ名 | 型 | 説明 |
---|---|---|
key 必須 | string | あなたのパブリックキー |
例:
Payjp.setPublicKey("pk_test_0383a1b8f91e8a6e3ea0e2a9");
getPublicKey()
セットされたパブリックキーを取得します。
例:
Payjp.getPublicKey();
createToken(card[, options], calback)
PAY.JPのサーバーと通信し、カード情報の認証を行い、トークンを作成します。
引数 | 型 | 説明 |
---|---|---|
card 必須 | Object | カード情報。number exp_year exp_month が必須、他はこちらを参照。 |
options | Object | Marketplace型利用者は {tenant: 'tenant_id'} を指定することを強く推奨。{tenant: 'tenant_id'} を渡すことで指定テナントで利用可能なカードブランドのみ利用可能になる。テナントIDの指定が必要な理由についてはトークン作成時のテナントIDについてを参照。 |
callback 必須 | Function | レスポンス取得時に呼ばれるコールバック関数。第一引数にHTTPステータス(number)、第二引数にtokenオブジェクトが入る。 |
Pay.jp / Payouts型 例:
var card = {
number: document.querySelector('input[name="number"]').value,
cvc: document.querySelector('input[name="cvc"]').value,
exp_month: document.querySelector('select[name="exp_month"]').value,
exp_year: document.querySelector('input[name="exp_year"]').value
};
Payjp.createToken(card, function(status, response) {
if (status === 200) {
// handle token object and send back to your server. You can get token id from "response.id".
} else {
// handle error like displaying error message.
};
});
Marketplace型 例:
var card = {
number: document.querySelector('input[name="number"]').value,
cvc: document.querySelector('input[name="cvc"]').value,
exp_month: document.querySelector('select[name="exp_month"]').value,
exp_year: document.querySelector('input[name="exp_year"]').value
};
var options = {tenant: 'tenant_id'};
Payjp.createToken(card, options, function(status, response) {
if (status === 200) {
// handle token object and send back to your server. You can get token id from "response.id".
} else {
// handle error like displaying error message.
};
});
getToken(tokenId, calback)
PAY.JPのサーバーと通信し、トークン情報を取得します。
引数 | 型 | 説明 |
---|---|---|
tokenId 必須 | string | トークンID |
callback 必須 | Function | レスポンス取得時に呼ばれるコールバック関数。第一引数にHTTPステータス(number)、第二引数にtokenオブジェクトが入ります。 |
例:
Payjp.getToken('tok_4c3a7a9200b86bd5351c40efb8c0', function(status, response) {
if (status === 200) {
// handle token object
} else {
// handle error like displaying error message.
};
});
retrieveAvailability([options, ]callback)
PAY.JPのサーバーと通信し、利用可能なカードブランドを取得します。
引数 | 型 | 説明 |
---|---|---|
options | Object | 省略可能。Marketplace型利用者は {tenant: 'tenant_id'} を渡すことで指定テナントの利用可能なカードブランドを取得できます。 |
callback 必須 | Function | レスポンス取得時に呼ばれるコールバック関数。第一引数にHTTPステータス(number)、第二引数にcard_types_supported (利用可能なカードブランドの配列)を含むオブジェクト(下記例を参照)が入ります。 |
Pay.jp / Payouts型 例:
Payjp.retrieveAvailability(function(status, response) {
if (status === 200) {
console.log(response);
// {card_types_supported: ["Visa", "MasterCard", "JCB", "American Express", "Diners Club", "Discover"], livemode: true}
} else {
// handle error like displaying error message.
};
});
Marketplace型 例:
var options = {tenant: 'test_tenant'};
Payjp.createToken(options, function(status, response) {
if (status === 200) {
console.log(response);
// {card_types_supported: [], livemode: false}
} else {
// handle error like displaying error message.
};
});