このページでは、4 つの Apple Pay 連携方式と、実行環境、フロントエンド、トークン処理に関する各方式の要件を比較します。Waffo では、ホスト型 Checkout または Merchant が構築した Apple Pay フロントエンドを使って決済できます。
推奨される順序で選択する
多くの Merchant には、最初の 3 つの Waffo ホスト型 Apple Pay 方式を推奨します。Waffo Checkout の Apple Pay 機能を利用することで、Apple Developer アカウントの申請、Apple Pay 証明書の管理、トークン復号の実装を Merchant 側で行う必要がありません。そのうえで、プロダクトの表示形態に合わせて方式を選択します。
- 独立した決済ページを開ける場合:Waffo Checkout へリダイレクトします。Web サイト、モバイル Web、App に対応し、最も直接的なデフォルトの連携経路です。
- ユーザーを Merchant App 内に留める場合:App WebView で Waffo Checkout を読み込みます。
- ユーザーを現在の Web または H5 ページに留める場合:Waffo フロントエンド SDK が管理する iframe を使用し、事前にドメイン検証と申請を完了します。
- Apple Pay の UI とトークンを完全に制御する必要がある場合:Merchant が Apple Developer アカウント、Merchant ID、Apple Pay 証明書、必要な PCI DSS 準拠資格を保有し、チームがサーバー側の復号と継続的なコンプライアンス対応を担える場合に限り、直接連携を選択します。
プロダクト体験またはコンプライアンス上の責任範囲により Merchant 側で Apple Pay トークンを処理する必要がある場合を除き、Waffo ホスト型 Checkout を使用してください。直接連携はコストが最も高く、Apple のアカウントと証明書、PCI DSS 準拠資格、暗号処理の実装、長期的な運用体制が必要です。
連携方式を比較する
ここでいう端末とは、Waffo Checkout または Merchant の Apple Pay UI を実行する環境です。App WebView は App 連携です。外側は Merchant のネイティブまたはハイブリッド iOS App で、内側の WebView が Waffo Checkout を読み込みます。Android App でも他の決済手段には WebView Checkout 方式を利用できますが、Android 端末は Apple Pay の対象外です。
方式 1:Waffo Checkout へリダイレクトする
/api/v1/order/create を呼び出し、レスポンスの orderAction を解析して、ブラウザーのトップレベルページで orderAction.webUrl を開きます。
この方式では、Waffo Checkout が Apple Pay を表示します。Merchant ページに Apple Pay JS を組み込む必要はなく、Apple Pay トークンを処理する必要もありません。決済ステータスは Webhook または /api/v1/order/inquiry の結果を正としてください。
ユーザーを現在のページまたは App 内に留める必要がない場合は、最初にこの方式を選択してください。ページコンテナとフロントエンドの依存関係が最も少なく、リダイレクトと決済結果の処理を統一できます。
方式 2:App WebView で Waffo Checkout を読み込む
App WebView で orderAction.webUrl を開きます。注文作成時に userTerminal=APP を送信し、App 向けのリンクを取得してください。
WebView が外部ページまたはウォレットへの遷移を処理できることを確認し、App と WebView の間で URL を渡す際は完全な query パラメーターを保持してください。
方式 3:iframe で Waffo Apple Pay Checkout を読み込む
iframe 連携では、Waffo フロントエンド SDK @waffo/payment-sdk を必ず使用してください。連携前に Waffo テクニカルサポートへ連絡し、Apple Pay のドメイン検証と申請を完了する必要があります。通常の <iframe> で orderAction.webUrl を直接読み込まないでください。
フロントエンド SDK は Merchant ページ内で Checkout iframe を描画し、管理します。また、allow="payment"、Referrer Policy、レスポンシブレイアウトに関する Checkout iframe の要件も満たす必要があります。フロントエンド SDK の使用方法と iframe 埋め込みの注意事項を参照してください。
ドメイン検証と申請が完了するまで、iframe 版 Apple Pay を本番公開しないでください。Apple Pay ボタンが表示されない、または決済承認を続行できない場合があります。
方式 4:Merchant が Apple Pay と直接連携する
Waffo ホスト型の方式では UI、操作、責任範囲の要件を満たせず、Merchant が Apple Developer アカウントと証明書体系、必要な PCI DSS 準拠資格、サーバー側の復号、継続的なコンプライアンス体制をすでに備えている場合に限り、この方式を選択してください。準備、復号、送信形式の詳細は、Merchant が Apple Pay と直接連携するを参照してください。