繁体   English   中英

成功通过验证后,是否可以从当前的应用内购买中获取收据?

Getting receipt from current in-app purchase after successful validation?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在解析Apple收据验证响应(沙箱)时需要帮助。 因此,用户使用iPhone应用程序进行了应用程序内购买,并向我发送了收据,我已使用PHP的Apple Services()对其进行了验证。 验证是可以的,我得到了响应,所以现在我需要提取一个事务ID,以便将其存储在数据库中,但是我不知道应该从in_app密钥中提取哪个收据。 那里根本没有单个收据,但是还包含所有先前收据的数组。 该响应是在应用中进行“耗材”和“不可续订”后获得的。

我找到了几篇有关此问题的文章,但是EACH直接引用了收据,因为它是一个单独的属性,其中包含所有数据,但这里没有。

例如。 https://github.com/chrismaddern/iOS-Receipt-Validator-PHP看起来很有希望,但最后他以这种方式打开收据:

return $decoded_response->receipt;

对我的回应无效。 我想这是旧的回应。

这也是https://gist.github.com/jamesstout/5073237

我是第一次处理此问题,我们将不胜感激,如果您需要其他信息,请告诉我,我们很乐意指出。

收据验证后的Apple回应 更新:

请注意有关in_app数组中的项目,这些是收据,但不以任何方式进行排序,例如,original_purchase_date_pst用于前4个项目:

[0] 2015-01-12 10:33:13 Etc/GMT
[1] 2015-01-12 11:35:53 Etc/GMT
[2] 2015-01-12 11:12:36 Etc/GMT
[3] 2015-01-12 11:15:57 Etc/GMT

我的意思是我可以遍历整个数组,但是似乎没有一种更简单的方法来获取最新的收据,这有点奇怪。 我可以确定列表中有最新的收据吗? 我需要从中获取交易ID,因此我必须确定!

谢谢!

1 个回复

因此,我想回答这个问题,这可能对某人有所帮助,尤其是如果这是第一次处理此问题时。

导致这种响应结构的原因不是PHP方面,而是iPhone代码方面。 我不确定在那里发生了什么,但是我要求开发人员将问题的描述发送给我,所以这里是(引用):

问题出在收据编码中,是Apple文档失败:

在此处输入图片说明

苹果说要使用base64encoding的标准方法-之后,我们用in_app收据数组接收到该奇怪的响应。

我在github上发现了一个进行验证的类,该类进行了许多测试:

1)向Apple发送收据2)检查transactionID是否唯一3)检查收据或交易对象是否有效

而且我看到他们在发送之前没有使用标准的编码方法,但是他们使用了自定义类别NSData + Base64。 我将此类别添加到项目中,并使用该类别中的方法对收据进行编码。 之后,我开始接收具有新结构的响应-我们需要的响应-没有数组中的收据,而是包含所有需要的数据的单一收据。

1 验证应用内购买中的收据?

应用内购买1)验证收据2)购买3)产品请求中的以下目的是什么?我必须在我的应用内购买应用程序中完成所有三个流程吗? 任何以不同方式(没有苹果解释)的例子吗? ...

2010-02-19 12:12:44 1 531   iphone
2 订单完成后,将来如何验证购物并获取购买信息(以在我的应用中创建收据)

每次用户登录我的应用程序时,我都必须验证购买。 是否有api调用来检查完成的购买是否成功和有效。 示例:用户购买的商品。 一个月后,我想检查一下他是否为此产品付款了? 需要调用哪个api? 为此,我需要将哪些信息保存在数据库中? 提前致谢。 ...

4 应用内购买收据验证

我在从应用内购买收据验证中得到答复时遇到麻烦。 您能否看一下下面的代码,并告诉我为什么我什么也得不到呢? 此外,如果对测试收据验证的好方法有任何建议,请告诉我! 提前谢谢了! Xcode中: PHP代码: ...

5 如何验证收据(应用内购买)?

我已经阅读了很多有关苹果收据验证编程指南的信息,并且在这里停留了几天。 1.asn1c(如何解析) 我使用此工具生成一些.h / .c文件,并将它们添加到我的项目中: 我不知道该怎么用。 这是应用内购买收据格式。 我无法使用asn1c -fnative-types ...

6 通过应用内购买验证收据

今天有一家公司的情况,但我在逻辑上遇到了一个问题……有点像这样: (假设情况):因此,我有一个应用程序,用户可以通过应用程序内购买来购买我的产品(现实生活中的有形产品),然后输入地址,然后我将其发送给他们,一切都很好! 我在大约一个月的时间内从苹果公司获得了收入,他们在几天之内就得到了他 ...

7 如何验证应用内购买收据?

我正在尝试使用以下代码验证我的IAP收据,但无法正常工作: 我用来验证数据的PHP脚本可在以下位置找到: http : //www.phpriot.com/articles/verifying-app-store-receipts-php-curl 我究竟做错了什么? ...

9 iOS:在应用程序购买 Swift 成功后如何获取交易 ID 或收据数据

我想知道成功购买后如何获取交易 ID 或收据信息,以便我可以发送到我的服务器并用于购买验证。 同样在同一主题上,我想知道如果在我将购买信息发送到我的服务器之前由于某种原因连接中断,那么我将如何将通知链接到购买订阅的用户? 谢谢 所以我想在下面开关的 .purchased 部分进行处理 ...

10 Xcode在应用购买中验证收据在哪里可以查看收据?

我看了有关验证应用程序购买收据的教程,但我仍然想起一件事:我已经有了检查收据是否有效及其功能的功能,但是我担心服务器是否出现问题呢?一天,有人购买了该应用程序,收据将无效,尽管该收据应该是有效的,并且会向他收取费用,然后告诉他收据出现了问题,并且不会向他提供内容。我要检查收据吗? (我希望它在 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM