---
title: OneTimeからRecurringへのアップグレード
url: ja/amazon-pay-checkout/ja-upgrading-from-onetime-to-recurring.html
---

OneTimeからRecurringへアップグレードすることが可能です。方法は二つあり、Checkout SessionのchargePermissionTypeを決済フロー中に変更する方法と、決済完了後に購入者をAmazon Payがホストするページに遷移させてアップグレードを確認させた上で、recurring Charge Permissionを作成する方法です。

<!-- <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" /}

*** 


### 決済フロー中にアップグレードする

<a href="../amazon-pay-api-v2/checkout-session.md#update-checkout-session" target="_blank" rel="noopener noreferrer">Update Checkout Session</a>を使用してOneTimeからRecurringへアップグレードします。`chargePermissionType`にRecurringを設定した上、`recurringMetadata.frequency`も指定します。Amazon Payは`recurringMetadata.frequency`を<a href="../amazon-pay-api-v2/charge-permission.md" target="_blank" rel="noopener noreferrer">Charge Permission</a>の期限日と購入者とのコミュニケーションにしか利用しないことに注意してください。支払いサイクルごとの購入者への売上請求のためには<a href="../amazon-pay-api-v2/charge.md#create-charge" target="_blank" rel="noopener noreferrer">Create Charge</a> を必要なタイミングで実行する必要があります。

Checkout Sessionがアップグレードして購入者が決済完了できる準備ができたら、<a href="../amazon-pay-recurring-checkout/verify-and-complete-checkout.md" target="_blank" rel="noopener noreferrer">決済を確認・完了する</a> を実装してください。

#### リクエスト

<div style="display:none" class="environmentSpecificKeys">
<code style="color:black">
curl "https://pay-api.amazon.com/:version/checkoutSessions/:checkoutSessionId" \<br />
-X PATCH<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" \<br />
-X PATCH<br />
-H "authorization:Px2e5oHhQZ88vVhc0DO%2FsShHj8MDDg%3DEXAMPLESIGNATURE"<br />
-H "x-amz-pay-date:20201012T235046Z"<br />
-d @request_body<br />
</code>
</div>

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

```
{
    "chargePermissionType": "Recurring",   
    "recurringMetadata": {
        "frequency": { 
            "unit": "Month", 
            "value": "1" 
        },
        "amount": { 
            "amount": "30",
            "currencyCode": "USD"
        }
    }
}
```

### 決済後にアップグレードする

既存のOneTime Charge Permissionのアップグレードを購入者に確認させるには、購入者をAmazonPayがホストするページにリダイレクトする必要があります。Charge Permissionをアップグレードするためには、次のことを行う必要があります。

1. Amazon Payスクリプトを追加します
2. bindUpgradeActionペイロードを生成します
3. ペイロードに署名する
4. amazon.Pay.bindUpgradeAction()を使用して、クリックイベントをHTML要素にバインドします
5. <a href="../amazon-pay-recurring-checkout/verify-and-complete-checkout.md" target="_blank" rel="noopener noreferrer">決済を確認・完了する</a> を実装します

#### Step 1. Amazon Payスクリプトを追加します

Amazon PayスクリプトをHTMLファイルに追加します。必ず正しいリージョンを選択してください。

<ul id="profileTabs" class="nav nav-tabs">
  <li class="nav-item"><a class="active nav-link noExtIcon" href="#ustab" data-toggle="tab">US</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#eutab" data-toggle="tab">EU / UK</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#jptab" data-toggle="tab">JP</a></li>
</ul>
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="ustab">   
<div markdown="block">
```html
<script src="https://static-na.payments-amazon.com/checkout.js"></script>
```
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="eutab">
<div markdown="block">
```html
<script src="https://static-eu.payments-amazon.com/checkout.js"></script>
```
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="jptab">
<div markdown="block">
```html
<script src="https://static-fe.payments-amazon.com/checkout.js"></script>
```
</div>
  </div>
</div>

