ios使用支付宝支付,很简单,看支付宝的demo便可.不便的是支付回调后的处理,支付宝没给出类似其他第三方集成平台的分类处理demo.
说说使用ios端支付遇到的问题;
1,旧版本的支付宝,一直验证不通过.
有部测试机,ios6系统,安装了很旧的支付宝版本,支付时,一直提示密钥验证不过.后来对比使用ios8上和最新的支付宝客户端加密的固定明文的串,发现两者加密后完全一样(ios6上的旧版本支付宝和ios8上新版本支付宝),应该不是密钥不行啊...后来咨询了支付宝技术,那边也是含糊其辞,不知道具体原因.后来删掉旧版本支付宝.支付成功.
应该是旧版本支付宝与新版本不兼容的问题.
2,删掉支付宝客户端,使用wap支付宝支付,一直提示网络异常.
使用不同手机,一个是支付宝客户端支付,一个是wap支付宝支付,发现前者可支付,后者不可.后来排除了ios系统不同的原因.
使用支付宝的demo,发现wap支付宝支付ok,为什么我的客户端的wap支付不行呢?明明网络ok,为什么提示网络异常呢?
后来猜测可能是我们app内使用了一些库造成了此问题,后来排查,终于找到元凶!!!
为了app内可以离线查看web内容,使用webview的时候,我使用了web缓存机制(NSURLProtocol).后来删掉此NSURLProtocol,wap端支付宝支付成功!!
应该是NSURLProtocol缓存造成wap支付宝支付问题.
3,支付成功后,回调地方不同.
使用支付宝客户端支付,回调到appdelegate内的application:openURL:sourceApplication:annotation.
使用wap支付宝,使用payOrder的block回调处理.
4,支付宝回调url记得修改成你app内的正式url.不然上线后,用户支付成功,你们app后台收不到支付回调.