PAY.JP Platform の Marketplace 型では、トークン作成時にテナント ID を指定できます。 テナント ID を指定することで、チェックアウトやモバイル SDK で顧客のカード情報をトークン化する際、そのテナントの審査通過済ブランドのみ利用可能にできます。
注意事項
テナントIDはトークン作成の際に都度指定いただくことを強く推奨いたします。
テナント ID 未指定の場合、トークン作成時にカードの有効性確認を行いません。 実際に決済を確定するまでカードの利用可否がわからないため、間違ったカード情報でもカード登録が完了してしまうことにご注意ください。 テナント ID を指定することにより、上記の問題を回避できます。
※テナント ID はテナント作成時に指定可能な任意の値です(未指定時は ten_で始まる値が発行されます)。
payjp.js
payjp.js の data に {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" });