ios支付票据验证失败,删除本地订单

ios支付票据验证失败,删除本地订单,第1张

出现这种情况可以向苹果服务器发送验证请求。

在苹果的IAP流程中有一个比较明显的逻辑漏洞,这个逻辑漏洞是建立在我们处理不当的情况下发生的,会导致己方提供的服务和用户之间出现问题。这种情况就是付费漏洞,解决这个问题的方法是在客户端提交receipt-data给我们的服务器,让我们的服务器向苹果服务器发送验证请求,验证这个receipt-data账单的有效性.在没有收到回复之前,客户端必须要把receipt-data保存好,并且定期或在合理的UI界面触发向服务端发起请求,直至收到服务端的回复后删除客户端的receipt账单记录。

如果是客户端没成功提交receipt-data,那怎么办,就是用户被扣费了,也收到appstore的消费收据了,却依然没收到道具,于是投诉到客服处。这种情况在以往的经验中也会出现,常见的用户和运营商发生的纠纷。客服向用户索要账号和appstore的收据单号,通过查询itunes-connect看是否确有这笔订单。

1.集成

集成内购的流程网上还是有很多的,在这我就不班门弄斧了。

附上几个比较好的链接:

(1)http://www.jianshu.com/p/f7bff61e0b31 这个写的相当详细,里面也有一些细节,作者很好,给了我很多帮助。

(2)http://www.jianshu.com/p/86ac7d3b593a 这个也是比较详细

(3)http://www.jianshu.com/p/479cf9e31104

以上三个链接足够你集成走通整个内购流程了。

2.遇到的坑

(1)集成税务时添加的银行卡必须是大银行的银行卡,因为是需要填写CNAPS CODE。一些小银行和地区银行查不到或者不好查。首选中国银行。附上查询链接: https://e.czbank.com/CORPORBANK/query_unionBank_index.jsp

(2)提交税务最后时,需要重新弄一次信息,这里16年底有了更新,需要注意的是tax information的第三条选择身份(type of beneficial owner)要选择公司

总的来说这最后一部分协议 大体上是1,2,3,14(选a)part xxx勾选上最后勾选上就行

(3)添加内购项目时,注意只能购买苹果规定价格的商品,不能自定义价格。还有下方的图片必须添加,那个是内购弹窗的图片,不添加的话会显示元数据丢失

(4)添加内购时,构架新版本下方有个添加app内购买项目,只有添加后应用内才能获取到,否则获取不到产品信息。如果后续需要添加新内购项目也可以提交新版本,新版本会和第一次提交一样会出现添加内购项目。还有一种方法是不提交版本 只在后面添加内购的地方提交审核。在审核通过后不会直接能使用。我之前是上午九点左右通过新项目审核,但是直到12点才能购买新内购项目。

(5)沙盒账号使用方法:在App Store中退出自己的账户,然后点击支付会提示你登录,这时可以登录自己的沙盒账号。链接:http://www.jianshu.com/p/1ef61a785508

(6)验证,验证方式分为两种,一种是单机验证,一种是服务器验证。一般情况下我们都是弄成服务器验证。这是需要获得本地返回的

receipt编码后传入服务器,这个有个固定格式,需要注意是服务器处理还是前端处理

(7)如果请求商品数量为0,且商品在不可用商品数组里面。有好几种原因。

1.没有使用Explicit App ID。

2.在iTunes Connect中,苹果拒绝了你最新向iTunes Connect提交的二进制码。

3.你没有清除iTunes Connect中在售的IAP产品。

4.没有使用与正确的App ID相关联的Provisioning Profile注册你的应用程序。

5.可能修改了商品,但是这些修改没有在所有App Store的服务器中生效。

6.未能完成所有财政需求表。更多信息请查看: Contracts, Tax, and Banking

7.你的商品由苹果托管上,内容尚未上传至iTunes Connect上。更多关于上传托管内容的信息请查看: Hosting Non-Consumable Products with Apple

注:商品内容上传到iTunes Connect上之前,你的商品标识符将是无效的。如果内容还没准备好,那么可在iTunes Connect中禁用Hosting Content with Apple功能便可以解决这个问题。一旦内容准备好可以上传了,就可重新启用该功能。

8.在iTunes Connect中指定的商品标示符与应用程序中SKProductsRequest对象所使用的标示符不匹配。更多关于商品标示符的信息请查看: Technical Q&A, QA1329, 'In-App Purchase Product Identifiers' 。

但是一般情况下只要bundle id 和上面的一致 切商品已经处理好 就可以请求到。

9.提交新内购项目时,如果和新版本一起提交,新类型一定要在新版本中显示,否则新内购不能显示展示。会出现被拒的情况。一般新的内购买新项目可以单独提交。这样可以规避。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/346208.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-07
下一篇2023-05-07

发表评论

登录后才能评论

评论列表(0条)

    保存