#### Step 2. bindUpgradeActionペイロードを生成します

Amazon Payがアップグレード内容を設定するために使用するペイロードを提供します。

bindUpgradeActionペイロードを生成するための手順：
* `chargePermissionType`をRecurringに設定します。
* Recurring Charge Permissionの生成に使用する`chargePermissionId`を、OneTime Charge PermissionのCharge Permission IDに設定します。
* `checkoutResultReturnUrl`を、購入者がアップグレードを確認した後にリダイレクトされるURLに設定します。Checkout Session IDは、クエリパラメータとして指定されたURLに追加されます。
* 配送先住所が必要な物理的なトランザクションの場合は、`productType`をPayAndShipに設定します。取得される配送先住所は、OneTime Charge Permissionに関連付けられている住所になります。デジタル取引の場合、`productType`をPayOnlyに設定します。 
* `chargeAmount`を、アップグレード中にpaymentIntentを使用して処理する必要がある値に設定します。アップグレード中に支払いを要求しない場合は、paymentIntentをConfirmに設定します。
* `recurringMetadata.frequency`を設定して、購入者の信頼を高めます。Amazon Payは、提供された値をCharge Permissionの有効期限の計算と購入者との連絡のためだけに使用することに注意してください。請求サイクルごとの購入者への請求は、<a href="../amazon-pay-api-v2/charge.md#create-charge" target="_blank" rel="noopener noreferrer">Create Charge</a>を呼び出す必要があります。
* `scopes`パラメータを使用して、アップグレードを完了するために必要な購入者情報を指定します。この値を設定しない場合、すべての購入者情報が要求されます。

ペイロードの例

```
{  
    "merchantId":"merchant_id",
    "storeId":"amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId",
    "ledgerCurrency": "USD",
    "chargePermissionType": "Recurring", 
    "chargePermissionId":"charge_permission_id",
    "webCheckoutDetails": {
        "checkoutResultReturnUrl":"https://a.com/merchant-result-page"
    },
    "productType": "PayAndShip",
    "paymentDetails": {
        "paymentIntent": "AuthorizeWithCapture",
        "chargeAmount": {
            "amount": "10",
            "currencyCode": "USD"
        },
        "presentmentCurrency":"USD"
    },
    "recurringMetadata": {
        "frequency": { 
            "unit": "Month", 
            "value": "1" 
        },
        "amount": { 
            "amount": "30",
            "currencyCode": "USD"
        }
    },
    "scopes": ["name", "email", "phoneNumber", "billingAddress"]
}   

```

