使用支付宝进行一个完整的支付功能,大致有以下步骤:
1.把需要的文件都放在一个文件夹中拖入工程(方便查找以及下面成功添加路径)
2.添加库https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.eYOWAT&treeId=59&articleId=103676&docType=1
3.header seach path中添加路径
4.infoPlist中添加URL type,再配置info-url type- schemes
快捷支付(无线)SDK下载:
https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=4#ps-tabinfo-hash】
文档:
https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.eYOWAT&treeId=59&articleId=103676&docType=1
https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1
- 与支付宝签约,获得商户ID(partner)和账号ID(seller)(通常公司会给接口,包含配置好的订单各种信息)
- 下载相应的公钥私钥文件(加密签名用)
- 下载支付宝SDK
- 生成订单信息
- 调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
- 支付完毕后返回支付结果给商户客户端和服务器
支付宝提供了Demo让开发人员快速了解支付的接入流程:http://club.alipay.com/thread.php?fid=703,遇到技术上的问题也以到论坛提问
- 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];
微信支付:
注意:如果还同时集成友盟,友盟中会有微信SDK,那么工程中只需要一个微信SDK,并且微信支付的注册需要放在友盟注册之后,否则微信支付不能成功集成。如果没有同时集成友盟,可忽略此提示。