# IPN（インスタント支払通知）の受信方法を教えてください。

## IPNの受信方法
ECサイトのエンドポイントURLを以下の手順にしたがってセラーセントラルで設定してください。

セラーセントラルにログイン
ヘッダーの「Amazon Pay(本番環境)」または「Amazon Pay(テスト環境)」のどちらかを選択
ヘッダー右上の設定（歯車）から「インテグレーション」を選択
インスタント通知設定の編集 ボタンをクリック
以下の画面が表示されたらIPN（インスタント支払通知）を受信したいECサイトのエンドポイントURL(※1,2)を入力
![image](https://dkt57ui24rirk.cloudfront.net/image/IPN_SellerCentral.png)
入力完了したら「更新」をクリック
※1：本番環境ではHTTPSである必要があります
※2：受信したいECサイトのエンドポイントURLが複数ある場合、「Add an IPN endpoint 」をクリックすると追加の入力欄が表示されます
## IPN（インスタント支払通知）とは
Amazon Pay側のオブジェクト（ChargePermissionIdやChargeIdなど）のステータスに変更があった場合、Amazon Payからステータスの変更があったことを送信する仕組みです。

この仕組を利用し、以下のような機能を実現できます。詳細はインテグレーションガイドをご参照ください。
* Amazon Payのオーソリ有効期限30日を過ぎたことを検知する
* Amazon Pay購入者ページで、[購入者がRecurringのChargePermission（継続支払い）を解除](https://www.amazonpay-faq.jp/faq/QA-43)したことを検知する

## IPNの受信フォーマット
Amazon Payから以下のフォーマットで返却します。詳細はインテグレーションガイドをご参照ください。
[IPN message example](https://developer.amazon.com/ja/docs/amazon-pay-checkout/set-up-instant-payment-notifications.html#ipn-types)

ご留意点：
* CV1とCV2ではIPNのフォーマットが異なります。CV1にてIPNをご利用されている場合は、フォーマットが異なります。（CV1で生成した注文についてはCV1のフォーマットでIPNが送信されます。）
* [CV2 IPN message example](https://developer.amazon.com/ja/docs/amazon-pay-checkout/set-up-instant-payment-notifications.html#ipn-types)の通り、CV2のIPNのmessageに含まれる`NotificationVersion`がV2の場合は、CV2のIPNとなります。
* 受信したIPNのバージョン（CV1とCV2）については、`NotificationVersion`がV2か否かで判断してください。
* CV2のIPNの検証方法については、[IPNの送信元を検証する方法を教えてください。](https://www.amazonpay-faq.jp/faq/QA-148)を確認してください。

## 参考
[インテグレーションガイド](https://developer.amazon.com/ja/docs/amazon-pay-checkout/set-up-instant-payment-notifications.html)