iTunes 收据验证 - in_app 为空

Jub*_*ese 7 in-app-purchase ios

在 iTunes 收据的服务器端验证过程中,我们遇到了一些收据,我们收到了空的“in_app”购买。空的 in_app 数组表示 StoreKit 尚未记录该用户的任何交易。为什么会发生这种情况?我们是否有任何解决方案来处理这种 in_app 空收据。

{
  "status": 0,
  "environment": "Production",
  "receipt": {
    "receipt_type": "Production",
    "adam_id": *******,
    "app_item_id": *******,
    "bundle_id": "com.***************",
    "application_version": "0",
    "download_id": 85015170192768,
    "version_external_identifier": 816491596,
    "receipt_creation_date": "2016-03-10 16:29:03 Etc/GMT",
    "receipt_creation_date_ms": "1457627343000",
    "receipt_creation_date_pst": "2016-03-10 08:29:03 America/Los_Angeles",
    "request_date": "2016-03-11 05:24:19 Etc/GMT",
    "request_date_ms": "1457673859599",
    "request_date_pst": "2016-03-10 21:24:19 America/Los_Angeles",
    "original_purchase_date": "2015-12-27 15:37:38 Etc/GMT",
    "original_purchase_date_ms": "1451230658000",
    "original_purchase_date_pst": "2015-12-27 07:37:38 America/Los_Angeles",
    "original_application_version": "1",
    "in_app": []
  }
}
Run Code Online (Sandbox Code Playgroud)

Ron*_*ara 4

空的 in_app 数组表示 StoreKit 尚未记录该用户的任何交易。可能是申请收据尚未更新。发生这种情况时,您的应用程序可以通知用户收据不是最新的,并询问是否刷新它。经用户同意后,您的应用程序应使用 SKReceiptRefreshRequest 类来更新收据。此时,如果 StoreKit 已记录用户的购买,您的应用收据将在 in_app 中显示。有关如何更新收据的更多信息,请参阅刷新应用程序收据。

有关更多信息,请查看:成功购买后,我的应用程序通过 paymentQueue:updatedTransactions: 与 App Store 验证其收据。但是,返回的收据包含一个空的 in_app 数组,而不是预期的产品。