<table id='ZGB9CAojIVB' style='width: 100%'>
  <tbody>
    <tr id='IXV9CA8wPdP'>
      <td id='s:IXV9CA8wPdP;IXV9CAYD3dl' style='vertical-align: top; font-weight: bold; width: 30%;' class='bold'><b>パラメータ</b>
          <br /></td>
      <td id='s:IXV9CA8wPdP;IXV9CAsibgY' style='vertical-align: top; font-weight: bold; width: 70%;' class='bold'><b>説明</b>
          <br /></td>
    </tr>
    <tr id='ZGB9CAnkDMe'>
      <td id='s:ZGB9CAnkDMe;ZGB9CASGaDX' style='vertical-align: top;'>merchantId<br><b>(必須)</b><br><br>Type: string
         <br/>
      </td>
      <td id='s:ZGB9CAnkDMe;ZGB9CAFAYd9' style='text-align: left;vertical-align: top;'>Amazon Pay 事業者アカウント識別子
         <br/>
      </td>
    </tr>
    <tr id='ZGB9CANVERX'>
      <td id='s:ZGB9CANVERX;ZGB9CASGaDX' style='vertical-align: top;'>storeId<br><b>(必須)</b><br><br>Type: string
         <br/>
      </td>
      <td id='s:ZGB9CANVERX;ZGB9CAFAYd9' style='vertical-align: top;'>Amazon PayのStore IDです。 Amazon Pay インテグレーションセントラル<a href="https://sellercentral.amazon.com/gp/pyop/seller/integrationcentral/" target="_blank" rel="noopener noreferrer">US</a>, <a href="https://sellercentral-europe.amazon.com/gp/pyop/seller/integrationcentral/" target="_blank" rel="noopener noreferrer">EU</a>, <a href="https://sellercentral-japan.amazon.com/gp/pyop/seller/integrationcentral/" target="_blank" rel="noopener noreferrer">JP</a>からこの値を取得します。
         <br/>
      </td>
    </tr>
    <tr id=''>
        <td id='' style='text-align: left;vertical-align: top;'>ledgerCurrency<br>(<b>必須</b>)<br><br>Type: string
            <br /></td>
        <td id='' style='text-align: left;vertical-align: top;'>指定された出品者IDの登録時に提供された通貨<br><br>サポートされている値: 
        <ul>
            <li>US事業者 - 'USD'</li>
            <li>EU事業者 - 'EUR'</li>
            <li>UK事業者 - 'GBP'</li>
            <li>JP事業者 - 'JPY'</li>
          </ul>
        </td>
    </tr>
    <tr id='ZGB9CAg2l3U'>
      <td id='s:ZGB9CAg2l3U;ZGB9CASGaDX' style='vertical-align: top;'>chargePermissionType<br><b>(必須)</b><br><br>Type: string
         <br/>
      </td>
      <td id='s:ZGB9CAg2l3U;ZGB9CAFAYd9' style='vertical-align: top;'>リクエストされたCharge PermissionのType<br><br>サポートされている値:<br>'Recurring' - このCharge Permissionは定期的な注文に使用できます<br><br>
         <br/>
      </td>
    </tr>
    <tr id='ZGB9CAPZgnp'>
      <td id='s:ZGB9CAPZgnp;ZGB9CASGaDX' style='vertical-align: top;'>chargePermissionId<br><b>(必須)</b><br><br>Type: string
         <br/>
      </td>
      <td id='s:ZGB9CAPZgnp;ZGB9CAFAYd9' style='vertical-align: top;'>Recurring Charge Permissionの生成に使用するOneTimeのCharge Permission ID
         <br/>
      </td>
    </tr>
    <tr id='ZGB9CAx0MgW'>
      <td id='s:ZGB9CAx0MgW;ZGB9CASGaDX' style='vertical-align: top;'>recurringMetadata<br><b>(必須)</b><br><br>Type: <a href="https://pay.amazon.com">recurringMetadata</a>
         <br/>
      </td>
      <td id='s:ZGB9CAx0MgW;ZGB9CAFAYd9' style='text-align: left;vertical-align: top;'>RecurringのCharge Permissionの使用方法に関するメタデータ。 Amazon Payは、この情報を使用して、Charge Permissionの有効期限を計算し、購入者と連絡を取ります。
