トークン作成時のテナント ID について

PAY.JP Platform の Marketplace 型では、トークン作成時にテナント ID を指定できます。 テナント ID を指定することで、チェックアウトやモバイル SDK で顧客のカード情報をトークン化する際、そのテナントの審査通過済ブランドのみ利用可能にできます。

注意事項

テナントIDはトークン作成の際に都度指定いただくことを強く推奨いたします。

テナント ID 未指定の場合、トークン作成時にカードの有効性確認を行いません。 実際に決済を確定するまでカードの利用可否がわからないため、間違ったカード情報でもカード登録が完了してしまうことにご注意ください。 テナント ID を指定することにより、上記の問題を回避できます。

※テナント ID はテナント作成時に指定可能な任意の値です(未指定時は ten_で始まる値が発行されます)。

payjp.js v2

payjp.js v2data{tenant: 'tenant_id'} を指定します。

チェックアウト

パラメーター data-tenant を指定します。

パラメーター

パラメーター名 説明 デフォルト
data-tenant テナントID なし

HTML 内に下記のコードを埋め込むとフォームが生成されます:

<script
  type="text/javascript"
  src="https://checkout.pay.jp/"
  class="payjp-button"
  data-key="pk_test_0383a1b8f91e8a6e3ea0e2a9"
  data-tenant="ten_121673955bd7aa144de5a8f6c262"
  data-on-created="onCreated"
  data-text="支払う"
  data-submit-text="支払う"
  data-partial="true">
</script>

なお、data-tenantは公開鍵と同じくエンドユーザー側に公開される情報なため、当該パラメーターに入れる値にはご注意ください。

iOS SDK

カードフォームを利用の場合

CardFormViewController#createCardFormViewController の引数に tenantId を指定します。

let cardFormVc = CardFormViewController.createCardFormViewController(
    tenantId: "ten_121673955bd7aa144de5a8f6c262",
    delegate: self)
self.navigationController?.pushViewController(cardFormVc, animated: true)

CardFormTableStyledView を利用している場合は、各メソッドの引数に tenantId を指定します。

cardFormView.createToken(tenantId: "ten_121673955bd7aa144de5a8f6c262") { result in
    switch result {
    case .success(let token):
        print("[token] => \(token)")
    case .failure(let error):
        print("[failure creating token] \(error)")
    }

直接トークンを生成する場合

トークンを生成する際に tenantId パラメーターを追加します。

payjpClient.createToken(
    with: number,
    cvc: cvc,
    expirationMonth: month,
    expirationYear: year,
    name: name,
    tenantId: "ten_121673955bd7aa144de5a8f6c262") { result in
    switch result {
    case .success(let token):
        print("[token] => \(token)")
    case .failure(let error):
        print("[failure creating token] \(error)")
    }
}

Android SDK

カードフォームを利用の場合

Payjp.cardForm().start() の引数に tenantId を指定します。

Payjp.cardForm().start(
    activity = this@SampleActivity,
    tenantId = TenantId("ten_121673955bd7aa144de5a8f6c262")
)

Fragment を利用している場合は、 Payjp.cardForm().newCardFormFragment() の引数に tenantId を指定します。

Payjp.cardForm().newCardFormFragment(
    tenantId = TenantId("ten_121673955bd7aa144de5a8f6c262")
)

直接トークンを生成する場合

トークンを生成する際に tenantId パラメーターを追加します。

Payjp.getInstance().createToken(
    number = number,
    cvc = cvc,
    expMonth = expMonth,
    expYear = expYear,
    name = name,
    tenantId = TenantId("ten_121673955bd7aa144de5a8f6c262")
)

Flutter プラグイン

Payjp.startCardForm() の引数に tenantId を指定します。

Payjp.startCardForm(tenantId: "ten_121673955bd7aa144de5a8f6c262");

React Native プラグイン

PayjpCardForm.startCardForm() の引数に tenantId を指定します。

PayjpCardForm.startCardForm({ tenantId : "ten_121673955bd7aa144de5a8f6c262" });