1.iOS 集成流程
说实话,新版的官方指南,比老板的好多了,老板的集成总是遇到很多坑,新版的集成比较顺利, 这里就不在一一介绍集成过程了,
关于openssl/asn.h file not found的问题
2.在开发者账号的真正公司项目中如何使用支付宝支付功能
有两种路径做处理
1.客户端最快,最方便的处理方式,就是按照官方的说明,所有信息都在服务端处理
后台需要处理的事宜:
- 设置商品信息
- 将商品信息按要求拼接成字符串
- 用私钥将商品信息签名 .
- 将加签成功后的字符串格式化成订单字符串,返回给客户端orderStr
signedString签名字符串base64编码和UrlEncode处理(官方demo),这种方式,不要忘记了让后对对signedString进行这两步处理
客户端需要处理的事宜:
- 获取后台返回的订单字符串,调用支付宝支付接口发起支付请求
- 处理支付宝返回的支付结果
// 完成支付宝支付需要的四个文件
// 支付的类中导入头文件
#import <AlipaySDK/AlipaySDK.h>
#import "Order.h"
// 支付点击事件
- (void)payBtnClick { "下面的代码" }
// 向后台发起网络请求获取signedString,进一步处理
就能调用成功了
2.商品信息拼接在客户端处理,加签过程在后台处理
// 支付点击事件
- (void)payBtnClick { "下面的代码" }
1.拼接商品信息转给后台
2.将商品信息传递给后天,让后台加签,返回加签字符串,自己做处理后发送请求
3.上图中红框的问题,就是本次实际开发中遇到的坑 AL140247报错
后台加签时,多signedStrign只进行了base64编码,没有进行UrlEncode处理,总是报错
AL140247这个错误
然后百度
进行下面处理后就没有问题了
其他问题:难点就是商品订单的组装拼接,传入后台用私钥加签,对加签的字符串base64和UrlEncode处理,然后就是讲商品信息也进行UrlEncode,最后就是拿到处理后的商品信息和加签串按格式拼接,向支付宝发起请求
调用支付宝支付,支付宝闪退
// 参数一定要正确
关于支付结果的回调提示用户支付结果的问题
- 用户手机上安装了支付宝APP的情况–AppDelegate.m中,支付结果的回调会走这里的方法,支付成功的时候发通知,方便界面收到支付成功的界面候进行跳转
收到通知后处理相应逻辑
2.如果用户没有安装支付宝app,就会调起网页的支付宝界面支付,网页支付成功的回调走的不是appdelegate的方法,而是点击支付按钮支付时写的方法
网页支付成功的回调走的不是appdelegate的方法,而是支付时写的方法
重复支付,很少遇到这种情况:AL138869
这种情况是,此种订单用户已经完成了操作