# Amazon PayボタンのPayloadのサンプルが知りたいです。

以下に利用シーンごとのサンプルコードをまとめていますので、参考にPayloadを作成してください。

### ボタン表示のみ
```
{"storeId":"amzn1.application-oa2-client.xxxxx","webCheckoutDetails":{"checkoutReviewReturnUrl":"https://localhost/test/CheckoutReview.php"}}
```

### 都道府県名に誤りがある住所の利用を禁止したい場合
[アカウント情報として何が取得できますか？](https://www.amazonpay-faq.jp/faq/QA-8)に記載の通り、Amazonアカウントの都道府県には通常"千葉県","東京都"といった値が返却されますが、購入者の入力次第で「東京」「Tokyo-to」などの文字が返却されることもあります。

この場合、以下のように`Restrictions`を設定することで例外の値を除外することができます。

```
{"storeId":"amzn1.application-oa2-client.xxxxx","webCheckoutDetails":{"checkoutReviewReturnUrl":"https://localhost/test/CheckoutReview.php"},"deliverySpecifications":{"addressRestrictions":{"type":"Allowed","restrictions":{"JP":{"statesOrRegions":["北海道","青森県","岩手県","宮城県","秋田県","山形県","福島県","茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県","新潟県","富山県","石川県","福井県","山梨県","長野県","岐阜県","静岡県","愛知県","三重県","滋賀県","京都府","大阪府","兵庫県","奈良県","和歌山県","鳥取県","島根県","岡山県","広島県","山口県","徳島県","香川県","愛媛県","高知県","福岡県","佐賀県","長崎県","熊本県","大分県","宮崎県","鹿児島県","沖縄県"]}}}}}
```

### [OneTime（都度支払い）]注文後に増額したい場合
allowOverchargeをtrueに設定します。

```
{"storeId":"amzn1.application-oa2-client.xxxxx","webCheckoutDetails":{"checkoutReviewReturnUrl":"https://localhost/test/CheckoutReview.php"},"paymentDetails":{"allowOvercharge":true}}
```

### [Recurring（継続支払い）]定期購入にAmazon Payを利用したい場合
以下のパラメータの設定が必要です。

| パラメータ  | 値 |
| ------------- | ------------- |
| Type  | Recurring  |
| Recurring Metadata > Frequency（必須） | 定期の頻度を設定　例）２ヶ月に１回定期支払が発生する場合　Unit：Month　Value：2  |
| Recurring Metadata > Amount（任意） | １回の支払で請求する金額を設定。購入者のリクエストで増額する場合があるなど、請求額が増減する場合は、設定不要。 　例）１回につき、CurrencyCode：JPY　Amount：2  |

```
{"storeId":"amzn1.application-oa2-client.xxxxx","webCheckoutDetails":{"checkoutReviewReturnUrl":"https://localhost/test/CheckoutReview.php"},"chargePermissionType":"Recurring","recurringMetadata":{"frequency":{"unit":"Month","value":"1"}}}
```

### AmazonアカウントでECサイト会員としてログインするボタンを生成したい場合

```
{"storeId":"amzn1.application-oa2-client.xxxxx","signInReturnUrl":"https://localhost/test/CheckoutReview.php","signInScopes":["name","email","postalCode"]}
```
