Skip to main content
Waffo Checkout でカード会員起点取引(CIT)を完了し、その決済で使用したカードを以降の加盟店起点取引(MIT)用の Token に変換します。加盟店のページとバックエンドは平文カード情報を扱いません。

このフローが適しているケース

Waffo Checkout をすでに導入しており、初回決済後に同じユーザーへ次の請求を行う場合に使用します。
  • 合意済みの固定スケジュールで行う scheduled MIT
  • ユーザーがオフラインのときに行う unscheduled MIT
  • 加盟店が課金スケジュールを管理し、ONE_TIME_PAYMENT で行う継続請求
今回の決済とは別にカードだけを登録する場合や、独自ページにカード登録 UI を設ける場合は、加盟店側のカード登録を使用してください。

エンドツーエンドのシーケンス

加盟店側のカード登録との違い

前提条件

  • Checkout 連携が完了していること。
  • 注文で ONE_TIME_PAYMENT を使用すること。
  • 加盟店アカウントで MIT 対応のカード支払方法が有効であること。setupFutureUsage: true を指定すると、Waffo は MIT 対応の支払方法だけを提示します。
  • 加盟店が Waffo の MIT ホワイトリストで承認されていること。承認前は MIT を開始できません。
  • 同じユーザーには安定した userInfo.userId を使用すること。以降に Token を使用するときも同じユーザー ID を指定します。

連携手順

1

決済を作成し、将来利用することを宣言する

決済作成を呼び出し、paymentInfosetupFutureUsage: true を設定します。
paymentInfo.setupFutureUsagepaymentInfo.userPaymentAccessToken を同時に指定しないでください。前者は新しい Token を作成し、後者は既存の Token を使用します。
2

ユーザーを Checkout へ遷移させる

通常の Checkout 決済と同様にレスポンスの orderAction を解析し、ユーザーを Waffo Checkout へリダイレクトします。ユーザーは新しいカードを入力して決済を完了します。ユーザーが既存の保存済みカードを選択した場合、Waffo は同じカードを再登録せずに既存のカードを再利用します。
3

決済通知から Token を取得する

Waffo Checkout でのカード登録では TOKENIZATION_NOTIFICATION は送信されません。決済成功後、Waffo は注文の notifyUrlPAYMENT_NOTIFICATION を送信します。生成された Token は result.paymentInfo.userPaymentAccessToken から取得します。このフローで使用するフィールドに絞った決済通知の例:
決済成功後に result.paymentInfo.userPaymentAccessToken を保存します。決済通知が届かない場合は POST /api/v1/order/inquiry を呼び出し、paymentRequestId または acquiringOrderId を指定して、レスポンスの同じフィールドを参照してください。例:
TOKENIZATION_NOTIFICATION を待つ必要はありません。
4

Token を使用して MIT を開始する

MIT を開始できるのは、Waffo の MIT ホワイトリストで承認された加盟店だけです。承認前は scheduled と unscheduled のどちらの MIT も開始できません。
以降の請求では、決済通知で取得した Token を paymentInfo.userPaymentAccessToken として渡し、merchantInitiatedMode を設定します。
merchantInitiatedMode では次の値を使用できます。
  • scheduled:事前に合意した固定スケジュールで請求
  • unscheduled:固定周期のない加盟店起点の請求

トラブルシューティング

利用可能な支払方法がない

setupFutureUsage: true を指定すると、Waffo は MIT 非対応の支払方法を除外します。加盟店アカウントに MIT 対応のカード契約があることを確認してください。対象が残らない場合は、Waffo テクニカルサポートへお問い合わせください。

決済は成功したが Token が届かない

PAYMENT_NOTIFICATION を受信しているか確認し、result.paymentInfo.userPaymentAccessToken を参照してください。通知が届かない場合は Order Inquiry で同じフィールドを取得します。Waffo Checkout でのカード登録では TOKENIZATION_NOTIFICATION は送信されません。

MIT を開始できない

加盟店が Waffo の MIT ホワイトリストで承認されていることを確認してください。Token を取得済みでも、承認前は scheduled または unscheduled MIT を開始できません。