Skip to main content
ユーザーの銀行カード情報を安全にトークン化することで、以降の決済時にカード番号を再入力する必要がなくなります。
このフローはサーバー側(Generate / Inquiry / Remove API の呼び出し)とフロントエンド@waffo/payment-sdk によるカード情報の送信)の両方にまたがります。

主要なフロー

カードバインドフロー

1

加盟店バックエンドから Generate API を呼び出す

POST /api/v1/tokenization/generate を呼び出し、tokenRequestIdmerchantUserIdtokenType: "CARD" などのパラメータを渡します。成功すると tokenSessionId が返されます。詳細は Generate API を参照してください。
2

フロントエンドからカード情報を送信する

@waffo/payment-sdktokenizationSubmit メソッドを使用して、カードデータを暗号化し Waffo サーバーに送信します:
SDK がカードデータを自動的に暗号化するため、加盟店サーバーはカード番号の平文に触れる必要がなく、PCI DSS 認証も不要です。
3

カードバインド結果のハンドリング

カードバインド完了後、Waffo は notifyUrl を通じて加盟店バックエンドに通知を送信し、最終的な tokenId を含みます。加盟店はこの tokenId を保存し、以降の決済に使用する必要があります。

代替案:PCI-DSS 加盟店による直接送信

加盟店が PCI-DSS 認証を取得している場合、フロントエンド SDK を使用せずに、Generate API の tokenData フィールドを通じてバックエンドから直接カード番号などの機微情報を送信できます。この場合、API は tokenId を直接返します。

トークンを使用して決済する

tokenId を取得した後、注文作成時に渡すことでカード番号の代わりに使用します:
ワンタイム決済(ONE_TIME_PAYMENT)およびサブスクリプション決済(SUBSCRIPTION)をサポートしています。

トークン管理

セキュリティメカニズム

  • フロントエンド SDK がカードデータを自動的に暗号化。加盟店サーバーはカード番号の平文に触れない
  • すべての API リクエストとレスポンスで SHA256WithRSA 署名検証を使用
  • 3DS 認証をサポートし、決済のセキュリティを強化
  • PCI-DSS 非認証の加盟店は必ずフロントエンド SDK を使用する必要があり、バックエンドから直接カード番号を渡すことはできません