检测用户是否对 'consumable' 的应用内购买商品进行了退款(Apple 应用商店内的应用内购系统)

Detect if a user refunded a 'consumable' in app purchase item (Apple app store in app purchase system)

到目前为止,我在网上了解到,检测用户是否取消应用内购买的唯一方法是使用我从用户 iPhone 获得的收据数据并检查 cancellation_date该项目存在于其中,但据我所知,该字段只能在自动续订订阅项目中找到。

(至少我在网上看到的每 post 我发现谈论应用内购买,根本没有提到消耗品。)

因为它们总是存储在收据数据中,而消耗品则存储在收据数据中,直到应用程序本身完成交易,一旦完成,该项目的购买交易将从收据数据中永远消失iPhone.

上的完成过程之后

所以我的问题是,如果用户请求取消来自 Apple 的应用内购买(这是一种消耗品),我是否也可以在收据数据中通过 cancellation_date 字段取回相同的商品交易在里面?

我从未见过有人证实这一点。

如果有人可以提供包含 cancellation_date 示例的收据数据 base64 字符串,那就太好了(如果这样做是合法的)。

一年前我和你有过同样的问题,我发现 this thread 作者说 Apple 没有添加检测取消购买的方法。我仍然生活在这样的环境中。

最好的了解方式是contacting Apple technical support,每个账户有2个request/year,所以我建议你写在那里。

希望您能找到答案并告诉我们结果。

https://developer.apple.com/documentation/storekit/in-app_purchase/handling_refund_notifications 苹果终于在2020年给出了解决方案!!