payjp.js v1 リファレンス

将来的にこちらは非推奨(deprecated)となる予定です。最新のPCI-DSSに準拠した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の指定が必要な理由についてはPAY.JP Platform チェックアウト・モバイルSDK(Marketplace)を参照。
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.
  };
});