草庐IT

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

沙盒模式下的应用内购买返回同一产品ID的多个交易。使用语言:Swift4.0funcvalidateAppReceipt(_receipt:Data){letbase64encodedReceipt=receipt.base64EncodedString()print(base64encodedReceipt)letrequestDictionary=["receipt-data":base64encodedReceipt]guardJSONSerialization.isValidJSONObject(requestDictionary)else{print("requestDict

ios - iOS 中的收据验证在沙盒测试期间返回不正确的信息

我正在为我的应用程序实现收据验证,因为它是付费的,并且在以后的应用程序内购买中将免费。我已经设置了我的服务器和所有东西,并且我已经发送了收据数据。但是,当我收到响应时,无论怎样,响应JSON总是说original_application_version是1.0。我验证收据的想法是,如果您的原始应用程序版本早于1.x,那么您可以自动解锁高级版本。但是,即使对于之前从未安装过应用程序的全新Beta测试人员,JSON中的original_application_version也会返回值1.0。我服务器上的URL是https://sandbox.itunes.apple.com/verifyR

javascript - Apple IAP 收据验证 Node.js

我正在尝试使用here中的Node.js对于我的IAP收据验证,但它总是在服务器日志中返回错误:“收据数据属性中的数据格式不正确。”有人可以帮助我将base64字符串正确发送到Node.js并将其解码为相同的base64字符串以进行收据验证吗?我对javascript的经验为零,并且一直试图让这个简单的代码工作两天,但无济于事。这是我的Swift代码:letreceiptData=tryData(contentsOf:appStoreReceiptURL,options:.alwaysMapped)letreceiptString=receiptData.base64EncodedSt

ios - 内购收据校验, "in_app"字段为空

我正在尝试使用iOS5后的方法验证应用内购买,将其发送到我的服务器并在那里进行验证。我的应用程序中的代码非常简单:leturl=NSBundle.mainBundle().appStoreReceiptURL!letreceipt=NSData(contentsOfURL:url)//Getthereceiptdatafromtheappbundleifletreceipt=receipt{letrequestContents:[String:NSString]=["receipt_data":receipt.base64EncodedStringWithOptions(NSDataB

ios - 更改沙箱帐户后,Apple IAP 恢复数据发送相同的收据

我正在使用IAPAuto可续订订阅。更改沙盒帐户后,我使用一个沙盒帐户进行测试,但为了进行收据验证,我仍然收到相同的收据。PS:我也试过了//Hint...handlerequestDidFinishdelegatemethodandthenuseappStoreReceiptURLforreceiptdataletrequest:SKReceiptRefreshRequest=SKReceiptRefreshRequest(receiptProperties:nil);request.delegate=self;request.start();但它一直询问iTunes密码,这很烦人。

ios - 在 Swift 3 中实现收据验证

我正在使用Swift3开发iOS应用程序并尝试按照本教程实现收据验证:http://savvyapps.com/blog/how-setup-test-auto-renewable-subscription-ios-app.但是,该教程似乎是使用早期版本的Swift编写的,因此我不得不进行几处更改。这是我的receiptValidation()函数:funcreceiptValidation(){letreceiptPath=Bundle.main.appStoreReceiptURL?.pathifFileManager.default.fileExists(atPath:recei

java - 如何从网络应用程序打印到收据打印机?

我的客户要求我通过我的Web应用程序在EpsonTMU220(http://pos.epson.com/products/TM-U220.htm)上打印收据。我不知道该怎么做。是否有任何Java小程序或其他可用于打印的东西?我应该使用JasperReports吗?(JasperReports是否有助于解决这个问题?)如果有flashapp可以用,我不反对用。我正在为我的网络应用程序使用Grails。 最佳答案 您不需要小程序,您可以从grailsController使用任何Java库。在javax.print中使用运行时可用的Jav

ios - 自动续订订阅和应用收据

我想知道当IAP自动续订订阅自动续订时,应用收据是否以及何时自动刷新。文档暗示应用收据在购买时更新(续订?)但我在IAP沙箱中没有看到此行为:Informationaboutconsumableproductsandnon-renewingsubscriptionsisaddedtothereceiptwhenthey’repaidforandremainsinthereceiptuntilyoufinishthetransaction.Afteryoufinishthetransaction,thisinformationisremovedthenexttimethereceipti

ios - 将应用内购买收据数据发送到我的服务器

我正在为应用程序内购买实现收据验证服务器端,如ReceiptValidationProgrammingguide所述.每当我尝试将收据编码为Base64并将其发送到我的服务器时,我都会收到来自Apple的错误消息。但是,如果我手动将未编码的base64复制粘贴到服务器上,在那里对其进行编码并触发对Apple的REST调用,他们的iTunes服务器会正​​确响应。我不确定我在客户端做错了什么。代码非常简单:-(NSString*)retrieveReceiptFromCompletedTransaction:(SKPaymentTransaction*)transaction{NSDat

c# - 使用 C# 在应用程序购买收据中验证 iOS

我正在使用C#网络服务在我的服务器上验证我的iosinapppurchase收据我通过在Xcode中执行以下操作获得了字符串形式的收据:-(void)completeTransaction:(SKPaymentTransaction*)transaction{NSString*receiptString=[[NSStringalloc]initWithString:transaction.payment.productIdentifier];NSLog(@"%@",receiptString);NSURL*receiptURL=[[NSBundlemainBundle]appStore