关于apple pay防止伪造的付款成功的方案
来源:互联网 发布:java excel报表开发 编辑:程序博客网 时间:2024/05/22 01:29
当你付款成功能后,会收到一个从apple来的receipt.,内容大概6000多个字符的字符串:
MXABCEFEFDSFSDF...
通过这个字符串,可以去apple验证这个串是否是合法的。拿这个串去验证时,会返回一个json。格式如下:
{
"status": 0,
"environment": "Production",
"receipt": {
"receipt_type": "Production",
省略一部分
"in_app": [
{
"quantity": "1",
"product_id": "product1",
"transaction_id": "123456790123456",
省略一部分
},
{
"quantity": "1",
"product_id": "product2",
"transaction_id": "123456790654321",
省略一部分
....可能是多个product
]
}
}
这里的transaction_id,应该是为一的。在网上找了一些资料,没看到哪里说这个肯定是唯一的,但很人说可能是唯一的,估计至少对于每个APP来说,可能是唯一的。
方案:
每次交易结果来后,把Receipt和transaction_id都保存一份(一笔处理里有多个transaction_id的话,都要保存一下)
然后进行下面的验证:
1,先去apple验证recipte的正确性
2,然后查看receipt,在我们数据库里有没有重复的
3,再看看一次交易里的所有transaction_id,在我们数据库里有没有重复的
下面是一些资料官方资料,可以看看。
https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40008267-CH104-SW1
https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573-CH104-SW1
https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW12
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html
下面是一个有点年头的防黑客的资料:
http://miha.hribar.org/2012/09/validate-in-app-purchase-receipts/
下面是一个很好的iap入门资料:
http://blog.csdn.net/xyxjn/article/details/16887151
- 关于apple pay防止伪造的付款成功的方案
- Apple Pay的使用
- Apple Pay的学习
- iOS Apple Pay的使用
- Apple pay的证书问题
- Apple Pay的一些介绍
- 苹果的Apple Pay学习
- Apple Pay 大获成功 占美国11月数字支付交易的1%
- App集成Apple-Pay的实践整理
- 支持Apple pay支付的设备
- 关于Apple Pay开发流程
- 关于防止批量注册的一种方案
- Apple Pay 开发教程:创造更好的支付体验
- 好奇,Apple Pay用的什么NFC技术呢
- 苹果NFC功能以及Apple Pay的初探
- 昨天霸屏的Apple Pay和营销沾边吗?
- Apple Pay 开发教程:创造更好的支付体验
- Apple Pay强势来袭,开发者应做的事情
- springmvc 4.X 搭建
- 一部Web应用自动化部署的进化史[AWS]-使用shell实现CodeDeploy
- 微电影大赛三等奖
- appium 利用相对坐标解锁九宫格
- js常见事件及案例-onFocus
- 关于apple pay防止伪造的付款成功的方案
- php+Angularjs 实现Post 提交表单 模拟登录
- listView的item显示不同布局
- Base64加密解密原理以及代码实现
- 文件的拷贝
- 微电影大赛三等奖
- Android AudioManager类(必看)
- IP地址类
- Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRID