Skip to main content
連携完了後、本番環境に移行する前に、以下の受け入れ基準をサンドボックス環境でパスする必要があります。

受け入れ資料の提出

API 連携完了後、連携段階に応じた受け入れテンプレートをダウンロードして記入してください:
このテンプレートは ONE_TIME_PAYMENT に適用されます。少なくとも1回の連携受け入れを完了しており、今回が初回ではない追加連携の場合にのみ使用してください。初回連携では使用せず、プロダクトに応じて標準のワンタイム決済またはサブスクリプション決済テンプレートを選択してください。
記入済みの受け入れ結果を Waffo の技術連携グループへ提出してください。Waffo は実行済みケース、加盟店取引 ID、Webhook 処理結果、例外処理ロジックを確認します。
補足: 受け入れテンプレート内の一部の例外ケースは、サンドボックス専用の特殊金額で再現します。サンドボックス環境でこれらの金額を渡すと、API は対応するエラーを意図的に返します。詳細は サンドボックスシミュレーター を参照してください。

機能テスト

決済 (必須)

  • 決済成功: 注文作成 → 決済完了 → 注文ステータス更新 → ビジネスロジックが正しく実行される
  • 決済失敗: 失敗用テストカードを使用 → 注文ステータス更新 → ビジネスロジックは実行されない
  • Webhook 受信: 成功および失敗の通知が正しく処理される
  • Webhook の冪等性: 同じ通知を複数回受信した場合、ビジネスロジックは 1 回だけ実行される

返金 (連携している場合)

  • 返金成功: 支払い済み注文に対して返金を開始 → ステータスが正しく更新される
  • 返金通知: Webhook が到着し、ステータスが正しく更新される

サブスクリプション (連携している場合)

  • 初回期間の決済成功 → サブスクリプションがアクティベートされる
  • 更新のシミュレーション: サンドボックスの管理画面から次期課金をトリガー → ビジネスロジックが正しく処理される
  • サブスクリプションのキャンセル → ステータスが正しく更新される

連携範囲に応じた検証

実際に連携している機能のみ検証してください。未連携の機能は対象外とします。手動または Waffo の支援が必要なケースには理由、証拠、次の対応を記録し、未実行を合格にしないでください。
以下の検証 ID は AI 連携検証と共通です。P はワンタイム決済テンプレート、S はサブスクリプションテンプレートを示します。既存のケース番号は変更せず、新規ケースには SDK- 接頭辞を使用します。
  • Capture:capture 対応の承認済み注文に order.capture を呼び出し、captureAmount、注文 ID、orderStatus を記録します。照会で金額と状態の一致を確認し、失敗や不明状態では商品を提供しません。重複リクエストで二重に履行しないことを確認します。
  • 加盟店と決済方法の設定:現在の MID で設定を照会し、契約済み決済方法、国、currency を確認します。利用可能な方法からテストを選び、認証情報ではなくマスクした応答を保存します。
  • 入金先アドレスの照会:network、asset、payTo が要求したネットワーク、通貨、プラットフォームの入金先と一致することを確認します。加盟店が指定したアドレスで応答を置き換えないでください。
  • サブスクリプション更新:subscriptionRequest と subscriptionId の両方で更新し、amount、scheduledAmounts、該当する trialPeriodAmount を検証します。管理 URL から Sandbox の後続対象周期をシミュレートし、整数の paymentDetails: 1 で照会します。対象 period の orderAmount を更新計画と数値で比較してください。更新応答のみでは適用を証明できません。
  • サブスクリプション管理:managementUrl、expiredAt、対象 ID を確認します。有効期限内に URL を開き、別ユーザーのサブスクリプションにアクセスしないことを確認します。
  • 変更と変更照会:originSubscriptionRequest、新しい subscriptionRequest、subscriptionId を保存します。AUTHORIZATION_REQUIRED の場合は認証を完了してから終端状態、計画、後続周期の実際の金額を照会します。
  • 周期変更通知:署名、サブスクリプション ID、周期、金額を検証し、onSubscriptionPeriodChanged を呼び出します。重複通知で特典を二重に付与しないことを確認します。
  • サブスクリプション変更通知:署名を検証し、旧と新のサブスクリプションを関連付けて onSubscriptionChange を呼び出します。成功時のみ確認済みルールで特典を変更し、失敗や重複通知で新しい特典を付与しません。

ワンタイム決済の追加連携受け入れケース

初回ではないワンタイム決済の追加連携でのみ、このテンプレートを使用してください。ダウンロード後:
  1. 0.前置条件 ワークシートに、加盟店名、MID、契約プロダクト、契約済み決済手段、今回連携する API の一覧を記入します。
  2. 1.集成验收用例 ワークシートで今回の連携範囲に該当するケースを実行し、実行有無、加盟店取引 ID、加盟店取引時刻を記録します。
