现在不少app内都集成了支付宝功能,因此对于iOS开发人员来说,也应该熟悉第三方支付
关于安全支付的流程,支付宝的文档里有个很好的图
数据流程
使用支付宝进行一个完整的支付功能,大致有以下步骤:
- 与支付宝签约,获得商户ID(partner)和账号ID(seller)
- 下载相应的公钥私钥文件(加密签名用)
- 下载支付宝SDK
- 生成订单信息
- 调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
- 支付完毕后返回支付结果给商户客户端和服务器
支付宝提供了Demo让开发人员快速了解支付的接入流程:
http://club.alipay.com/thread.php?fid=703,遇到技术上的问题也以到论坛提问
假设签约之类工作已经完成,我们开干
要想集成支付功能,依赖以下文件夹的库文件(把这3个添加到你的客户端中)
接口调用步骤
1.封装订单模型
AlixPayOrder *order = [[AlixPayOrder alloc] init];
// 生成订单描述
NSString *orderSpec = [order description];
2.签名
id<DataSigner> signer = CreateRSADataSigner(@“私钥key”);
// 传入订单描述 进行 签名
NSString *signedString = [signer signString:orderSpec];
3.生成订单字符串
NSString *orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
orderSpec, signedString, @"RSA"];
4.调用支付接口
AlixPay * alixpay = [AlixPay shared];
// appScheme:商户自己的协议头
int ret = [alixpay pay:orderString applicationScheme:appScheme];