> ## 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.

# サンドボックスとテスト

> 実際の資金を使用せずに、サンドボックス環境で完全な統合テストを実施します。

## 環境情報

| 環境      | ベースURL                          | 説明                 |
| ------- | ------------------------------- | ------------------ |
| サンドボックス | `https://api-sandbox.waffo.com` | テスト環境。実際の課金は発生しません |
| 本番      | `https://api.waffo.com`         | 本番環境               |

SDKは `Environment.SANDBOX` / `Environment.PRODUCTION` で切り替えます。URLを手動で変更する必要はありません。

## テスト用カード番号

### Credit Card

#### CC\_VISA

| カード番号              | 結果   |
| ------------------ | ---- |
| `4576750000000110` | 決済成功 |
| `4576750000000220` | 決済失敗 |

#### CC\_MASTERCARD

| カード番号              | 結果   |
| ------------------ | ---- |
| `2226900000000110` | 決済成功 |
| `2226900000000220` | 決済失敗 |

#### CC\_JCB

| カード番号              | 結果   |
| ------------------ | ---- |
| `3528000000000214` | 決済成功 |
| `3528000000120006` | 決済失敗 |

#### CC\_AMEX

| カード番号              | 結果   |
| ------------------ | ---- |
| `3400000000000216` | 決済成功 |
| `340000000200027`  | 決済失敗 |

### Debit Card

#### DC\_VISA

| カード番号              | 結果   |
| ------------------ | ---- |
| `4001700000000110` | 決済成功 |
| `4001700000000220` | 決済失敗 |

#### DC\_MASTERCARD

| カード番号              | 結果   |
| ------------------ | ---- |
| `2226930000000110` | 決済成功 |
| `2226930000000220` | 決済失敗 |

#### DC\_JCB

| カード番号              | 結果   |
| ------------------ | ---- |
| `3088850000000116` | 決済成功 |
| `3088850000200004` | 決済失敗 |

#### DC\_AMEX

| カード番号             | 結果   |
| ----------------- | ---- |
| `340034000100009` | 決済成功 |
| `340034000400003` | 決済失敗 |

### 共通カード情報

<Note>
  <div className="flex flex-col gap-2">
    <p className="m-0">有効期限: 任意の未来日付</p>
    <p className="m-0">CVV: 任意の3桁(AMEXは4桁)</p>
  </div>
</Note>

## サンドボックスシミュレーター

サンドボックスは実際の決済チャネルには接続されていません。シミュレーターを使用して決済結果を直接制御します:

* **ワンタイム決済**: オーダー作成後、チェックアウトページを開きます。ページには「Payment Success」および「Payment Failed」ボタンが用意されており、いずれかをクリックすると対応する結果とWebhookがトリガーされます。
* **サブスクリプションの初回決済**: ワンタイム決済と同様で、チェックアウトページで操作します。
* **サブスクリプション更新のシミュレーション**: `POST /api/v1/subscription/manage` を呼び出して管理ページURLを取得 → 管理ページを開く → ページに「Simulate Next Payment Success」および「Simulate Next Payment Failed」ボタンが用意されており、クリックごとに1回の更新サイクルをシミュレートします。

サブスクリプション更新管理ページの例:

<Frame>
  <img src="https://mintcdn.com/waffo-docs/rmCSHSqVvv7UyIAx/images/developer-docs/sandbox-simulator/subscription-renewal-simulator.png?fit=max&auto=format&n=rmCSHSqVvv7UyIAx&q=85&s=a488ab3312d460a3c15fecd695d2dae8" alt="サブスクリプション更新シミュレーター管理ページの例" width="599" height="1065" data-path="images/developer-docs/sandbox-simulator/subscription-renewal-simulator.png" />
</Frame>

## 決済手段のテスト方法

一部の決済手段では、通常のサンドボックス決済テストに加えて専用の確認が必要です。

### Octopus テスト

Octopus テストアプリで QR コード決済テストを行う場合は、[Octopus サンドボックステスト決済](/docs/ja/developer-docs/tools-and-references/developer-tools/octopus-sandbox-e2e)を参照してください。

### Google Pay テスト

Checkout または独自フロントエンドで Google Pay を表示する場合は、次の確認を行ってください。

1. Google Pay のテストアカウントでログインします。
2. そのアカウントを [Google Pay test mode stub data グループ](https://groups.google.com/g/googlepay-test-mode-stub-data) に追加します。
3. 対象の国または地域が [Google Pay 対応国リスト](https://support.google.com/googlepay/answer/12429287?hl=en-GB#zippy=) に含まれていることを確認します。
4. Android App WebView 内で決済ページを読み込む場合は、[Google Pay Android WebView 設定](https://developers.google.com/pay/api/android/guides/recipes/using-android-webview#groovy) を追加します。
5. 本番公開前に、Android App は [Google Pay 公開ガイド](https://developers.google.com/pay/api/android/guides/test-and-deploy/publish-your-integration) に沿って API 権限を申請する必要があります。
6. 本番権限が承認されていない場合、ユーザーに `OR_BIBED_11` または類似のエラーが表示されることがあります。

本番権限を申請する際は、ゲートウェイ種別として Gateway を選択してください。資料提出後に審査の加速が必要な場合は、Google アカウントの加盟店 MID と app name を Waffo の技術連携グループへ提供してください。

### Apple Pay テスト

Checkout または独自フロントエンドで Apple Pay を表示する場合は、次の確認を行ってください。

1. 加盟店自身の Apple Pay アカウントでテストすることを推奨します。
2. テストアカウントには有効な Visa、Mastercard、または Amex カードを紐付けてください。
3. Apple Pay テストでは UnionPay カードはサポートされません。
4. `Service unavailable` が表示される場合は、端末またはアカウントの地域設定を確認してください。
5. Web でテストする場合はグローバルプロキシが必要になることがあります。モバイルで決済リンクから Apple Pay シートを起動する場合は、一部のプロキシ設定で足りる場合があります。
6. 本番公開前に、対象の国または地域が [Apple Pay 対応国リスト](https://support.apple.com/en-gb/102775) に含まれていることを確認します。

## Webhookのテスト

サンドボックス環境はWebhookコールバックをサポートしています。`notifyUrl` がパブリックにアクセス可能であることを確認してください。ローカル開発の場合、イントラネットトンネリングツール(ngrokやcloudflaredなど)の使用を推奨します。

<Warning>
  サンドボックスと本番では、異なる API Key および RSA キーを使用します。Octopus、Apple Pay、Google Pay では、アプリ、アカウント、対応国、WebView、本番権限の要件を個別に確認してください。
</Warning>