このテンプレートは、オーダー決済の成功と失敗、決済結果通知、オーダーキャンセル、返金、返金結果通知を対象とします。キャンセルと返金のケースは、今回の連携に該当 API が含まれる場合のみ実行してください。

ワンタイム決済の受け入れケース

実際の連携範囲に合わせて以下のケースを実行し、テンプレートに結果と加盟店取引 ID を記録してください。

必須ケース

  • オーダー作成後に決済成功をシミュレートし、加盟店の notifyUrl が終端成功通知を受信し、paymentRequestId、orderCurrency、orderAmount が加盟店オーダーと一致することを確認する
  • オーダー作成後に決済失敗をシミュレートし、加盟店の notifyUrl が終端失敗通知を受信し、オーダー情報が一致することを確認する
  • 決済成功後にオーダーを照会し、orderStatus = PAY_SUCCESS を確認する
  • 決済失敗後にオーダーを照会し、orderStatus = ORDER_CLOSE を確認する
  • 決済成功通知は署名検証が通った後に加盟店側ステータスを更新する
  • 決済失敗通知では商品発送や権益付与のビジネスロジックを実行しない
  • 通知の署名検証に失敗した場合、その通知は処理せず、照会 API でオーダー状態を取得する

例外ケース

  • チャネル拒否:C0005 Payment Channel Rejection をシミュレートする
  • 冪等性競合:同じ paymentRequestId に異なる金額または通貨を使用し、A0011 を確認する
  • システム利用不可:C0001 System Error をシミュレートする
  • Unknown Status:E0001 Unknown Status をシミュレートし、加盟店側で独自にオーダーを閉じず、照会結果または Webhook 通知を待つ

条件付きケース

  • キャンセルを連携している場合:決済前にキャンセルし、ORDER_CLOSE を確認する
  • キャンセルを連携している場合:決済成功後のキャンセルで A0013 を確認する
  • 返金を連携している場合:返金成功後に refundRequestId、refundAmount、返金ステータスを確認する
  • 返金照会または返金通知を連携している場合:返金中、全額返金、部分返金、返金失敗の各状態を確認する

サブスクリプション決済の受け入れケース

実際の連携範囲に合わせて以下のケースを実行し、テンプレートに結果、加盟店取引 ID、加盟店取引時間を記録してください。

必須ケース

  • サブスクリプション作成後に初回決済成功をシミュレートし、サブスクリプション状態通知とサブスクリプション決済通知を受信する
  • サブスクリプション作成後に初回決済失敗をシミュレートし、失敗通知と失敗リダイレクトを確認する
  • 未決済サブスクリプションを照会し、subscriptionAction または orderAction に従ってユーザーを認可へ誘導できる
  • 成功したサブスクリプションを照会し、ステータスが ACTIVE であることを確認する
  • 失敗したサブスクリプションを照会し、クローズ済みの終端状態であることを確認する
  • サブスクリプション状態通知の署名検証後、subscriptionRequest、金額、通貨、周期、試用期間項目が加盟店記録と一致することを確認する
  • サブスクリプション決済通知の署名検証後、subscriptionRequest と period に基づいて該当周期の決済オーダーを照合する
  • 通知の署名検証に失敗した場合、ローカル状態を更新せず、照会 API で実際の状態を取得する

更新とキャンセル

  • サブスクリプション管理ページで次期決済成功をシミュレートし、更新決済通知を確認する
  • サブスクリプション管理ページで次期決済失敗をシミュレートし、失敗した更新通知を確認する
  • 加盟店側キャンセルを連携している場合、キャンセル後に MERCHANT_CANCELLED を確認する
  • チャネル側キャンセルをサポートする場合、CHANNEL_CANCELLED 通知を処理できる

例外ケース

  • サブスクリプションチャネル拒否:C0005 Payment Channel Rejection をシミュレートする
  • 冪等性競合:同じリクエスト ID に異なる金額または通貨を使用し、A0011 を確認する
  • システム利用不可:C0001 System Error をシミュレートする
  • Unknown Status:E0001 Unknown Status をシミュレートし、加盟店側で独自にサブスクリプションを閉じず、照会結果または Webhook 通知を待つ
  • 返金機能をサブスクリプションで再利用する場合、ワンタイム決済の返金ルールに沿って返金、返金照会、返金通知を検証する

決済手段のカバレッジ

契約中のすべての決済手段を個別にテストする必要はありません。タイプごとに代表を選んでください。

例外処理の要件

Waffo は受け入れ時に以下の例外シナリオに対する処理ロジックを確認します。

パラメーター要件


データ完全性

  • paymentRequestId は API 呼び出しの前に永続化する (ネットワークタイムアウト時に照会で復旧できるように)
  • acquiringOrderID は決済成功後に保存する
  • リダイレクト URL (successRedirectUrl / failedRedirectUrl) を設定する