---
title: 決済を確認・完了する
url: ja/amazon-pay-paymentmethodonfile-express/ja-verify-and-complete-checkout.html
---

**[ステップ5/9]** Amazon Payがトランザクションを処理した後、購入者はcheckoutResultReturnUrlにリダイレクトされます。 Amazon PayのCheckout Session IDがクエリパラメータとして含まれます。

このステップでは、CheckoutSession IDを使用して、購入者がサイトに正常に戻ったことを確認し、`paymentIntent`を確定します。このステップの最後に、購入者に決済結果を提示できるようになります。

<!-- <div style="display:none" class="environmentSpecificKeys">
  <div markdown="span" class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note:</b> publicKeyIdの先頭に環境名が<b>付与されていない</b>場合 (SANDBOX'や'LIVE'で始まっていない場合)、<a href='#' onclick='window.location.href=window.location.href.split("?")[0]+"?environmentSpecificKeys=false"' rel='noopener noreferrer'>こちらの手順</a>を確認してください。</div>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
  <div markdown="span" class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note:</b> publicKeyIdの先頭に環境名が付与されている場合 (例: SANDBOX-AFVX7ULWSGBZ5535PCUQOY7B)、<a href='#' onclick='window.location.href=window.location.href.split("?")[0]+"?environmentSpecificKeys=true"' rel='noopener noreferrer'>こちらの手順</a>を確認してください。</div>
</div> -->

* TOC
{:toc}
{::options toc_levels="3" /}

***

### 1. 決済の完了

<a href="../amazon-pay-paymentmethodonfile/checkout-session.md#complete-checkout-session" target="_blank" rel="noopener noreferrer">Complete Checkout Session</a>を使用して、購入者がサイトに正常に戻ったことを確認します。検証のため、リクエストの`chargeAmount`は、 CheckoutSessionオブジェクトの`paymentDetails.chargeAmount`と一致する必要があります。 CheckoutSessionオブジェクトに`totalOrderAmount`が提供されている場合は、 totalOrderAmountも指定する必要があります。

**Note:** Amazon Payは、Complete Checkout Sessionによって決済の確認がされるまで`paymentIntent`を確定しません。24時間以内に確認されないCheckout Sessionはキャンセルされます。もしオーソリが取得されていた場合、そのオーソリもキャンセルされます。


**成功のレスポンス:**

トランザクションが正常に処理された場合、<a href="../amazon-pay-paymentmethodonfile/checkout-session.md#complete-checkout-session" target="_blank" rel="noopener noreferrer">Complete Checkout Session</a>は成功レスポンスを返します。下表のCheckout Sessionの`paymentIntent`に対応するガイダンスに沿って実装してください。

<table width="100%" border="1"> 
    <tbody>
        <tr id="SNR9CAGnO6p">
            <td id="s:SNR9CAGnO6p;SNR9CAhxnzV" style="vertical-align: top; font-weight: bold; width: 30%;" class="bold">paymentIntent
                <br></td>
            <td id="s:SNR9CAGnO6p;SNR9CA8ReW0" style="vertical-align: top; font-weight: bold; width: 70%;" class="bold">説明
                <br></td>
        </tr>
        <tr id="SNR9CAHofkb">
            <td id="s:SNR9CAHofkb;SNR9CAhxnzV" style="">AuthorizeWithCapture
                <br></td>
            <td id="s:SNR9CAHofkb;SNR9CA8ReW0" style="">支払いのオーソリが取得され、売上請求も実施されます。 <br><br>1. <code>ChargeId</code>の保管 - <code>ChargeId</code>は返金実施時の為に必ず保管してください。<br><br> 2. <code>ChargePermissionId</code>の保管 <br><br> 3.<code>ChargePermissionType</code>が "PaymentMethodOnFile"である場合、購入者はお支払い方法の設定を今後の購入のために保存することに同意したことを示します。この場合、<code>ChargePermissionId</code>を使用して、購入者に今後の購入の為の請求をすることができます。また、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-paymentmethodonfile/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を期限なく取得することができます。<br><br> 4.もし <code>ChargePermissionType</code>が "OneTime"である場合、購入者はお支払い方法の設定を今後の購入のために保存することの同意をしなかったことを示します。この場合、もし<code>totalOrderAmount</code> を設定していて、売上請求が未済のレコードがある場合は、 <a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a> を参照してください。また、30日以内であれば、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-paymentmethodonfile/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を取得することもできます。情報を30日を超えて保持するには、データを事業者側で保存する必要があります。
                <br></td>
        </tr>
        <tr id="SNR9CAGci5Y">
            <td id="s:SNR9CAGci5Y;SNR9CAhxnzV" style="">Authorize
                <br></td>
            <td id="s:SNR9CAGci5Y;SNR9CA8ReW0" style="">オーソリが取得されます。 <br><br>1. <code>ChargeId</code>の保管 - 後に売上請求するのCharge IDを格納する必要があります。詳細については、<a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">繰延支払い</a>を参照してください。<br><br> 2. <code>ChargePermissionId</code>の保管 <br><br> 3.<code>ChargePermissionType</code>が "PaymentMethodOnFile"である場合、購入者はお支払い方法の設定を今後の購入のために保存することに同意したことを示します。この場合、<code>ChargePermissionId</code>を使用して、購入者に今後の購入の為の請求をすることができます。また、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-paymentmethodonfile/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を期限なく取得することができます。<br><br> 4.もし <code>ChargePermissionType</code>が "OneTime"である場合、購入者はお支払い方法の設定を今後の購入のために保存することの同意をしなかったことを示します。この場合、もし<code>totalOrderAmount</code> を設定していて、売上請求が未済のレコードがある場合は、 <a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a> を参照してください。また、30日以内であれば、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-paymentmethodonfile/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を取得することもできます。情報を30日を超えて保持するには、データを事業者側で保存する必要があります。
                <br></td>
        </tr>
        <tr id="SNR9CA2df1n">
            <td id="s:SNR9CA2df1n;SNR9CAhxnzV" style="">Confirm
                <br></td>
            <td id="s:SNR9CA2df1n;SNR9CA8ReW0" style="">オーソリが取得されず、売上請求も行なわれません。<br><br>1. <code>ChargePermissionId</code>の保管 - <code>ChargePermissionId</code>を今後の購入の請求の為に保管します。<br><br> 2.<code>ChargePermissionType</code>が "PaymentMethodOnFile"である場合、購入者はお支払い方法の設定を今後の購入のために保存することに同意したことを示します。この場合、<code>ChargePermissionId</code>を使用して、購入者に今後の購入の為の請求をすることができます。また、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-paymentmethodonfile/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を期限なく取得することができます。<br><br> 3.もし <code>ChargePermissionType</code>が "OneTime"である場合、購入者はお支払い方法の設定を今後の購入のために保存することの同意をしなかったことを示します。この場合、もし<code>totalOrderAmount</code> を設定していて、売上請求が未済のレコードがある場合は、 <a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a> を参照してください。また、30日以内であれば、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-paymentmethodonfile/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を取得することもできます。情報を30日を超えて保持するには、データを事業者側で保存する必要があります。
                <br></td>
        </tr>
    </tbody>
</table>

**エラーレスポンス:**

<a href="../amazon-pay-paymentmethodonfile/checkout-session.md#complete-checkout-session" target="_blank" rel="noopener noreferrer">Complete Checkout Session</a>は、失敗したトランザクションに対しては、エラーレスポンスを返します。購入者は決済を途中でキャンセルしたか、有効なお支払い方法を選択し決済を完了できませんでした。この場合は、次の手順を実施してください。

1. 購入者を決済の開始にリダイレクトします
2.「Amazon Payでのお支払いに失敗しました。別のお支払い方法をお試しください。」などのメッセージを表示します

#### リクエスト


<div style="display:none" class="environmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:version/checkoutSessions/:checkoutSessionId/complete" \<br />
-X POST<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-d @request_body<br />
</code>
</div>
<div style="display:none" class="notEnvironmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:environment/:version/checkoutSessions/:checkoutSessionId/complete" \<br />
-X POST<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-H "x-amz-pay-idempotency-key:AVLo5tI10BHgEk2jEXAMPLEKEY"<br />
-d @request_body<br />
</code>
</div>

#### リクエストボディ

```
{
    "chargeAmount": {
        "amount": "14.00",
        "currencyCode": "USD"
    }
}
```



#### リクエストパラメータ

<table width="100%" border="1">
    <tbody>
        <tr id='ERL9CAipzsl'>
            <td id='s:ERL9CAipzsl;ERL9CAFccoh' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>Name
                <br /></td>
            <td id='s:ERL9CAipzsl;ERL9CAjQdu4' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>Location
                <br /></td>
            <td id='s:ERL9CAipzsl;ERL9CAxmCJ7' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>Description
                <br /></td>
        </tr>
        <tr id='ERL9CA4LMaA'>
            <td id='s:ERL9CA4LMaA;ERL9CAFccoh' style='vertical-align: top;'>checkoutSessionId<br><b>(required)</b><br><br>Type: string
                <br /></td>
            <td id='s:ERL9CA4LMaA;ERL9CAjQdu4' style='vertical-align: top;'>Path parameter
                <br /></td>
            <td id='s:ERL9CA4LMaA;ERL9CAxmCJ7' style='vertical-align: top;'>Checkout Session identifier
                <br /></td>
        </tr>
        <tr id='ERL9CAvm2Or'>
            <td id='s:ERL9CAvm2Or;ERL9CAFccoh' style='vertical-align: top;'>chargeAmount<br><br>Type: <a href="../amazon-pay-api-v2/checkout-session.md#type-price" target="_blank" rel="noopener noreferrer">price</a>
                <br /></td>
            <td id='s:ERL9CAvm2Or;ERL9CAjQdu4' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:ERL9CAvm2Or;ERL9CAxmCJ7' style='vertical-align: top;'>Amount to be processed using <code>paymentIntent</code> during checkout. Must match Checkout Session object <code>paymentDetails.chargeAmount</code>
                <br /></td>
        </tr>
        <tr id=''>
            <td id='' style='vertical-align: top;'>totalOrderAmount<br><br>Type: <a href="../amazon-pay-api-v2/checkout-session.md#type-price" target="_blank" rel="noopener noreferrer">price</a>
                <br /></td>
            <td id='' style='vertical-align: top;'>Body
                <br /></td>
            <td id='' style='vertical-align: top;'>Total order amount. Must match Checkout Session object <code>paymentDetails.totalOrderAmount</code> if a value was provided
                <br /></td>
        </tr>
    </tbody>
</table>

#### レスポンス

```
{
    "checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
    "webCheckoutDetails": null,
    "chargePermissionType": PaymentMethodOnFile,   
    "recurringMetadata": null,
    "paymentMethodOnFileMetadata": null,    
    "productType": null,
    "paymentDetails": null,
    "merchantMetadata": null,
    "supplementaryData":null, // Amazon Pay system data 
    "buyer": null,
    "billingAddress": null,
    "paymentPreferences": [
        null
    ],
    "statusDetails": {
        "state": "Completed",
        "reasonCode": null,
        "reasonDescription": null,
        "lastUpdatedTimestamp": "20191015T204327Z"
    },
    "shippingAddress": null,
    "platformId":null,
    "chargePermissionId": "BA01-5105180-3221187",
    "chargeId": null,
    "constraints": [
        null
    ],
    "creationTimestamp": "20191015T204313Z",
    "expirationTimestamp": null,
    "storeId": null,
    "deliverySpecifications": null,
    "providerMetadata": null,
    "releaseEnvironment": null
}
```

***

### 2. 出荷追跡情報を追加します

**Note:** このセクションは、<a href="../amazon-pay-checkout/setting-up-delivery-notifications.md#リクエストパラメータ" target="_blank" rel="noopener noreferrer">サポート対象の配送会社</a>を使用して商品を発送する場合にのみ適用されます。

Delivery Tracker APIを使用してAmazon Payに出荷追跡情報を送信します。Amazon Payは、商品が発送された時と商品が配達された時に、Alexaデバイスで購入者に通知します。詳細については、<a href="../amazon-pay-api-v2/delivery-tracker.md" target="_blank" rel="noopener noreferrer">Alexa配送通知機能の設定</a> を参照してください。