草庐IT

ios - Apple IAP 订阅续订检测(iOS7+收据)

首先,这个问题与iOS7+收据有关,因此所有关于latest_receipt和latest_receipt_info的问题/答案都不适用(因为它们已被弃用并且正在离开)。似乎关于在SO上续订订阅的大部分知识库来自2011年和2012年,因此具有误导性并为当前规范提供了不正确的信息。我知道我用户的当前订阅何时到期。我想知道他们是否更新了它。根据Apple在续订订阅时的说法:Afterasubscriptionissuccessfullyrenewed,StoreKitaddsatransactionfortherenewaltothetransactionqueue.Yourappche

ios - 如何将交易收据关联到可以在 iTunes Connect 中下载的财务报告?

有没有办法将来自付款对象的收据与财务报告、销售报告或银行对账单中收到的信息相关联?无论验证是否成功,我都会将所有购买信息记录在我的数据库中。当我在iTunesconnect中查看财务报告时,我发现我又收到了3笔付款。我的问题是我怎么知道谁需要补偿?Apple的收据包括数量、product_id、transaction_id、purchase_date、original_transaction_id、original_purchase_date、app_item_id、version_external_identifier、bid、bvrs。财务报告包括开始日期、结束日期、UPC、ISR

iphone - iOS 应用内购买收据未返回重新下载的 original_purchase_date

我正在尝试根据original_purchase_date和/或original_transaction_id使用iOS商店收据来区分购买和重新下载。无论交易是新购买还是重新下载,商店收据总是返回一个新的original_purchase_date,它等于purchase_date值。这是我取回的真实商店收据(这是对现有应用内购买的重新下载-因为我目前不得不依靠UDID跟踪来区分它们){"product_id":"com.myproduct.id","original_purchase_date_ms":"1329825956382","purchase_date_ms":"13298

ios - 保存/恢复自动续订收据,不重复

我正在开发一个具有自动更新收据的应用程序,并将它们保存在服务器中,这一切都运行良好,直到用户恢复他们的购买-这会导致重复。transaction_id字段对于每次恢复的同一张收据都是不同的,original_transaction_id在每次续订中显然是相同的,所以我不能使用它.unique_identifier字段也是一样的(我不明白它是如何唯一的)。我一直在使用web_order_line_item_id字段,它看起来不错,但我只是用一个全新的帐户对此进行了测试,结果得到了一个副本,所以它也没有用。我在这里显然遗漏了什么?必须有一个字段对每张收据都是唯一的,但每次恢复时都不会改变?

ios - 如何批量验证IOS内购收据?

我正在开发一款iOS应用,它将使用Apple的应用内购买框架让用户创建自动续订订阅。我希望我的服务器定期检查订阅是否已过期。苹果的ReceiptValidationProgrammingGuide描述了一个用于验证单个收据的verifyReceipt网络服务。但是,如果我想每隔几天对我的整个数据库进行一次批量验证,有没有比大量调用verifyReceipt调用更好的方法呢? 最佳答案 您不需要批量验证整个数据库。订阅在固定期限内有效。如果用户取消他们的订阅,那么这将在下一个续订期生效,而不是立即生效。如果用户遇到问题(错误的产品购买

应用程序购买收据验证中的 iOS - 沙盒与生产网址?

我关注了RayWenderlich'stutorial在我的应用程序中实现收据验证。代码直接从我的应用程序连接到Apple的验证服务器,而不是通过我自己的服务器。在我将我的第一个二进制文件提交到AppStore后,我测试了我的应用程序并且应用程序内购买不起作用,因为我已将它从沙盒URL切换到生产URL。当他们的AppStore审阅者测试它时,这是否也会失败并因此被拒绝?我读过thispost但如果我不使用自己的服务器,我仍然很困惑这是否适用于我。 最佳答案 解决方案非常简单,在WWDC2012的第308次session上进行了解释(

ios - 应用收据中未显示交易标识符

我正在处理自动续订订阅。当应用程序成功完成交易时,它会将收据发送到我们的服务器以对其进行验证并检查收据中是否存在最后的交易标识符。有时,我们的服务器会返回一个错误,指出在收据中找不到交易标识符。我已经在应用程序中本地确认了这一点。即使在刷新收据后,有时也找不到交易标识符。此外,购买已成功,因为尝试再次购买相同的订阅会提示iOS弹出消息,说明订阅当前处于事件状态。显然这种奇怪的行为发生在沙盒环境中。另请注意,我使用最多3个测试用户在他们之间来回切换。有没有人遇到过类似的问题?对正在发生的事情有什么想法吗? 最佳答案 在过去的2天里,我

ios - 返回 iOS 应用内购买收据验证中的许多交易

我的应用程序包含消耗性IAP产品,当我使用此代码调用验证收据时返回多个交易:[[NSBundlemainBundle]appStoreReceiptURL];有什么方法可以只返回最后一笔交易吗?跟恢复交易有关系吗?我检查了这个MultiplereceiptcountforrestoreCompletedTransactioninapppurchasing还有这个iOSin-app-purchaserestorereturnsmanytransactions.我尝试恢复所有购买,但没有成功。我正在使用这些线路来调用回执:-(void)checkReceipt{NSURL*receiptU

ios - 似乎有有效收据的 IAP 破解

我们在iOS应用商店上有一个成功的应用程序内购买应用程序。每次购买完成时,我们都会将收据发送到我们的服务器,然后我们的服务器会使用Apple的服务器检查收据并记录苹果的响应(包括购买是否有效以及它们是否来self们的应用程序在同一时间和日期)。我们有相当多的使用iap破解的用户向我们发送了苹果说无效的收据。然而,我们现在开始看到作弊者拥有苹果回复有效的收据。这些作弊的奇怪之处在于,当这样的作弊用户在我们的应用程序中购买时,他通常会使用完全相同的收据购买所有商品。你听说过这种“愚弄”苹果收据验证的方法吗?(生成收据,苹果会在“购买”时说它们来self们的应用程序)我们是否可以做些什么来在

iOS 收据验证状态码 21009 : What’s MZInAppCacheAccessException?

我是validatingreceiptswiththeAppStore.在极少数情况下(~0,5‰),JSON如下所示:{"exception":"com.apple.jingle.commercelogic.inappcache.MZInAppCacheAccessException","status":21009,"environment":"Production"}遗憾的是,Apple没有在他们的statuscodetable中提及此代码.在搜索异常的名称时,在整个网络范围内只有一个引用,这是Apple开发者论坛上的一个指示性线程:WhatisErrorcode21009?除了一