1

我在我的一个项目中使用自动更新应用内购买。

为了检查到期日期,我正在解析收据并将订阅日期与今天的日期进行比较。对于最新订阅,我从latest_receipt_info键中获取最后一个对象,但现在我注意到latest_receipt_info的顺序/排序在我的收据验证响应中是相反的,我的意思是最新订阅来自 0 索引(第一个而不是最后一个)。

in_app键也以相同的方式返回数据。

我有几个问题,谁能帮帮我

  1. 以前有人遇到过这个问题吗?
  2. 检查最新订阅日期的正确方法是什么
  3. latest_receipt键也是空白

我知道要对响应进行自己的排序,但要寻找正确的方法。

以下是我的收据回复,我只包括必需的密钥。

{
  "status": 0,
  "environment": "Production",
  "receipt": {
  //other keys/values
  "in_app": [
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-06-29 14:47:20 Etc/GMT",**
    //other keys/values
  },
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-05-29 14:47:20 Etc/GMT",**
   //other keys/values
  }]},
  "latest_receipt_info": [
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-06-29 14:47:20 Etc/GMT",**
  },
  {
    "product_id": "MyTestMontlyPlan",
    **"expires_date": "2020-05-29 14:47:20 Etc/GMT",**
  }],
  "latest_receipt": "...", //idk why it is blank, in sandbox we receive receipt data here
  "pending_renewal_info": [
  {
    "auto_renew_product_id": "MyTestMontlyPlan",
    "original_transaction_id": "#############",
    "product_id": "MyTestMontlyPlan",
    "auto_renew_status": "1"
  }]
}
4

1 回答 1

1

为了安全起见,这些现在按 pruchase_date_* 排序,您应该自己对该数组进行排序以防止将来发生任何更改。过滤掉具有先前到期日期并已升级的交易。

于 2020-06-20T12:53:27.143 回答