<br /><br />
            請求サイクルごとに購入者に請求するために<a href="../amazon-pay-api-v2/charge.md#create-charge" target="_blank" rel="noopener noreferrer">Create Charge</a>を実行することは事業者責任であることに注意してください。<br><br>
         <br/>
      </td>
    </tr>
    <tr id='ZGB9CAoGMbx'>
      <td id='s:ZGB9CAoGMbx;ZGB9CASGaDX' style='vertical-align: top;'>webCheckoutDetails<br><b>(必須)</b><br><br>Type: <a href="https://pay.amazon.com">webCheckoutDetails</a>
         <br/>
      </td>
      <td id='s:ZGB9CAoGMbx;ZGB9CAFAYd9' style='vertical-align: top;'>購入者がアップグレードを確認した後にリダイレクトされるURL。 URLはHTTPSプロトコルを使用する必要があります。
         <br/>
      </td>
    </tr>
    <tr id='ZGB9CAKuNtj'>
      <td id='s:ZGB9CAKuNtj;ZGB9CASGaDX' style='vertical-align: top;'>productType<br><b>(必須)</b><br><br>Type: string
         <br/>
      </td>
      <td id='s:ZGB9CAKuNtj;ZGB9CAFAYd9' style='text-align: left;vertical-align: top;'>アップグレード用に選択されたAmazon Payインテグレーションタイプ。<br><br>サポートされている値:<br>'PayAndShip' - 購入者のお届け先と支払い方法を使用した決済を提供します。購入者のお届け先情報が必要な場合は、このproduct typeを選択してください<br>'PayOnly' - 購入者の支払い方法のみを使用した決済を提供します。購入者のお届け先情報が必要ない場合は、このproduct typeを選択してください<br><br>デフォルト値: 'PayAndShip'<br>
         <br/>
      </td>
    </tr>
    <tr id=''>
            <td id='' style='vertical-align: top;'>paymentDetails<br><b>(必須)</b><br><br>Type: <a href="../amazon-pay-api-v2/checkout-session.md#type-paymentdetails" target="_blank" rel="noopener noreferrer">paymentDetails</a>
                <br /></td>
            <td id='' style='vertical-align: top;'>購入者に請求する金額や方法など、販売者が指定した支払いの詳細
                <br /></td>
        </tr>
        <tr id='ZGB9CAXYAVt'>
      <td id='s:ZGB9CAXYAVt;ZGB9CASGaDX' style='vertical-align: top;'>checkoutLanguage<br><br>Type: string
         <br/>
      </td>
      <td id='s:ZGB9CAXYAVt;ZGB9CAFAYd9' style='text-align: left;vertical-align: top;'>Amazon Pay Hosted pageでボタンとテキストをレンダリングするために使用される言語。サポートされている言語は、Amazon Payアカウントの申し込みを行った地域によって異なることに注意してください。<br><br>サポートされている値: 
              <ul>
                <li>US事業者 - 'en_US'</li>
                <li>EU/UK事業者 - 'en_GB', 'de_DE', 'fr_FR', 'it_IT', 'es_ES'</li>
                <li>JP事業者 - 'ja_JP'</li>
              </ul>
         <br/>
      </td>
    </tr>
    <tr id='ZGB9CAIJcGa'>
      <td id='s:ZGB9CAIJcGa;ZGB9CASGaDX' style='vertical-align: top;'>scopes<br><br>Type: list&lt;scope&gt;
         <br/>
      </td>
      <td id='s:ZGB9CAIJcGa;ZGB9CAFAYd9' style='text-align: left;vertical-align: top;'>リクエストする購入者の詳細情報。<code>productType</code>を使用して、配送先住所が必要かどうかを指定します。 <br><br>サポートされている値:
                    <ul>		 
                      <li>'Name' - 購入者の氏名</li>		 
                      <li>'Email' - 購入者のメールアドレス</li>		 
                      <li>'PhoneNumber' - 既定の請求先住所に紐づく電話番号</li>		 
                      <li>'BillingAddress' - 既定の請求先住所</li>		 
                    </ul>		 
            デフォルト値: <code>scopes</code>パラメータが設定されていない場合、請求先住所以外のすべての購入者情報をリクエストしたことになります
                <br />
         <br/>
      </td>
    </tr>
  </tbody>
</table>

#### Step 3. ペイロードに署名する

署名を使用してペイロードを保護する必要があります。ペイロードにはタイムスタンプが含まれていないため、ペイロードが変更されない限り、署名を再利用できます。

**オプション1（推奨）:** Amazon Pay SDKで提供されるヘルパー関数を使用して署名を生成します。このヘルパー関数によって生成された署名は、ボタンに対してのみ有効であり、API リクエストに対しては有効ではありません。

<ul id="profileTabs" class="nav nav-tabs">
  <li class="nav-item"><a class="active nav-link noExtIcon" href="#phptab" data-toggle="tab">PHP</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#dotnettab" data-toggle="tab">.NET</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#javatab" data-toggle="tab">Java</a></li>
  <li class="nav-item"><a class="nav-link noExtIcon" href="#nodejstab" data-toggle="tab">Node.js</a></li>
