app pay开发遇到的坑
集成apple pay需要的资料:
https://developer.apple.com/apple-pay/
about Apple Pay
Apple Pay 安全性与隐私政策概览
在开发Apple pay我们审核了3次,对此总结下。
一、是否需要需要完完全全安装苹果开发规范来:
其中一次被拒绝的原因是在没有绑定apple pay的时候,我们是做了一个tost提示,提示用户去绑定apple pay,这个被拒绝了,说没有按照《Apple Pay 识别标志指南 》,样式被拒绝。我们对比下其他app,发现很多都没有按照规范来,那他们怎样通过的呢?现在想可能是我们运气比较差,苹果审核变严格了。在找解决方案的时候,我们在考虑如果苹果审核人员用的不是银联卡,会不会永远不能支付,在支付页面,设置apple pay按钮就永远不会变。最后我们采用,在设备没有支持apple pay的情况和用户没有在wallet绑定apple pay的时候直接不展示apple pay。居然审核成功了。
二、代码上的坑
PKPaymentNetworkChinaUnionPay 这个是ios9.2才支持的,用的时候最好加上判断;canMakePayments这个方法刚开始以为,是判断设备是否支持apple pay的,在上线后用些用户手机上iphone6系统是8.4,居然通过了canMakePayments这个判断,最后发现是检查设备是否有wallet,有返回yes,这里最好也加判断系统得支持apple pay支付,才返回yes。
三、自动跳转wallet 代码也分享下,自己找了老半天。
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.3) {
PKPassLibrary *library = [[PKPassLibrary alloc] init];
[library openPaymentSetup];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"shoebox://"]];
}