# あと払い(ペイディ)の利用について注意点を知りたいです。

ここでは、あと払い(ペイディ)についての注意点をまとめます。
※あと払い(ペイディ)は、決済サービス会社Paidyが提供する翌月まとめ払いサービスを利用したお支払方法です。
　あと払い(ペイディ)についての詳細は、Paidyの[ホームページ](https://paidy.com/)をご参照ください。

## 支払い方法選択画面

あと払い(ペイディ)を選択した場合は、Amazon Payのお支払い方法を選択する画面にあと払い(ペイディ)と表示されます。
あと払い(ペイディ)は、Amazon.co.jpのアカウントにPaidyアカウントを登録しているユーザーのみ選択が可能となります。
　- OneTime(都度支払い)をご利用の事業者のサイトでは、 翌月払い、3回あと払い※が選択可能です。　※3回あと払いはPaidyプラスアカウントをお持ちのユーザーのみご利用可能です。
　- Recurring(継続支払い)をご利用の事業者のサイトでは、翌月払いのみ選択可能です。
あと払い(ペイディ)は、Amazonギフトカードと併用が可能です。(クレジットカードとは併用いただけません)


![image](https://d2squ3eekfa1zc.cloudfront.net/image/QA-629-1.png)

## あと払い(ペイディ)のご利用可能範囲

以下の条件に合致する場合、購入者はあと払い(ペイディ)を利用可能となります。
・CV2で実装をしている　(Amazon Payの旧バージョンであるCV1で実装をしている事業者様のサイトではご利用いただけません。)
・配送先が伴う場合、お届け先が日本国内
・お支払い金額が25万円以内（下部記載 ”決済金額が25万円を超える場合のベストプラクティス” も合わせてご参照ください）

これらの条件に合致しない場合は、購入者のお支払い方法選択ページであと払い(ペイディ)はグレーアウトされ、ご利用いただけません。

![image](https://d2squ3eekfa1zc.cloudfront.net/image/QA-629-2.png)

## SANDBOXでの動作確認が不可

あと払い(ペイディ)は、SANDBOX用のテストアカウントでは動作確認ができません。
あと払い(ペイディ)のご確認をされる場合は本番でご確認下さい。

## 増額・返金の条件

あと払い(ペイディ)が選択された場合、Amazon Payの増額や返金の条件はクレジットカードが選択された場合と同様です。

## paymentDescriptor値

こちらの[FAQ](https://www.amazonpay-faq.jp/faq/QA-27)をご参照ください。

## billingAddressの値

購入者が、ペイディの請求先住所(billingAddress)を設定していない場合は、請求先住所および購入者情報の電話番号は取得できません。(Get CheckoutSessionおよびGetBuyerのbillingAddress, phoneNumberの取得結果はNullとなります。)
ただし、事業者がproductType: 'PayAndShip'を指定してる場合は、Amazon Payは当項目にお届け先住所(shippingAddress)の値をコピーして返却します。
Amazon Payの情報を活用する際には、billingAddress項目に請求先住所以外の住所情報が返却される可能性があることに留意して、ご実装いただくようにお願いします。


## 決済金額が25万円を超える場合のベストプラクティス
今すぐ支払うフロー(APB)でない場合、購入者がお支払い方法を選択するタイミングでAmazon Payは金額を把握していません。その為、25万円を超える金額の注文の場合でも、購入者はあと払い(ペイディ)を選択することが可能です。しかし、Amazon Payのオーソリを取得する画面(amazonPayRedirectUrl)でオーソリ取得が失敗となります。

以下のようにAmazon Payボタンに`estimatedOrderAmount`パラメーターを設定することで、25万円を超える金額の場合は、事前に購入者がお支払い方法のあと払い(ペイディ)を選択できないようにグレーアウトする事が可能です。

```
  <body>
      <div id="AmazonPayButton"></div>
      <script src="https://static-fe.payments-amazon.com/checkout.js"></script>
      <script type="text/javascript" charset="utf-8">
          const amazonPayButton = amazon.Pay.renderButton('#AmazonPayButton', {
              // set checkout environment
              merchantId: 'merchant_id',
              ledgerCurrency: 'JPY',
              sandbox: true,               
              // customize the buyer experience
              checkoutLanguage: 'ja_JP',
              productType: 'PayAndShip',
              placement: 'Cart',
              buttonColor: 'Gold',
              estimatedOrderAmount: { "amount": "250001", "currencyCode": "JPY"},　//こちらのパラメーターと注文時の金額を設定してください。
              // configure Create Checkout Session request
              createCheckoutSessionConfig: {                     
                  payloadJSON: 'payload', // string generated in step 2
                  signature: 'xxxx', // signature generated in step 3
                  publicKeyId: 'XXXXXXXXXXXXXXXX' ,
                  algorithm : 'AMZN-PAY-RSASSA-PSS-V2'
              }   
          });
      </script>
  </body>
```

カートへの商品追加や削除などによって、金額が変更する場合は、updateButtonInfo()を用いて以下のように`estimatedOrderAmount`を更新して下さい。

```
<script type="text/javascript" charset="utf-8">
  amazonPayButton.updateButtonInfo({"amount":"150000","currencyCode":"JPY"});
</script>
```
## 参考
[本番環境とSANDBOXの違いは何ですか？](https://www.amazonpay-faq.jp/faq/QA-35)