草庐IT

ios - 验证来自客户的应用内购买收据

我阅读了(几乎)所有关于验证应用内购买的答案,实际上我已经以服务器端方式实现了它。但有时管理服务器的成本太高,理论上你可以从你的应用程序中进行验证:基本上只是向Apple发送一个json并得到答案。当然,我知道在越狱设备上,收据可能是假的(这就是您验证它们的原因)但是(请原谅我的无知)为什么我不能信任与Apple服务器的https连接?我的意思是,如果用户破解了我的应用程序,没有真正的方法可以确定任何事情,但如果破解是提供假收据的通用方法,那么与Apple一起测试就足够了吗?需要说明的是,应用内收据验证的安全级别是多少?它可以增加某种程度的保护os没用吗?

ios - Apple 收据 - original_purchase_date 的日期早于应用创建

我对此有点困惑。所以关注thisapproach我得到了包含一堆解密字段的json。其中original_purchase_date。我需要的是跟踪在这个新版本免费之前是否购买了应用程序,我认为我需要为此使用该字段。但出于某种原因,在沙箱环境中它显示日期"original_purchase_date"="2013-08-0107:00:00Etc/GMT";这是提出申请前的几年。所以现在我不确定为什么显示那个日期。original_purchase_date真的是我需要跟踪的字段吗。 最佳答案 对于沙盒环境,原始购买日期始终为“20

ios - 自动续订内购订阅用户流量&刷新收据

我正在使用图书馆RMStore-这是我目前拥有的。1)购买自动续订订阅并验证退回的收据。[[RMStoredefaultStore]addPayment:[Environmentenvironment].premiumProductIAPIdsuccess:^(SKPaymentTransaction*transaction){[[RMStoredefaultStore].receiptVerificatorverifyTransaction:transactionsuccess:^{//enablepremiumservice}failure:^(NSError*error){}];

php - 如何使用 php 验证 Apple IAP 收据?

这个问题在这里已经有了答案:VerifyreceiptforinApppurchase(6个答案)关闭2年前。我正在使用php为iOS应用程序编写服务器。我想通过访问Apple的应用商店服务器来检查收据。根据苹果的帮助文档。我必须向apple的服务器发送一个post请求。http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html#//apple_ref

ios - 何时刷新收据与恢复 iOS 中的购买?

我们的iOS应用使用应用内购买,包括一次性订阅和自动续订订阅。这两者都是非消耗品。iOS提供了两个API:refreshreceipt,和restorecompletedtransactions.似乎后者适用于所有情况,而前者仅适用于某些情况。具体来说,当我们将自动续订购买恢复到新设备时,恢复购买的交易将导致future的续订生成交易,该交易将在后台发送到新设备,而刷新收据不会导致交易下次续订时发送到此设备。鉴于此,是否有任何理由使用刷新收据?Apple似乎说我们可以使用其中之一:Retrieveinformationaboutpastpurchasesbyeitherrefreshi

带收据的 App 购买中的 iOS 还原

以下摘自Apple文档如何在iOS7中恢复App购买。他们说您可以存储收据并稍后查找他们用户已经购买的内容,或者您​​可以刷新AppReceipt。我的问题是:1)是单张收据还是多张收据?2)存储这些收据而不是直接存储用户已经购买了哪些功能更有意义吗3)我如何检查从刷新中获得的收据?到目前为止,我所有解析它的尝试都失败了。4)是否有任何框架已经具备很多功能(在iCloud上保存收据/购买的产品、使购买更容易、处理下载、处理各种连接问题等)?甚至可能有远程服务器支持(和验证)。希望有人能帮帮我!:)刷新应用收据创建收据刷新请求,设置委托(delegate),并启动请求。该请求支持可选属性

ios - App Store Receipt 有时会返回意外的收据

我正在测试自动续订订阅的恢复过程。测试涉及使用不同沙盒帐户在同一设备上多次购买订阅。我正在三种设备上进行测试:iPhone、iPad和iPod。在iPad上我有以下问题:如果我继续从NSBundle.mainBundle().appStoreReceiptURL查询收据,几分钟后,我突然在不同的沙盒ID下收到与早先购买相关联的不同收据。这仍然是一个有效的收据,但与当前登录的沙箱用户没有关联。我检查过:登录用户没有改变。如果我从iPad上删除该应用程序并重新安装,他第一次获得正确收据时使用SKReceiptRefreshRequest刷新收据,但几分钟后他从之前的沙盒用户那里取回了收据。

swift - IAP 实际验证收据 (Swift)

我一直在尝试在我的spritekit游戏中实现收据验证。我一直在关注各种教程,基本上以这段代码结束enumRequestURL:String{caseproduction="https://buy.itunes.apple.com/verifyReceipt"casesandbox="https://sandbox.itunes.apple.com/verifyReceipt"casemyServer="myserveraddress"}enumReceiptStatusCode:Int{//Notdecodablestatuscaseunknown=-2//Nostatusretur

ios - 用户购买和下载应用程序时,苹果会开具收据吗?

如标题所述,我正在实现一个流程来获取本地收据,然后尝试从我们的后端服务器对其进行验证。正如Apple所建议的那样,如果收据为零或无效。我需要做一个收据刷新请求,问题是,这需要网络和用户登录。所以我们面临的实际问题是,从开发构建和试飞构建,当我们构建一个以前没有打开过的全新应用程序时。打开后,它将显示一个弹出窗口,要求用户登录(显然这是因为我的逻辑-如果收据为零,则执行收据刷新请求)。但是我们不想每次都用这个对话框向用户发送垃圾邮件,而且我们有业务需要在应用程序启动时验证用户的收据。回到标题问题,因为开发和测试飞行构建没有按预期工作(显示登录对话框,因为收据为零)。prod构建-从App

macos - 将 openSSL 添加到 Swift OS X 项目以进行收据验证

我正在尝试将OpenSSL包含在SwiftOSX项目中以进行收据验证。我已经成功构建了必要的OpenSSL头文件和库文件。我已将它们添加到我的项目中,但在这样做时没有提示创建桥接头文件。我已经为每个openssl头文件使用#import手动创建了桥接头文件。在项目build设置中,我已将“swift编译器-代码生成”下的objective-c桥接header设置为我的桥接header。我已经按照收据验证编程指南中的描述生成了有效载荷格式的ans1c文件:“Listing1-1ASN.1definitionofthepayloadformat”并将它们添加到我的桥接头中。我在构建时遇到了