开发者控制台

使用RVS Cloud Sandbox


使用RVS Cloud Sandbox

RVS Cloud Sandbox是一个适用于RVS (Receipt Verification Service)的沙盒环境,可以用于验证App Tester生成的收据。RVS Cloud Sandbox用于应用的开发阶段,在将应用发布到亚马逊应用商店之前。

环境要求

在使用RVS Cloud Sandbox之前,请确保您的环境符合以下要求。

App Tester

RVS Cloud Sandbox用于验证App Tester生成的收据。您必须在Android移动设备/平板电脑/Fire TV上安装Amazon App Tester工具,才能使用RVS Cloud Sandbox。有关更多详细信息,请参阅App Tester设置

每次完成应用内购买后,App Tester都会发出收据。您需要将App Tester发出的收据传递到您的应用服务器,然后调用RVS Cloud Sandbox以验证收据。

安全协议

该服务器需要通过HTTPS等安全协议安全地与RVS Cloud Sandbox通信。您的服务器将向RVS Cloud Sandbox发送验证请求并处理响应。

RVS响应对象

在请求中,RVS Cloud Sandbox会使用来自PurchaseResponsePurchaseUpdatesResponse方法的RVS响应对象。这些响应对象包含表示用户唯一标识符的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/<UserId>/receiptId/<ReceiptId>
参数 描述
Operation_version_number verifyReceiptId操作的版本号。此版本号独立于IAP版本号。当前verifyReceiptId版本号为“1.0”。
Shared_secret 用于标识发出请求的开发者的共享密钥。您可以在亚马逊应用商店的开发者账户的共享密钥页面上找到您的共享密钥。对于RVS Cloud Sandbox,共享密钥可以是任何非空字符串。RVS Cloud Sandbox服务器不会验证共享密钥,因为只有生产服务器才会验证它。
UserId 代表亚马逊应用商店应用中不同亚马逊客户的标识。在purchaseResponse > userData > UserId中可以找到UserId
ReceiptId 购买的唯一标识。在purchaseResponse > receipt > receiptIdpurchaseUpdatesResponse > receipts > receipt > receiptId中可以找到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个月",
  "termSku": "com.amazon.subs1_term",
  "testTransaction": true
}