admin管理员组文章数量:1794759
php验证iap收据,【iOS
接着说下此方法的使用,一般付费代码中,童鞋们肯定会有如下函数:
另外说一点当交易完成时appstore传回来的transaction(SKPaymentTransaction)类中的transactionReceipt属性里包含AppStore返回经过签名的收据信息!OK,我们要的就是这个收据并将此收据post给appstore 的server进行收据验证,所以在SKPaymentTransactionStatePurchased这个交易成功的case中再调用Himi封装的函数if([self putStringToItunes:transaction.transactionReceipt]){} 进行再次确认下购买是否付费流程正确!
那么下面详细说下Himi封装的这个putStringToItunes函数:
此函数中,首先我们将传入的收据data类型变量进行base64转换成string类型,然后将此收据以json的形式发送给appstore进行验证!这里注意!一定要以json形式发送,否则appstore server端不识别!
最后再次利用json对appstore server返回的字段(json数据)进行解析,我们只需要解析出 status 这个key的value即可!
当appstore验证收据正确时我们解析出来的 status 这个key的value值为0(零)!
下面是appstore返回json数据的两种形式:
1. 收据无效的情况:
{"status":21002,"exception":"java.lang.NullPointerException"}
2.收据正确的情况,如下图(点击放大):
最后大家需要注意的一点是,Himi封装的函数中post的地址这里要记得发布的时候修改!
因为当你沙盒测试的时候地址是:
但是正式发布后post的地址应该是:
千万不要发布应用的时候别忘记修改这里!
OK,本篇就介绍到这里,希望对还没有做iap防护的童鞋有所帮助!
本文标签: php验证iap收据iOS
版权声明:本文标题:php验证iap收据,【iOS 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1695207109a296170.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论