在交易完成之前,应用收据是否反映了有效订阅?
问题描述:
我正在为我的应用程序开发订阅逻辑,并且想知道应用收据是否会反映自动续订订阅,然后交易已收到并标记为已完成?在交易完成之前,应用收据是否反映了有效订阅?
场景:订阅已过期,但用户已启用自动续订功能。他打开我的应用程序,通知订阅已过期。在等待新交易到达时,它会检查最新收据以了解当前状态。最近的应用内购买收据(latest_receipt_info
- >lastObject
)是否适用于刚过期的以前交易,或者即使尚未将其交付给我的应用程序并标记为已完成,也是新的更新交易吗?
我是否应该将过期的过期日期(没有is_in_billing_retry_period
为真)视为已过期的订阅,还是应该等待任何新的交易记录?
答
经过一些测试后,我确定最新收据的确包含最近的到期日期,尽管这没有传递给设备并标记为已完成。
然而,在订阅过期之后,收据还没有用最新的交易进行更新,并且因此声称订阅已经过期,尽管它自动更新。然而,给它几分钟似乎是诀窍,因为它现在声称尽管交易本身没有被应用程序接收,订阅仍然有效。
如果有人可以证实这一点或提供更多的见解,我会非常感激。
可能需要一段时间才能将接收从Apple服务器传播到设备。我也在后台看到了这一点。从Apple收到包含新收据的通知需要一段时间。但直接Ping苹果服务器(使用旧收据数据)应该返回新收据和所有新数据。 另外我相信我们应该忽略'is_in_billing_retry_period',因为Apple可能会尝试续订长达60天的订阅.... – Andy