内购掉单问题处理

原创
2019/03/20 14:30
阅读数 2.6K

内购的大致流程:

1.客户端向Appstore请求购买产品(假设产品信息已经取得),Appstore验证产品成功后,从用户的Apple账户余额中扣费。

2.Appstore向客户端返回一段receipt-data,里面记录了本次交易的证书和签名信息。

3.客户端向我们可以信任的游戏服务器提供receipt-data

4.游戏服务器对receipt-data进行一次base64编码

5.把编码后的receipt-data发往itunes.appstore进行验证

6.itunes.appstore返回验证结果给游戏服务器

7.游戏服务器对商品购买状态以及商品类型,向客户端发放相应的道具或者余额。

掉单问题一般出在环节3,可能因为用户手机信号不好,或者误操作返回了上个页面。导致receipt-data没有发送给我们自己的服务器,结果就是用户钱扣了,但是道具或者余额没到账。而且后台没收到receipt-data,根本就没有记录。

所以每次再发送receipt-data前,需要把它保存在本地,确认发送给后台,走完了充值流程,再删除。每次到内购页面,都检查下是否有未发送给后台的receipt-data。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部