刷新 iOS IAP 收据以恢复购买始终会返回收据,即使未进行任何购买也是如此

Posted

技术标签:

【中文标题】刷新 iOS IAP 收据以恢复购买始终会返回收据,即使未进行任何购买也是如此【英文标题】:Refreshing iOS IAP receipt to restore purchases always return a receipt even if no purchase has been made 【发布时间】:2015-08-22 14:57:09 【问题描述】:

我正在我的应用中实现一个恢复按钮,以便用户可以在他的设备上恢复 IAP(自动续订订阅)。代码很简单(ios 7+):

request = [[SKReceiptRefreshRequest alloc] init];
request.delegate = self;
[request start];

当我运行此代码时,App Store 会提示输入用户凭据,但即使 App Store 用户没有购买任何东西,我也会收到有效收据。

如何区分用户拥有与其 iTunes 帐户相关联的有效订阅的情况和用户没有要恢复的有效订阅的情况?还是不需要在Restore按钮中实现这个逻辑?

谢谢,

【问题讨论】:

When to refresh a receipt vs restore purchases in iOS? 【参考方案1】:

在 iOS 7 及更高版本(以及 OS X v10.9 及更高版本,IIRC)中,操作系统会为应用程序本身提供收据。因此,即使您没有购买任何商品,您也可以在刷新后获得最少的收据。

【讨论】:

以上是关于刷新 iOS IAP 收据以恢复购买始终会返回收据,即使未进行任何购买也是如此的主要内容,如果未能解决你的问题,请参考以下文章

iOS7应用收据中的交易ID何时更改?

如何清除测试设备上非消耗品的 iOS IAP 收据?

iOS - IAP 问题,对应用商店收据感到困惑

适用于iOS应用的收据验证码,无法使用

IOS7验证iap收据,in_app文件是啥意思?

如何使用 Amazon API 轻松恢复购买?