iphone - 解读苹果的交易收据

标签 iphone ios json ios4 in-app-purchase

我需要从 Apple 服务器返回的交易收据中获取到期日期。

请帮助我从中获取所需信息。latest_receipt_info 和收据也有有效期和其他信息。我应该使用哪个。

我还需要在插入到我的 php 服务器之前转换购买日期。如果是这样,我需要将它放在哪个时区。

我的问题可能看起来很垃圾。请耐心等待。

非常感谢

"receipt":{"original_purchase_date_pst":"2012-07-24 05:41:19 America/Los_Angeles", "unique_identifier":"46f070c011e0da17bc168ae9d3901dcf961f8c09", "original_transaction_id":"1000000053343936", "expires_date":"1343135478998", "transaction_id":"1000000053343936", "quantity":"1", "product_id":"com.XX.XXX", "original_purchase_date_ms":"1343133679239", "bid":"com.XX.XXX", "web_order_line_item_id":"1000000026126403", "bvrs":"1.0", "expires_date_formatted":"2012-07-24 13:11:18 Etc/GMT", "purchase_date":"2012-07-24 12:41:18 Etc/GMT", "purchase_date_ms":"1343133678998", "expires_date_formatted_pst":"2012-07-24 06:11:18 America/Los_Angeles", "purchase_date_pst":"2012-07-24 05:41:18 America/Los_Angeles", "original_purchase_date":"2012-07-24 12:41:19 Etc/GMT", "item_id":"547592716"}, "latest_receipt_info":{"original_purchase_date_pst":"2012-07-24 05:41:19 America/Los_Angeles", "unique_identifier":"46f070c011e0da17bc168ae9d3901dcf961f8c09", "original_transaction_id":"1000000053343936", "expires_date":"1343135478000", "transaction_id":"1000000053343936", "quantity":"1", "product_id":"com.XX.XXX", "original_purchase_date_ms":"1343133679000", "bid":"com.XX.XXX", "web_order_line_item_id":"1000000026126403", "bvrs":"1.0", "expires_date_formatted":"2012-07-24 13:11:18 Etc/GMT", "purchase_date":"2012-07-24 12:41:18 Etc/GMT", "purchase_date_ms":"1343133678000", "expires_date_formatted_pst":"2012-07-24 06:11:18 America/Los_Angeles", "purchase_date_pst":"2012-07-24 05:41:18 America/Los_Angeles", "original_purchase_date":"2012-07-24 12:41:19 Etc/GMT", "item_id":"547592716"}, "status":0, "latest_receipt":"ewoJInNpZ25hdHVyZSIgPSAiQWgvbnBVK2liUWpHR3VHWFBrNlZ0OUUzbEwwWjFPeUgyeHYxM0RKbXYxK1RuRHBZa1JCcThYbXlxd1BaUDRvNDcvY3A1RWNCMUFmYi9SbnYzQldoZWNVQ1ZsVk85b0hmTDljUVloY01TTHdyNURFcVdFTTZqbXRpRjNxN3VldmlCcE5qb2l3b3pjWmIyaXlzYTE3emVoaVplTlNRVlByYXhUSmppNFFoTjdDWkFBQURWekNDQTFNd2dnSTdvQU1DQVFJQ0NHVVVrVTNaV0FTMU1BMEdDU3FHU0liM0RRRUJCUVVBTUg4eEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUtEQXBCY0hCc1pTQkpibU11TVNZd0pBWURWUVFMREIxQmNIQnNaU0JEWlhKMGFXWnBZMkYwYVc5dUlFRjFkR2h2Y21sMGVURXpNREVHQTFVRUF3d3FRWEJ3YkdVZ2FWUjFibVZ6SUZOMGIzSmxJRU5sY25ScFptbGpZWFJwYjI0Z1FYVjBhRzl5YVhSNU1CNFhEVEE1TURZeE5USXlNRFUxTmxvWERURTBNRFl4TkRJeU1EVTFObG93WkRFak1DRUdBMVVFQXd3YVVIVnlZMmhoYzJWU1pXTmxhWEIwUTJWeWRHbG1hV05oZEdVeEd6QVpCZ05WQkFzTUVrRndjR3hsSUdsVWRXNWxjeUJUZEc5eVpURVRNQkVHQTFVRUNnd0tRWEJ3YkdVZ1NXNWpMakVMTUFrR0ExVUVCaE1DVlZNd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFNclJqRjJjdDRJclNkaVRDaGFJMGc4cHd2L2NtSHM4cC9Sd1YvcnQvOTFYS1ZoTmw0WElCaW1LalFRTmZnSHNEczZ5anUrK0RyS0pFN3VLc3BoTWRkS1lmRkU1ckdYc0FkQkVqQndSSXhleFRldngzSExFRkdBdDFtb0t4NTA5ZGh4dGlJZERnSnYyWWFWczQ5QjB1SnZOZHk2U01xTk5MSHNETHpEUzlvWkhBZ01CQUFHamNqQndNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVOaDNvNHAyQzBnRVl0VEpyRHRkREM1RllRem93RGdZRFZSMFBBUUgvQkFRREFnZUFNQjBHQTFVZERnUVdCQlNwZzRQeUdVakZQaEpYQ0JUTXphTittVjhrOVRBUUJnb3Foa2lHOTJOa0JnVUJCQUlGQURBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQUVhU2JQanRtTjRDL0lCM1FFcEszMlJ4YWNDRFhkVlhBZVZSZVM1RmFaeGMrdDg4cFFQOTNCaUF4dmRXLzNlVFNNR1k1RmJlQVlMM2V0cVA1Z204d3JGb2pYMGlreVZSU3RRKy9BUTBLRWp0cUIwN2tMczlRVWU4Y3pSOFVHZmRNMUV1bVYvVWd2RGQ0TndOWXhMUU1nNFdUUWZna1FRVnk4R1had1ZIZ2JFL1VDNlk3MDUzcEdYQms1MU5QTTN3b3hoZDNnU1JMdlhqK2xvSHNTdGNURXFlOXBCRHBtRzUrc2s0dHcrR0szR01lRU41LytlMVFUOW5wL0tsMW5qK2FCdzdDMHhzeTBiRm5hQWQxY1NTNnhkb3J5L0NVdk02Z3RLc21uT09kcVRlc2JwMGJzOHNuNldxczBDOWRnY3hSSHVPTVoydG04bnBMVW03YXJnT1N6UT09IjsKCSJwdXJjaGFzZS1pbmZvIiA9ICJld29KSW05eWFXZHBibUZzTFhCMWNtTm9ZWE5sTFdSaGRHVXRjSE4wSWlBOUlDSXlNREV5TFRBM0xUSTBJREExT2pReE9qRTVJRUZ0WlhKcFkyRXZURzl6WDBGdVoyVnNaWE1pT3dvSkluQjFjbU5vWVhObExXUmhkR1V0YlhNaUlEMGdJakV6TkRNeE16TTJOemd3TURBaU93b0pJblZ1YVhGMVpTMXBaR1Z1ZEdsbWFXVnlJaUE5SUNJME5tWXdOekJqTURFeFpUQmtZVEUzWW1NeE5qaGhaVGxrTXprd01XUmpaamsyTVdZNFl6QTVJanNLQ1NKdmNtbG5hVzVoYkMxMGNtRnVjMkZqZEdsdmJpMXBaQ0lnUFNBaU1UQXdNREF3TURBMU16TTBNemt6TmlJN0Nna2laWGh3YVhKbGN5MWtZWFJsSWlBOUlDSXhNelF6TVRNMU5EYzRNREF3SWpzS0NTSjBjbUZ1YzJGamRHbHZiaTFwWkNJZ1BTQWlNVEF3TURBd01EQTFNek0wTXprek5pSTdDZ2tpYjNKcFoybHVZV3d0Y0hWeVkyaGhjMlV0WkdGMFpTMXRjeUlnUFNBaU1UTTBNekV6TXpZM09UQXdNQ0k3Q2draWQyVmlMVzl5WkdWeUxXeHBibVV0YVhSbGJTMXBaQ0lnUFNBaU1UQXdNREF3TURBeU5qRXlOalF3TXlJN0Nna2lZblp5Y3lJZ1BTQWlNUzR3SWpzS0NTSmxlSEJwY21WekxXUmhkR1V0Wm05eWJXRjBkR1ZrTFhCemRDSWdQU0FpTWpBeE1pMHdOeTB5TkNBd05qb3hNVG94T0NCQmJXVnlhV05oTDB4dmMxOUJibWRsYkdWeklqc0tDU0pwZEdWdExXbGtJaUE5SUNJMU5EYzFPVEkzTVRZaU93b0pJbVY0Y0dseVpYTXRaR0YwWlMxbWIzSnRZWFIwWldRaUlEMGdJakl3TVRJdE1EY3RNalFnTVRNNk1URTZNVGdnUlhSakwwZE5WQ0k3Q2draWNISnZaSFZqZEMxcFpDSWdQU0FpWTI5dExtaHZhUzUwWlhOMExuTmhiWEJzWlhCdlpXMTBlWEJsTG5OcGVHMXZiblJvY3lJN0Nna2ljSFZ5WTJoaGMyVXRaR0YwWlNJZ1BTQWlNakF4TWkwd055MHlOQ0F4TWpvME1Ub3hPQ0JGZEdNdlIwMVVJanNLQ1NKdmNtbG5hVzVoYkMxd2RYSmphR0Z6WlMxa1lYUmxJaUE5SUNJeU1ERXlMVEEzTFRJMElERXlPalF4T2pFNUlFVjBZeTlIVFZRaU93b0pJbUpwWkNJZ1BTQWlZMjl0TG1GdVoyeGxjaTVvYjJscGJtRndjSEIxY21Ob1lYTmxkR1Z6ZEdsdVp5STdDZ2tpY0hWeVkyaGhjMlV0WkdGMFpTMXdjM1FpSUQwZ0lqSXdNVEl0TURjdE1qUWdNRFU2TkRFNk1UZ2dRVzFsY21sallTOU1iM05mUVc1blpXeGxjeUk3Q2draWNYVmhiblJwZEhraUlEMGdJakVpT3dwOSI7CgkiZW52aXJvbm1lbnQiID0gIlNhbmRib3giOwoJInBvZCIgPSAiMTAwIjsKCSJzaWduaW5nLXN0YXR1cyIgPSAiMCI7Cn0"

