使用in_app或latest_receipt_info获取自动续订iOS 7风格交易的最新收据



我正在尝试验证自动续订的应用内购买是否已在服务器端过期(不在设备上)。

我使用的是苹果的大统一收据(iOS 7风格的交易)。苹果返回的响应包含in_applatest_receipt_info元素以及一组收据。in_app JSON元素包含的收据少于latest_receipt_info。我希望这两个元素都包含相同的数字或收据。

此外,我期望in_app元素将包含所有收据。然而,latest_receipt_info似乎实际上包含了所有收据。苹果公司的文档似乎建议使用in_app来查找最新的收据。

我很惊讶地看到latest_receipt_info,因为苹果的文档中指出这个元素"仅返回iOS 6风格的自动续订订阅交易收据。"(非iOS 7+)。

我应该迭代哪个JSON元素来查找自动续订iOS 7风格事务的最新收据:in_app还是latest_receipt_info

只是想明确只有latest_receipt_info字段返回最新续订的收据。这是基于我们从苹果公司得到的实际回报。

相关文档位于第21页

尽管声明CCD_ 12和CCD_;仅返回iOS 6风格的自动续订交易收据订阅";,我们发现它们在我们的iOS 7收据中被退回。receipt对象中的in_app字段也返回了几乎相同的数据,但不包含最新的收据信息,这是您在自动续订时关心的信息。

要验证自动续订是否未过期,请检查latest_receipt_info元素。

这是目前(2017-08-09)正式记录在in_applatest_receipt_info元素上的内容:

in_app

在JSON文件中,该键的值是一个数组,包含基于应用内购买交易的应用内购买收据存在于输入的基于64的接收数据中。对于包含以下内容的收据自动续订,请检查latest_receipt_info键以获取最近续订的状态。

(来源)

latest_receipt_info

仅针对包含自动续订订阅的收据返回。对于iOS 6风格的交易收据,这是JSON表示最近续订的收据的。适用于iOS 7风格的应用程序receives,该键的值是一个包含应用程序中所有内容的数组采购交易。这不包括消耗品的交易您的应用程序已标记为已完成的产品。

(来源)

Babken Vardanyan在多个应答线程中提到,latest_receipt_info有时会丢失。我在这个帖子的收据中看到了一件有趣的事情https://forums.developer.apple.com/thread/92200是latest_receipt_info与in_app的差异。当进行diff时,我注意到链中的第一个收据不见了(包含is_trial_period=true)。它没有生成应用内收据。

如文档中所链接:https://developer.apple.com/library/archive/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW4表示,使用latest_receipt_info作为"对于iOS 7风格的应用程序收据,此密钥的值是一个包含所有应用程序内购买交易的数组。"

对于订阅,不应使用In_app,而应仅使用latest_receipt_info。

https://www.revenuecat.com/2018/09/24/apple-subscription-notifications-are-almost-useless涵盖了边缘情况,如cancell_date,其中是客户服务提供的取消,如本苹果开发者论坛帖子中所示:https://forums.developer.apple.com/thread/96670

我想链接最新的文档应用商店收据

  • latest_receipt_info

包含所有应用内购买交易的数组。这不包括应用程序标记为已完成的消耗品的交易。此仅返回包含自动续订订阅的收据。

  • in_app位于Receipt.in_app

一个数组,包含所有应用内购买交易的应用内购买收据字段。

由于in_app包含所有收据,我更喜欢迭代它并找到自动续订订阅的最新收据。

收据字段(苹果文档)

上面的文档非常清楚地说明了使用in_app。请注意文档中的行"以下未记录的密钥仅供苹果使用,您的应用程序必须忽略"。因此,即使解码的收据具有latest_receipt_info,我们也应该忽略它。

但我同意,文件非常缺乏,这让我很紧张。让我知道你在生产中使用iOS 7风格的收据验证的体验如何。

最新更新