</ul>
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="phptab">   
<div markdown="block">
```
<?php
    include 'vendor/autoload.php';

    $amazonpay_config = array(
        'public_key_id' => 'MY_PUBLIC_KEY_ID',
        'private_key'   => 'keys/private.pem',
        'region'        => 'US',
        'sandbox'       => true
    );

    $client = new Amazon\Pay\API\Client($amazonpay_config);
    $payload = '{"merchantId":"merchant_id","storeId":"amzn1.application-oa2-client.xxxxx","ledgerCurrency":"USD","webCheckoutDetails":{"checkoutResultReturnUrl":"https://example.com/result.html"},"chargePermissionType":"Recurring","chargePermissionId":"P01-1111111-1111111","productType":"PayAndShip","paymentDetails":{"paymentIntent":"AuthorizeWithCapture","chargeAmount":{"amount":"10","currencyCode":"USD"},"presentmentCurrency":"USD"},"recurringMetadata":{"frequency":{"unit":"Month","value":"1"},"amount":{"amount":"30","currencyCode":"USD"}},"scopes":["name","email","phoneNumber","billingAddress"]}';
    $signature = $client->generateButtonSignature($payload);
    echo $signature . "\n";
?>
```
<a href="https://github.com/amzn/amazon-pay-api-sdk-php/blob/master/Amazon/Pay/API/Client.php#L400"  target="_blank" rel="noopener noreferrer">ソースコード</a>
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="dotnettab">
<div markdown="block">
```
var payConfiguration = new ApiConfiguration
(
    region: Region.Europe,
    environment: Environment.Sandbox,
    publicKeyId: "MY_PUBLIC_KEY_ID",
    privateKey: "PATH_OR_CONTENT_OF_MY_PRIVATE_KEY"
);

var client = new WebStoreClient(payConfiguration);

var payload = "{'merchantId':'merchant_id','storeId':'amzn1.application-oa2-client.xxxxx','ledgerCurrency':'USD','webCheckoutDetails':{'checkoutResultReturnUrl':'https://example.com/review.html'},'chargePermissionType':'Recurring','chargePermissionId':'P01-1111111-1111111','productType':'PayAndShip','paymentDetails':{'paymentIntent':'AuthorizeWithCapture','chargeAmount':{'amount':'10','currencyCode':'USD'},'presentmentCurrency':'USD'},'recurringMetadata':{'frequency':{'unit':'Month','value':'1'},'amount':{'amount':'30','currencyCode':'USD'}},'scopes':['name','email','phoneNumber','billingAddress']}";

// generate the button signature
var signature = client.GenerateButtonSignature(payload);
```
<a href="https://github.com/amzn/amazon-pay-api-sdk-dotnet/#generate-button-signature" target="_blank" rel="noopener noreferrer">ソースコード</a>
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="javatab">
<div markdown="block">
```
PayConfiguration payConfiguration = null;
try {
    payConfiguration = new PayConfiguration()
                .setPublicKeyId("YOUR_PUBLIC_KEY_ID")
                .setRegion(Region.YOUR_REGION_CODE)
                .setPrivateKey("YOUR_PRIVATE_KEY_STRING")
                .setEnvironment(Environment.SANDBOX);
}catch (AmazonPayClientException e) {
    e.printStackTrace();
}

AmazonPayClient client = new AmazonPayClient(payConfiguration);

String payload = "{\"merchantId\":\"merchant_id\",\"storeId\":\"amzn1.application-oa2-client.xxxxxx\",\"ledgerCurrency\":\"USD\",\"webCheckoutDetails\":{\"checkoutResultReturnUrl\":\"https://example.com/result.html\"},\"chargePermissionType\":\"Recurring\",\"chargePermissionId\":\"P01-1111111-1111111\",\"productType\":\"PayAndShip\",\"paymentDetails\":{\"paymentIntent\":\"AuthorizeWithCapture\",\"chargeAmount\":{\"amount\":\"10\",\"currencyCode\": \"USD\"},\"presentmentCurrency\":\"USD\"},\"recurringMetadata\":{\"frequency\":{\"unit\":\"Month\",\"value\":\"1\"},\"amount\":{\"amount\":\"30\",\"currencyCode\":\"USD\"}},\"scopes\": [\"name\",\"email\",\"phoneNumber\",\"billingAddress\"]}";
String signature = client.generateButtonSignature(payload);


```
<a href="https://github.com/amzn/amazon-pay-api-sdk-java/blob/bbbf89c480f07f8a7217a0a50e88131832612f59/src/com/amazon/pay/api/AmazonPayClient.java#L105"  target="_blank" rel="noopener noreferrer">ソースコード</a>
</div>
  </div>
  <div role="tabpanel" class="tab-pane" id="nodejstab">