最佳答案

由于收据只是一个 JSON 内容,我会向您推荐一个像 SBJSON 这样的 JSON 解析器。 .这将创建一个包含所有值和键的 NSDictionary/NSArray。然后使用普通的字典和数组方法访问数据。

然后您可以使用 expires_date_formatted 键来获取您的值。

注意:我不是 MKStoreKit 的忠实粉丝,如果您想了解有关 InAp 购买的完整故事(您可能已经知道一点,因为您处于收据级别),您可以查看 this post

希望这对您有所帮助。

关于iphone - 解读苹果的交易收据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682338/

相关文章:

Iphone检测每个手指并画线(使用cocos2d/openGL绘制)

iphone - Phonegap、iPhone 和 ASP 6.0 服务器 cookie 不起作用

ios - willRotateToInterfaceOrientation 和 deviceOrientationDidChange 之间有什么区别?

ios - NSDate dateWithTimeIntervalSince1970 : I have to subtract 1800 seconds from NSTimeInterval to display the correct value

javascript - 如何反转 JSON 对象的层次结构?

ios - AVPlayer 适用于模拟器,但不适用于设备

ios - 从自定义相册中删除图像

ios - 向 UISearchBar 添加动态类型

java - JSON:将对象转换为数组

java - 在不知道属性名称和属性数量的情况下处理 json 对象