gpt4 book ai didi

ios - 如何使用 iOS 7 样式收据查找应用内购买的最新收据

转载 作者:行者123 更新时间:2023-11-29 02:36:08 25 4
gpt4 key购买 nike

当用户购买应用内商品时,我试图在设备本地获取最新的收据信息。我的问题是我无法弄清楚如何从 latest_receipt_info 字段中的收据数组中获取最新收据(应该是最新购买生成的收据)。不知何故,所有收据中的所有 pruchase_date_ms 字段都具有相同的值。

 {
"expires_date" = "2014-07-09 20:32:10 Etc/GMT";
"expires_date_ms" = 1404937930000;
"expires_date_pst" = "2014-07-09 13:32:10 America/Los_Angeles";
"is_trial_period" = false;
"original_purchase_date" = "2014-07-09 20:27:10 Etc/GMT";
"original_purchase_date_ms" = 1404937630000;
"original_purchase_date_pst" = "2014-07-09 13:27:10 America/Los_Angeles";
"original_transaction_id" = 1000000116335839;
"product_id" = "product1";
"purchase_date" = "2014-10-13 10:28:39 Etc/GMT";
"purchase_date_ms" = 1413196119831;
"purchase_date_pst" = "2014-10-13 03:28:39 America/Los_Angeles";
quantity = 1;
"transaction_id" = 1000000116358850;
"web_order_line_item_id" = 1000000028383484;
},
{
"is_trial_period" = false;
"original_purchase_date" = "2014-09-15 13:34:17 Etc/GMT";
"original_purchase_date_ms" = 1410788057000;
"original_purchase_date_pst" = "2014-09-15 06:34:17 America/Los_Angeles";
"original_transaction_id" = 1000000123804432;
"product_id" = "product2";
"purchase_date" = "2014-10-13 10:28:39 Etc/GMT";
"purchase_date_ms" = 1413196119831;
"purchase_date_pst" = "2014-10-13 03:28:39 America/Los_Angeles";
quantity = 1;
"transaction_id" = 1000000123804432;
}

在上面的示例中,我实际上为 product2 进行了测试购买,但现在我也有 product1 的收据,其 purchase_date_ms>。谁知道为什么?

最佳答案

此代码可用于获取自动更新应用内购买的最后交易收据

if let receipt =  NSBundle.mainBundle().appStoreReceiptURL {
if let data = NSData(contentsOfURL: receipt) {
let requestContents:[String:String] = ["receipt-data":data.base64EncodedStringWithOptions([]), "password": “Your Shared Secret from iTunes Connect App”]
let requestData = try! NSJSONSerialization.dataWithJSONObject(requestContents,options: [])
let request = NSMutableURLRequest(URL: NSURL(string: "https://sandbox.itunes.apple.com/verifyReceipt")!)
request.HTTPMethod = "POST"
request.HTTPBody = requestData
let (param, _) = Alamofire.ParameterEncoding.URL.encode(request, parameters: nil)

Alamofire.request(param)
.responseJSON(options: [], completionHandler: { (result) -> Void in

if(result.result.isSuccess)
{
let dictionary : NSDictionary = result.result.value as! NSDictionary

let status = dictionary["status"] as! Int

if(status == 0)
{
let receipts: NSMutableArray = dictionary["latest_receipt_info"] as! NSMutableArray

let latestRecipt = receipts.lastObject as? NSDictionary
// This is receipt of your last transaction for auto renewable in-App purchases only
print(“Last Receipt \(latestRecipt)")
}
else
{
NSLog("Something went wrong Status = \(status)")
if(status == 21006)
{
NSLog("subscription is Expired or cancelled")
}

}

}

})
} else {
NSLog("Reciept has no data")
}
}else {
NSLog("Reciept not found")

}

关于ios - 如何使用 iOS 7 样式收据查找应用内购买的最新收据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26338274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com