(1)什么是支付宝
》支付宝是一个第三方支付平台
》现在很多的电商应用,如美团、滴滴打车、糯米、拉手等软件都使用了支付宝支付
》支付宝协调了客户、商户和和银行三者之前的关系
(2)应用中集成支付宝支付的整个流程
(3)实现支付宝集成的前提准备
①向支付宝申请并签约,成功支付的商户,获取商户ID(partner)和账号ID(seller) *申请成为支付宝的商户,需要的流程比较多,要营业执照,所以在公司开发中,这个申请会有专门的人负责,不用我们程序员去搞
补充二级商户的概念
②下载相应的公钥私钥文件("用于数据加密签名用")
③下载SDK
(4)现有应用中集成支付宝的需求
①用户支付定单上的金额时使用"支付宝"支付
②"支付宝"支付完成后,回到原来的应用程序
③在原来的应用程序中显示支付结果给用户看
(5)案例:支付宝集成
/* * 因为申请支付宝的商户对于现阶段的我们来说比较麻烦,所以在这里只讲原理 */
》首先登录https://b.alipay.com/newIndex.htm下载支付宝SDK
依次找到 “快捷支付(无线)” — “技术集成” — ” 请点此下载集成开发包“,如图
》解压下载的SDK(WS_MOBILE_PAY_SDK_BASE),
找到"WS_MOBILE_PAY_SDK_BASE/移动支付接口SDK2.0标准版(20150121)/DEMO/客户端demo/支付宝移动支付SDK标准版(iOS 2.2)/AliSDKDemo"目录,这里是示例程序,公司开发中一般说Demo》代码:
①新建一个项目
②将解压的AliSDKDemo目录下的有关支付的SDK添加到一个文件夹,在导入项目中
③添加pch,在pch中导入Foundation框架
具体请参照【支付宝集成】示例程序的目录结构,因为支付宝的示例程序是xcode5的,发现sdk中有引用Foundation框架
④在Header Search Path中配置sdk中点a(libssl.a/libcrypto.a)文件所在的目录如【$(SRCROOT)/支付宝集成/alipay】,$(SRCROOT)代表当前目录结构
*具体请关照【支付宝集成】示例程序的目录结构
⑤根据AliSDKDemo的程序导入相关的依赖
》关键词
partner商户ID:支付宝给申请支付集成人的身份
seller账号ID:商户的支付宝帐号
tradeNO定单编号:每一张交易定单的IDnotifyURL回调地图:服务器的回调地址"一定要明白这个是干什么用的"
appScheme应用的加调地址:支付完成,跳回原应用时使用
signedString数据签名字符串:防止交易信息被改
》支付回调原应用程序时,做相应处理
》RSA数据签名与MD5数据签名
补充:在运行支付宝的iosdemo时,出现如下错误
如可调用支付接口
调用支付接口可以参考AlixPayDemoViewController的下面方法
-(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath
如何创建订单、如何签名、如何调用支付接口,都在这个方法里面了
调用接口步骤