開発者コンソール

RVS Cloud Sandbox環境のセットアップ


RVS Cloud Sandbox環境のセットアップ

RVS Cloud Sandboxは、RVS(レシート検証サービス)用のサンドボックス環境です。この環境を使用して、App Testerで生成されたレシートを検証します。アプリをAmazonアプリストアで公開する前に、アプリの開発段階でRVS Cloud Sandboxを使用してください。

環境要件

RVS Cloud Sandboxを使用する前に、環境が次の要件を満たしていることを確認してください。

App Tester

RVS Cloud Sandboxは、App Testerで生成されたレシートを検証するために使用されます。RVS Cloud Sandboxを使用する前に、Androidモバイルデバイス/タブレット/Fire TVにAmazon App Testerツールをインストールしておく必要があります。詳細については、App Testerをインストールして構成する方法を参照してください。

App Testerは、アプリでの購入が完了するごとにレシートを送信します。App Testerのレシートをアプリサーバーに渡してから、RVS Cloud Sandboxを呼び出してレシートを検証する必要があります。

セキュアプロトコル

サーバーとRVS Cloud Sandboxとの通信は、HTTPSなどのセキュリティで保護されたプロトコルを使用して安全に行う必要があります。サーバーでは、RVS Cloud Sandboxに検証リクエストを送信し、レスポンスを処理します。

RVSレスポンスオブジェクト

RVS Cloud Sandboxは、リクエストでPurchaseResponseメソッドまたはPurchaseUpdatesResponseメソッドから受け取ったRVSレスポンスオブジェクトを使用します。これらのレスポンスオブジェクトには、ユーザーを一意に識別するUserIdが含まれています。PurchaseResponse内のレシートにはReceiptIdが含まれています。これをユーザーIDと共に使用して、サーバー側で購入のアウトオブバンド検証を実行します。

RVS Cloud Sandboxリクエストの送信

RVS Cloud Sandboxを使用するには、HTTPS経由でRVS Cloud Sandboxエンドポイント(https://appstore-sdk.amazon.com/sandbox)にリクエストを送信する必要があります。

リクエストには次の形式を使用します。山かっこで囲まれた用語は下表の値に置き換えてください。

https://appstore-sdk.amazon.com/sandbox/version/<Operation_version_number>/verifyReceiptId/developer/<Shared_Secret>/user/<UserId>/receiptId/<ReceiptId>
パラメーター 説明
Operation_version_number verifyReceiptIdオペレーションのバージョン番号。このバージョン番号は、IAPのバージョン番号とは関係ありません。現在のverifyReceiptIdバージョン番号は「1.0」です。
Shared_Secret リクエストを発行した開発者を識別するための共有シークレット。共有シークレットは、Amazonアプリストアの開発者アカウントの [共有キー] ページで確認できます。RVS Cloud Sandboxの場合は、空でない任意の文字列を共有シークレットとして使用できます。共有シークレットは本番サーバーに対してのみ検証されるため、RVS Cloud Sandboxサーバーでは共有シークレットは検証されません。
UserId Amazonアプリストアで公開したアプリを使用する個々のAmazonユーザーを表すID。UserIdは、purchaseResponse > userData > userIdで確認できます。
ReceiptId 購入を一意に識別するID。ReceiptIDは、purchaseResponse > receipt > receiptIdまたはpurchaseUpdatesResponse > receipts > receipt > receiptIdで確認できます。

RVS Cloud Sandboxの例

次のリクエストは、RVS Cloud Sandboxでレシートを検証します。

https://appstore-sdk.amazon.com/sandbox/version/1.0/verifyReceiptId/developer/developerSecret/user/l3HL7XppEMhrOGDnur9-ulvqomrSg6qyODKmah76lJU=/receiptId/q1YqVbJSyjH28DGPKChw9c0o8nd3ySststQtzSkrzM8tCk43K6z0d_HOTcwwN8vxCrVV0lEqBmpJzs_VS8xNrMrP0ysuTSo2BAqXKFkZ6SilACUNzQxMzAyNjYyNDQ3MgDKJSlZpiTnFqTpK6UpWJUWlQEYahFELAA

この呼び出しでは、RVS Cloud SandboxサーバーからJSONレスポンスを受け取ります。

{
  "autoRenewing": false,
  "betaProduct": false,
  "cancelDate": null,
  "cancelReason": null,
  "deferredDate": null,
  "deferredSku": null,
  "freeTrialEndDate": 1606985788979,
  "gracePeriodEndDate": 1606985788979,
  "parentProductId": null,
  "productId": "com.amazon.subs1",
  "productType": "SUBSCRIPTION",
  "purchaseDate": 1604613233106,
  "quantity": 1,
  "receiptId": "q1YqVbJSyjH28DGPKChw9c0o8nd3ySststQtzSkrzM8tCk43K6z0d_HOTcwwN8vxCrVV0lEqBmpJzs_VS8xNrMrP0ysuTSo2BAqXKFkZ6SilACUNzQxMzAyNjYyNDQ3MgDKJSlZpiTnFqTpK6UpWJUWlQEYahFELAA",
  "renewalDate": 1606985788979,
  "term": "1 Month",
  "termSku": "com.amazon.subs1_term",
  "testTransaction": true
}