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

**[ステップ5/9]** Amazon Payがトランザクションを処理した後、購入者は`checkoutResultReturnUrl`にリダイレクトされます。 Amazon PayのCheckoutSession 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-api-v2/checkout-session.md#complete-checkout-session" target="_blank" rel="noopener noreferrer">Complete Checkout Session</a> を使用して、購入者がサイトに正常に戻ったことを確認します。リクエストの`chargeAmount`は、 CheckoutSessionオブジェクトの`paymentDetails.chargeAmount`と一致する必要があります。

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


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

トランザクションが正常に処理された場合、<a href="../amazon-pay-api-v2/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>の保管 - 将来行う請求の為に<code>ChargePermissionId</code>を保管してください。Recurring用のChargePermissionsについては、<a href="../amazon-pay-recurring-checkout/manage-recurring-payments.md" target="_blank" rel="noopener noreferrer">継続支払いを管理する</a>を参照してください。もし <code>totalOrderAmount</code> を設定していて、売上請求が未済のレコードがある場合は、 <a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a> を参照してください。また、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-api-v2/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を取得することもできます。
                <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>の保管 - 後に売上請求するの<code>ChargeId</code>を格納する必要があります。詳細については、<a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a>を参照してください。<br><br> 2. <code>ChargePermissionId</code>の保管 - 将来行う請求の為に<code>ChargePermissionId</code>を保管してください。Recurring用のChargePermissionsについては、<a href="../amazon-pay-recurring-checkout/manage-recurring-payments.md" target="_blank" rel="noopener noreferrer">継続支払いを管理する</a>を参照してください。もし <code>totalOrderAmount</code> を設定していて、売上請求が未済のレコードがある場合は、 <a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a> を参照してください。また、<code>ChargePermissionId</code> を使用して、<a href="../amazon-pay-api-v2/charge-permission.md#get-charge-permission" target="_blank" rel="noopener noreferrer">Get Charge Permission</a>を行い、購入者とトランザクションの情報を取得することもできます。
                <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>を保管してください。 Recurring用のChargePermissionsについては、<a href="../amazon-pay-recurring-checkout/manage-recurring-payments.md" target="_blank" rel="noopener noreferrer">継続支払いを管理する</a>を参照してください。それ以外の場合は、<a href="../amazon-pay-checkout/deferred-transactions.md" target="_blank" rel="noopener noreferrer">延期されたトランザクションを管理する</a> を参照してください。また、<code>ChargePermissionId</code> を使用して、購入者とトランザクションの情報を取得することもできます。
                <br /></td>
        </tr>
    </tbody>
</table>

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

<a href="../amazon-pay-api-v2/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='KXD9CAJ88iF'>
            <td id='s:KXD9CAJ88iF;KXD9CADiVeR' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'>名前
                <br /></td>
            <td id='s:KXD9CAJ88iF;KXD9CA9GoG8' style='vertical-align: top; font-weight: bold; width: 20%;' class='bold'>ロケーション
                <br /></td>
            <td id='s:KXD9CAJ88iF;KXD9CAdm9hl' style='vertical-align: top; font-weight: bold; width: 50%;' class='bold'>説明
                <br /></td>
        </tr>
        <tr id='SNR9CAdeMYQ'>
            <td id='s:SNR9CAdeMYQ;SNR9CAbxfBm' style='vertical-align: top;'>checkoutSessionId<br><b>(必須)</b><br><br>Type: string
                <br /></td>
            <td id='s:SNR9CAdeMYQ;SNR9CAaOGKM' style='vertical-align: top;'>Path parameter
                <br /></td>
            <td id='s:SNR9CAdeMYQ;SNR9CASSshX' style='vertical-align: top;'>CheckoutSession識別子
                <br /></td>
        </tr>
        <tr id='SNR9CAcHgxj'>
            <td id='s:SNR9CAcHgxj;SNR9CAbxfBm' style='vertical-align: top;'>chargeAmount<br><b>(必須)</b><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:SNR9CAcHgxj;SNR9CAaOGKM' style='vertical-align: top;'>Body
                <br /></td>
            <td id='s:SNR9CAcHgxj;SNR9CASSshX' style='vertical-align: top;'>取引金額
                <br /></td>
        </tr>
    </tbody>
</table>

#### レスポンス

```
{
    "checkoutSessionId": "bd504926-f659-4ad7-a1a9-9a747aaf5275",
    "webCheckoutDetails": null,
    "chargePermissionType": "Recurring",   
    "recurringMetadata": 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": "S01-5105180-3221187",
    "chargeId": "S01-5105180-3221187-C056351",
    "constraints": [
        null
    ],
    "creationTimestamp": "20191015T204313Z",
    "expirationTimestamp": "20191016T204313Z",
    "storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId",
    "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> を参照してください。