【问题标题】:Is it possible to create test receipts programmatically without an UI/app overhead?是否可以在没有 UI/应用程序开销的情况下以编程方式创建测试收据?
【发布时间】:2018-03-26 20:57:49
【问题描述】:
我们拥有对进行应用内购买(特别是订阅)后生成的收据做出反应的后端服务。现在,我们正在使用一些预先生成的测试收据来验证我们服务的更改。
但使用这些预先生成的收据(使用沙盒环境生成)会限制测试的自动化,因为当我们在一段时间内运行这些测试时,与这些收据相关的产品会更新/取消/过期。查看苹果文档,我找不到任何此类 API。那么,有没有一种方法可以为我的测试动态生成这些测试收据(当然不使用 UI)?
【问题讨论】:
标签:
ios
in-app-purchase
receipt
receipt-validation
【解决方案1】:
如果您想创建 Apple 端点将验证的收据数据,那将非常困难,因为它是由 StoreKit 生成的签名安全容器。这个WWDC talk 深入探讨了收据的实际情况。
验证并不重要,因为它在您的系统之外。您可以模拟 Apple verifyReceipt 调用并编写一个小脚本来生成与您期望的收据外观相匹配的虚假收据响应(JSON)。这就是我们在RevenueCat 的单元和功能测试中所做的。