Checkout は最もシンプルな連携方法です。ユーザーを Waffo ホスト型の決済ページへリダイレクトするだけで、機微なカード情報を取り扱う必要はありません。Documentation Index
Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
ワークフロー
ユーザーをリダイレクトする
orderAction を解析し、actionType に応じて webUrl または deeplinkUrl を使用します。ユーザーは Waffo の Checkout ページで決済を完了します。Checkout URL を取得する
orderAction は JSON 文字列です。先に解析し、actionType に応じて URL を選択します:
決済手段の事前設定
- WeChat Pay: 本番環境でWeChat Payを有効化する場合は、事前に本番ドメインをWaffoへ提出してください。Waffoが決済チャネル側に申請します。
iframe 埋め込み時の注意事項
Waffo Checkout を iframe 内に埋め込む場合、以下に注意してください:必須設定
allow="payment"属性:iframe タグにはallow="payment"を含める必要があります。含めない場合、Android 端末で Google Pay などの決済手段が動作しません。- Referrer Policy:
strict-origin-when-cross-originに設定する必要があります。設定しないと WeChat Pay が失敗します。
レスポンシブ幅
固定幅(例:width: 700px)は使用しないでください。異なる端末でコンテンツが見切れます。代わりにレスポンシブレイアウトを使用してください:
既知の制限事項
window.open 埋め込み時の注意事項
window.open で Checkout を開く場合:
- 同期呼び出しは問題なし:クリックイベントハンドラー内で
window.open()を直接呼び出す場合は問題なく動作します。 - 非同期呼び出しはブロックされる:
awaitの後にwindow.open()を呼び出すと、ブラウザはポップアップをブロックします。回避策:先にwindow.open()で空のウィンドウを開いてから、非同期に取得した URL を代入する。または確認ダイアログを表示し、ユーザーがクリックして手動で開けるようにする。 - Apple モバイル:ユーザージェスチャーの検出が厳格で、非同期オープンはほぼ常にブロックされます。
App WebView 連携時の注意事項
加盟店アプリが WebView 内で Checkout を読み込む場合:- 外部起動機能:App と WebView が外部 App または外部ブラウザページを開けることを確認してください。一部のウォレットは deeplink または外部ページで認可を完了します。これを制限すると決済フローを継続できません。
- ダウンロードとコピー機能:WebView は既定ではファイルダウンロード、コピー、長押し保存に対応していない場合があります。QR、OTC、銀行振込系の決済手段ではこれらの機能が必要になることがあります。
- リダイレクト URL の完全性:ネイティブ App と WebView の間で URL を受け渡す場合、URL を書き換えたり query パラメータを削除したりしないでください。一部の決済手段はリダイレクト URL に必須パラメータを追加します。
userTerminal:WEBではなくAPPを渡して、アプリ環境向けに最適化されたリダイレクトリンクを受け取ってください。- 決済手段固有の制限:PayPay Smart Payment、Google Pay、Apple Pay、JKOPAY など環境ごとの制限については、決済手段別の連携注意事項を参照してください。