<div markdown="block">
```html
const fs = require('fs');
const Client = require('@amazonpay/amazon-pay-api-sdk-nodejs');

const config = {
    publicKeyId: 'ABC123DEF456XYZ',
    privateKey: fs.readFileSync('tst/private.pem'),
    region: 'us',
    sandbox: true
};

const testPayClient = new Client.AmazonPayClient(config);
const payload = {
    "merchantId": "merchant_id",
    "webCheckoutDetails": {
        "checkoutResultReturnUrl": "https://example.com/result.html"
    },
    "storeId": "amzn1.application-oa2-client.xxxxx",
    "ledgerCurrency":"USD",
    "chargePermissionType": "Recurring",   
    "chargePermissionId": "P01-1111111-1111111",
    "productType": "PayAndShip",
    "paymentDetails": {
        "paymentIntent": "AuthorizeWithCapture",
        "chargeAmount": {
            "amount": "10",
            "currencyCode": "USD"
        },
        "presentmentCurrency":"USD"
    },
    "recurringMetadata": {
        "frequency": { 
            "unit": "Month", 
            "value": "1" 
        },
        "amount": { 
            "amount": "30",
            "currencyCode": "USD"
        }
    }, 
    "scopes": ["name", "email", "phoneNumber", "billingAddress"] 
};
const signature = testPayClient.generateButtonSignature(payload);
```
<a href="https://github.com/amzn/amazon-pay-api-sdk-nodejs/blob/23c3f03f06a4deab437a42885e1d1f548287e7f3/src/client.js#L60"  target="_blank" rel="noopener noreferrer">ソースコード</a>
</div>
  </div>
</div>

**オプション2:** <a href="../amazon-pay-api-v2/signing-requests.md" target="_blank" rel="noopener noreferrer">署名リクエスト</a>ガイドのステップ2と3に従って、手動で署名を作成します。

#### Step 4. amazon.Pay.bindUpgradeAction()を使用して、クリックイベントをHTML要素にバインドします

前の2つの手順の値を使用して、クリックイベントをHTML要素にバインドします。購入者がHTML要素をクリックすると、Amazon Payがホストするページにリダイレクトされてアップグレードが確認されます。

```
<script type="text/javascript" charset="utf-8">
  amazon.Pay.bindUpgradeAction('#changeButton1', {
    payloadJSON: 'payload', // string generated in step 2
    signature: 'xxxx', // signature generated in step 3 
    publicKeyId: 'xxxxxxxxxx',
    upgradeAction: 'recurringUpgrade'
  });
</script>
```

#### Step 5. <a href="../amazon-pay-recurring-checkout/verify-and-complete-checkout.md" target="_blank" rel="noopener noreferrer">決済を確認・完了する</a> を実装します

購入者は、アップグレードを確認した後、`checkoutResultReturnUrl`にリダイレクトされます。その際、Recurring(継続支払い)のインテグレーションガイド中の<a href="../amazon-pay-recurring-checkout/verify-and-complete-checkout.md" target="_blank" rel="noopener noreferrer">決済を確認・完了する</a>に従い、アップグレードを完了させる必要があります。


