开发者控制台

使用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请求使用来自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/<UserId>/receiptId/<ReceiptId>
参数 描述
Operation_version_number verifyReceiptId操作的版本号。此版本号独立于IAP版本号。当前verifyReceiptId版本号为“1.0”。
Shared_secret 用于标识发出请求的开发者的共享密钥。您可以在亚马逊应用商店的开发者账户的共享密钥页面上找到您的共享密钥。对于RVS Cloud Sandbox,共享密钥可以是任何非空字符串。RVS Cloud Sandbox服务器不会验证共享密钥,因为只有生产服务器才会验证它。
UserId 代表亚马逊应用商店应用中不同亚马逊客户的标识。在PurchaseResponse.getUserData().getUserId()中查找UserId
ReceiptId 购买的唯一标识。在PurchaseResponse.getReceipt().getReceiptId()PurchaseUpdatesResponse.getReceipts()Receipt.getReceiptId()中查找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": "订阅",
  "promotions": null,
  "purchaseDate": 1604613233106,
  "quantity": 1,
  "receiptId": "q1YqVbJSyjH28DGPKChw9c0o8nd3ySststQtzSkrzM8tCk43K6z0d_HOTcwwN8vxCrVV0lEqBmpJzs_VS8xNrMrP0ysuTSo2BAqXKFkZ6SilACUNzQxMzAyNjYyNDQ3MgDKJSlZpiTnFqTpK6UpWJUWlQEYahFELAA",
  "renewalDate": 1606985788979,
  "term": "1个月",
  "termSku": "com.amazon.subs1_term",
  "testTransaction": true
}

有关响应中字段的说明,请参阅成功交易的RVS响应字段。有关如何设置应用服务器的示例,请参阅RVS生产环境说明


Last updated: 2023年12月4日