# 本番環境とSANDBOXの違いは何ですか？

本番環境とSANDBOXでは利用できる機能の制限や、挙動の違いがあります。

## セラーセントラル
利用可能な機能は下記になります。

機能  | 説明  | 本番環境  | SANDBOX
------------- | ------------- | ------------- | -------------
取引管理  | 取引情報の照会と売上請求や返金などの決済処理 | ○ | ○
購入者へ連絡する  | テキスト入力した内容のメールを送信 | ○ |  | 
テストアカウント | 開発時に利用する購入者アカウントの作成 |  | ○
ペイメント | 事業者への支払い対象となったデータのダウンロード | ○ | | 
トランザクションレポート | トランザクションデータのダウンロード | ○| | 
Amazonマーケットプレイス保証  | マーケットプレイス保証の申請内容を確認 | ○ | |  
チャージバック | チャージバックの申請内容を確認 | ○ | | 
インスタント通知設定 |インスタント支払通知の受取先URLの指定  | ○ | ○

## 購入者アカウント
本番環境ではAmazon.co.jpで登録したアカウントを使用します。

SANDBOXではセラーセントラルで作成したテストアカウントを使用します。
テストアカウントでは支払い方法は予め設定されているクレジットカードのみ使用可能となっており、追加や削除はできません。
また、配送先は自由に設定が可能ですが、セラーセントラルから追加登録する場合は日本の住所では使用できないCity項目が必須で登録されるので注意してください。

## 購入者向けAmazon Payマイページ
本番環境のみ利用できます。SANDBOXでは利用できません。

## 購入者向けメール
お支払い方法の記載が本番環境ではブランド名とカード番号の下4桁が表示されます。SANDBOXでは「**」となります。

## Capture APIとRefund APIのステータス
本番環境ではCapture Charge APIは非同期で処理されるケースがあり、Refund APIの処理は非同期で処理されます。これらは、リクエストした直後はCapture Initiated/ Refund Initiatied ステータスになります。(詳細は[こちら](https://developer.amazon.com/ja/docs/amazon-pay-checkout/asynchronous-processing.html))
しかし、SANDBOXではCapture Charge APIの結果が即時にCapturedステータスになるので注意してください。


## Chargeオブジェクトの有効期限
本番環境ではChargeオブジェクトは生成から30日後にAuthorization Initiatied → Canceledステータスになりますが、SANDBOXでは2日後にCanceledステータスになります。
[SANDBOXと本番環境の相違点](https://developer.amazon.com/ja/docs/amazon-pay-checkout/differences-between-environments.html)

## Amazonギフトカード
本番環境のみ利用できます。SANDBOX(テストアカウント)では利用できません。

## あと払い(ペイデイ)
本番環境のみ利用できます。SANDBOX(テストアカウント)では利用できません。

## パートナーポイント（JCB J-POINT）
本番環境のみ利用できます。SANDBOX(テストアカウント)では利用できません。

## メルペイ
本番環境のみ利用できます。SANDBOX(テストアカウント)では利用できません。

## Billing Address
SANDBOX(テストアカウント)ではAPIの戻り値として以下固定の情報が表示されます。任意の値を試されたい場合は本番環境を利用ください。

Get Checkout Session 
```
{
   "name": "アマゾン　次郎",
   "addressLine1": "川越市南台",
   "addressLine2": "1-10-15",
   "addressLine3": "アマゾンジャパン合同会社",
   "city": null,
   "county": null,
   "district": null,
   "stateOrRegion": "埼玉県",
   "postalCode": "350-1165",
   "countryCode": "JP",
   "phoneNumber": "0312345678"
}
```

Get Buyer 

```
{
	"name": "請求先テスト",
	"addressLine1": "品川区上大崎 3-1-1",
	"addressLine2": "目黒セントラルスクエア",
	"addressLine3": null,
	"city": null,
	"county": null,
	"district": null,
	"stateOrRegion": "東京都",
	"postalCode": "141-0021",
	"countryCode": "JP",
	"phoneNumber": "+0398765432"
}
```

## 参考
[本番環境とSANDBOX環境の違い](https://developer.amazon.com/ja/docs/amazon-pay-checkout/differences-between-environments.html)
[非同期処理を管理する](https://developer.amazon.com/ja/docs/amazon-pay-checkout/asynchronous-processing.html)