第一步:支付宝SDK接入:
a.下载支付宝SDK,并导入工程
app集成支付宝报错:"openssl/asn1.h file not found"
配置Header Search Paths
设置Enable Bitcode 为NO
设置Other Linker Flags 添加-ObjC
添加依赖库
- libz.tbd
- libc++.tbd
- Security.framework
- CoreMotion.Framework
- CFNetwork.framework
- CoreTelephony.framework
- SystemConfiguration.framework
//判断是否安装支付宝
if (![[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"alipay:"]]) { //未安装支付宝客户端 [[[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"您未安装支付宝哦,请选择其他方式支付" delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil]show]; }
//支付宝预授权
预授权:用户在消费时,消费与资金结算往往不在同一时间完成,用户在消费时缴纳一定的押金,消费结束结算时,再根据实际消费情况从押金中扣除消费金额,剩余未消费部分返还给用户。支付宝根据此类业务线下消费场景的习惯,推出预授权产品,用户在消费时,先针对可用资金渠道做资金授权(冻结),结算时从冻结资金扣划给商户,剩余资金解冻返回给用户。 1.用户在商家页面提交订单 2.商家后台系统操作生成订单,提交支付宝请求授权 3.用户在支付宝收银台输入支付密码,确认授权 4.授权成功后收银台跳转到支付成功页;用户资金冻结成功 5.当用户消费完成,产生消费,资金从冻结金额转支付;无需用户再确认并授权
//预授权逻辑:
- A: 获取订单-预授权-授权成功-跳转支付页面,支付宝代扣-
- B: 获取订单-预授权-授权失败-取消
授权步骤:
1.客户端向服务端发请求要签名 authInfoStr
2.客户端调用SDK获取授权码
3.拿到授权码发送服务端
4.服务端返回用户信息给客户端
5.授权完成..