iOS支付宝支付集成

第一步:支付宝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.当用户消费完成,产生消费,资金从冻结金额转支付;无需用户再确认并授权

//预授权逻辑:

  1. A: 获取订单-预授权-授权成功-跳转支付页面,支付宝代扣-
  2. B: 获取订单-预授权-授权失败-取消

授权步骤

1.客户端向服务端发请求要签名  authInfoStr

2.客户端调用SDK获取授权码

3.拿到授权码发送服务端

4.服务端返回用户信息给客户端

5.授权完成..

原文地址:https://www.cnblogs.com/StevenHuSir/p/AppPay_AliPay.html