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
オブジェクトのデータを使用します。これらのレスポンスオブジェクトから、ユーザーを一意に識別するUserId
を抽出できます。PurchaseResponse
オブジェクトにはReceiptId
が含まれています。これをUserId
と共に使用して、サーバー側で購入のアウトオブバンド検証を実行します。
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/{user-id}/receiptId/{receipt-id}
パラメーター | 説明 |
---|---|
operation-version-number | verifyReceiptId オペレーションのバージョン番号。このバージョン番号は、IAPのバージョン番号とは関係ありません。現在のverifyReceiptId バージョン番号は「1.0」です。 |
shared-secret | リクエストを発行した開発者を識別するための共有シークレット。共有シークレットは、開発者コンソールの [共有キー] ページ(https://developer.amazon.com/sdk/shared-key.html)で確認できます。RVS Cloud Sandboxの場合は、空でない任意の文字列を共有シークレットとして使用できます。共有シークレットは本番サーバーに対してのみ検証されるため、RVS Cloud Sandboxサーバーでは共有シークレットは検証されません。 |
user-id | Amazonアプリストアで公開したアプリを使用する個々のAmazonユーザーを表すID。ユーザーIDは、PurchaseResponse.getUserData().getUserId() から取得します。 |
receipt-id | 購入を一意に識別するID。レシートIDは、PurchaseResponse.getReceipt().getReceiptId() またはPurchaseUpdatesResponse.getReceipts() → Receipt.getReceiptId() から取得します。 |
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",
"promotions": null,
"purchaseDate": 1604613233106,
"quantity": 1,
"receiptId": "q1YqVbJSyjH28DGPKChw9c0o8nd3ySststQtzSkrzM8tCk43K6z0d_HOTcwwN8vxCrVV0lEqBmpJzs_VS8xNrMrP0ysuTSo2BAqXKFkZ6SilACUNzQxMzAyNjYyNDQ3MgDKJSlZpiTnFqTpK6UpWJUWlQEYahFELAA",
"renewalDate": 1606985788979,
"term": "1 Month",
"termSku": "com.amazon.subs1_term",
"testTransaction": true
}
レスポンスのフィールドの説明については、成功したトランザクションのRVSレスポンスフィールドを参照してください。アプリサーバーのセットアップ方法の例については、Appstore SDK IAP用RVS本番環境のセットアップを参照してください。
Last updated: 2024年5月22日