草庐IT

iphone - 解读苹果的交易收据

coder 2024-01-27 原文

我需要从 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 - 解读苹果的交易收据的更多相关文章

  1. ruby-on-rails - 一次交易下创建和更新多个模型 - 2

    我想知道在Rails中是否可以在一个事务下进行多次更新和创建。我想创建一个no。来自任何数组的Products。但是对于每个产品,我还需要为其创建Company和Category。所以思路是这样的--Startatransaction//createacompany//createacategorywhileproduct_list{//createaproductwithcompanyandcategorycreatedabove}--endatranscation因此,如果任何创建失败,我希望回滚较早的更新/创建。 最佳答案 b

  2. 论文解读OTA: Optimal Transport Assignment for Object Detection - 2

    CSDN优秀解读:https://blog.csdn.net/jiaoyangwm/article/details/1266387752021https://arxiv.org/pdf/2103.14259.pdf关键解读在目标检测中标签分配的最新进展主要寻求为每个GT对象独立定义正/负训练样本。在本文中,我们创新性地从全局的角度重新审视标签分配,并提出将分配程序制定为一个最优传输(OT)问题——优化理论中一个被充分研究的课题。具体来说,我们将每个需求方(锚框)和供应商(GT标签)的单位传输成本定义为他们的分类和回归损失加权之和。在公式化后,找到最好的分配方案即为最小传播成本解决最优传输方案,

  3. 沉睡者IT - 如何识别NFT“洗盘交易”? - 2

    推荐阅读1:【创业粉引流变现项目】推荐阅读2:【抖音网上如何赚钱变现】推荐阅读3:【中视频横版16:9视频制作教程】对金融人士来说,“洗盘交易”(washtrading)并不是一个新词。加密货币也以相同的买入和卖出手法来回进行“洗盘”, NFT 市场亦是如此。“洗盘交易”使得NFT爱好者很难衡量市场对某一系列的真正兴趣,还夸大和扭曲了交易量,对交易平台的分析也造成误导。那如何用链上数据来识别“洗盘交易”,检测可疑活动呢?本文来自 Forkast,原文作者:ANNDYLIAN,由Odaily星球日报译者Katie辜编译。什么是“洗盘交易”?洗盘交易是一种市场操纵形式,投资者同时买卖同一种金融产品

  4. NFT交易平台开发 创建NFT数字藏品平台 - 2

    为什么需要NFT市场?NFTMarketplace允许用户购买、出售、交易、查看或创建自己的NFT,就像他们需要一个市场来购买物理或数字世界中的大多数产品一样。几乎每个人都可以进入NFT市场,但要做到这一点,用户必须满足以下要求:一个NFT市场用户账户,允许您在给定平台上购买NFT。你需要一个与区块链兼容的加密钱包来购买NFT。NFTMarketplace非常重要,因为它连接了买卖双方,并为用户提供了多种工具来快速创建自己的NFT。艺术家可以在市场上列出要出售的NFT,买家可以通过投标过程探索市场并购买物品。NFT市场开发过程解释创建NFT市场是一个耗时的过程,需要编程知识和理解。那么搭建NF

  5. iphone - 扩展 restful_authentication/AuthLogic 以支持匿名 iPhone 的延迟登录的最佳方法是什么? - 2

    我正在构建一个与RubyonRails后端对话的iPhone应用程序。RubyonRails应用程序还将为Web用户提供服务。restful_authentication插件是提供快速和可定制的用户身份验证的绝佳方式。但是,我希望iPhone应用程序的用户在新列中存储一个由手机的唯一标识符([[UIDevicedevice]uniqueIdentifier])自动创建的帐户。稍后,当用户准备好创建用户名/密码时,帐户将更新为包含用户名和密码,iPhone唯一标识符保持不变。用户在设置用户名/密码之前不能访问该网站。然而,他们可以使用iPhone应用程序,因为该应用程序可以使用它的标识符

  6. 【VeighNa】开始量化交易——第三章:构建价差套利 - 2

    文章目录1.价差套利原理1.1概述1.2以BTC为例2.投研分析3.veighna的价差交易回测引擎4.实盘交易1.价差套利原理1.1概述在数字货币交易市场,我们会发现大多数行情下,相同币种之间的不同交割合约会存在一定的价差,由于它们属于同一品种,本身价值不会有任何差别,而且涨跌趋势一致,相关性高。那么如果在它们价差低的时候买入,价差高的时候卖出,这样我们就可以赚取中间的这部分差价。不过在实际交易过程中,我们还需要考虑到交易滑点、手续费、极端行情下,价差走出趋势特征…1.2以BTC为例图一、不同合约的比特币行情图由上图可以看出比特币远月合约与永续合约之间存在一定的价差。图二、某一时刻比特币价差

  7. iphone - 设计和 Rails 3 中的 http 身份验证 - 2

    我有一个使用deviseonrails3的应用程序。我想启用http身份验证,以便我可以从iPhone应用程序向我的网络应用程序进行身份验证。如何从我的iPhone应用程序进行身份验证以进行设计?这安全吗?还是我应该进行不同的身份验证? 最佳答案 从设计的角度来看,您有3个选择:1)使用基本的http身份验证:您的iPhone应用程序有一个secretkey-这是在您的iPhone应用程序代码中烘焙的-用于对网络应用程序的每个请求进行身份验证。Google搜索:“设计基本的http身份验证”2)您可以通过在您的iPhone应用程序中

  8. 若依框架解读(微服务版)——2.模块间的调用逻辑(ruoyi-api模块)(OpenFeign)(@innerAuth) - 2

    模块之间的关系我们可以了解到一共有这么多服务,我们先启动这三个服务其中rouyi–api模块是远程调用也就是提取出来的openfeign的接口ruoyi–commom是通用工具模块其他几个都是独立的服务ruoyi-api模块api模块当中有几个提取出来的OpenFeign的接口分别为文件,日志,用户服务我们以RemoteUserService接口为例子:其中contextId="remoteUserService"为bean的名称,value=ServiceNameConstants.SYSTEM_SERVICE为接口的描述,fallbackFactory=RemoteUserFallback

  9. 量化交易-因子有效性分析 - 2

    量化交易-因子有效性分析一、因子的IC分析2.信息系数3.举例4.因子处理4.1去极值4.2标准化4.3市值中性化一、因子的IC分析判断因子与收益的相关性强度分析结果因子平均收益ICmeanICstdIC>0.02:IC大约0.02的比例,越大越严格IR:信息比率(历史表现的稳定性),IR=ICmean/ICstd2.信息系数定义:某一期的IC指的是该期因子暴露度和股票下期的实际回报值在横截面上的相关系数。因子暴露度:因子本身数值周期一天:该期的因子值(2023.1.11)、下期(2023.1.12)收益率(截面数据)计算方式:斯皮尔曼相关系数(RankIC)斯皮尔曼相关系数表明X(独立变量)

  10. iphone - 在没有 Mac 的情况下开发 iPhone 应用程序? - 2

    这个问题在这里已经有了答案:关闭13年前。PossibleDuplicates:HowcanIdevelopforiPhoneusingaWindowsdevelopmentmachine?我想为我妻子的手机构建一个iPhone应用程序,但我对购买Mac作为一次性工作的开发平台不感兴趣。应用程序:应该在iPhone上独立运行(即没有网络连接)完全可以接受使用iPhoneJavascript库之一创建的GUI会做一些数据库IO来读取和更新数据没有商业值(value),永远不会被任何人使用这是我的想法:越狱iPhone在iPhone上安装Ruby+Sinatra使用Sinatra编写应用程

随机推荐