支付宝支付升级新版sdk

项目中老版的支付宝sdk是在去年年中的时候接的,私钥是直接放在项目里的,前几天的时候支付宝官方发了一份通知函建议为防止私钥被盗用需要将私钥和签名流程放在后台。而且新版的sdk是加了支付被篡改的验证的。项目就更新了下新版的sdk。记录一下遇到的问题和流程。



首先打开蚂蚁金服及开放平台的文档中心,搜索移动支付。下载SDK&DEMO。DEMO中包含有服务端和移动端demo,取所需即可。
tips:为防止项目报错先copy出来一份更新成功后再修改源项目。

1.删除项目中原sdk及签名加密相关文件。



2.使用下载的官方demo中的对应文件替换

3.对着demo从新添加一遍依赖库,sdk,和静态库。重复的会自动替换掉老的。

4.新版本sdk签名部分字段可能会有变化,修改即可。

新版本需要注意的地方:

1.AppDelegate中添加iOS9.0后的新api,官方demo中有。

// NOTE: 9.0以后使用新API接口

屏幕快照 2016-10-24 上午10.58.38.png

接完后测试的支付宝钱包的时候发现这个支付结果回调不走了。

[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
            NSLog(@"reslut = %@",resultDic);
        }];

查找了更新日志才知道回调逻辑有变化。

2. 支付结果返回统一,便于用户接入。

   原有方案:payOrder:fromScheme:callback接口,业务传入callback1,用于支付结果返回;
                 processOrderWithPaymentReulst:standbyCallback接口,业务传入callback2,用于支付结果返回;

             一般一次支付中(跳支付宝客户端支付),都会涉及到这两个接口;原有的规则是callback1存在,则统一调用callback1返回支付结果给业务方,若callback1不存在(app被杀掉的情况),则调用callback2返回支付结果给业务方。

   现有方案:payOrder:fromScheme:callback接口,业务会传入CompletionBlock1(本地没有安装支付宝客户端的情况下(走H5收银台),会通过该CompletionBlock1反馈结果);
                      processOrderWithPaymentResult:standByCallback接口,业务会传入CompletionBlock2(本地安装了支付宝客户端的情况下,会通过该CompletionBlock2反馈结果)。

现有方案中是在AppDelegate中的方法是调用支付宝钱包(客户端)的结果回调。
也就是:processOrderWithPaymentResult:standByCallback接口

而调用h5支付的时候的结果回调是使用的支付界面的回调。
也就是:payOrder:fromScheme:callback

升级过程中也就遇到了这么多问题,也没多少东西。希望能够帮到有需要的人。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自己总结的微信支付宝支付流程和注意点: 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用...
    Www刘阅读 18,590评论 2 50
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,540评论 25 708
  • 没想到,支付宝的SDK是我目前用过的所有第三方SDK中最难用的一个了。 下载 首先,你要想找到这个SDK,都得费点...
    胖花花阅读 95,614评论 60 240
  • 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用这些材料,去支付宝注册一个商家账户(审核...
    Hevin_Chen阅读 6,824评论 0 9
  • “老张,这位是……?”李刚看着张祥带回来的中年男人。 “算卦的,也算半个道士。人称老疯子,你看下我兄弟是不是中邪了...
    冬兒阅读 821评论 0 0