印象笔记的地址:
https://app.yinxiang.com/l/ACQ7qCplTVNALqwhC4n9MICDJRMVo70-AbM
(因为印象笔记的分享功能被关闭了...,一下是从印象笔记中复制过来的内容)
刚刚下载了支付宝的demo,并不是在官网上下载的。官网上的demo,与我想要的demo不太一样。还有,那就是其他的关于安全支付的demo。支付宝上并没有IOS方面的东西。我想要的demo是在csdn上面下载的。
刚刚在网上查了一下官网地址为:
http://download.alipay.com/public/api/base/WS_SECURE_PAY.zip 好吧,但是上不去了....。编译运行一下。报错(链接错误),解决方案。之前的code signing错误,解决的方案是(
支付宝demo运行错误)。
1.将library search path 中的///全部去掉,之后的结果为:
2.然后将frameworks里面的libcrypto.a文件删除在重新导入。(之后编译运行就通过了....。)
verify:核实,证明。
支付宝里面订单的生成:
涉及到的类:
(1)product(他没有.m与.h文件。也没有属于他的方法,他给人的感觉就像一个产品对象,包含着一些产品的信息(price,subject,body...)他也没有属于他自己的方法。)个人感觉它就像一个model而已。
(2)order:商品订单类(他与product不同,order是有.m和.h文件的。但是他在.m文件里面只是复写了
description方法而已.....注意:order 他是包含了
PartnerID,
SellerID的。)
order的.h文件 order的.m文件
(3)
service 服务类
AlixLibService
在生成订单的时候,还要调用一个方法生成url里面 sign的参数。
方法如下:
向支付宝服务器,提交订单就会调用该方法
+ (
void
)payOrder:(
NSString
*)order AndScheme:(
NSString
*)scheme seletor:(
SEL
)seletor target:(
id
)target;
参数:
order:就是前面订单类实例化对象的description。再简单的所他就是一个包含商品信息url地址。
scheme:就是该应用的
scheme。(在改应用的plist文件中设置。)
seletor:订单发送服务器,并生成以后。回调的方法。
target:一般是self。
(4)result回调类:
AlixPayResult(其实我感觉,他这个类和前面两者没什么区别,.m文件里面也没有什么值得注意的方法。它应该是回调返回来的对象。他和微博官方demo的登陆的返回信息的result其实差不多。
statusMessage最新的文档里面他是没有返回值的
。无论交易成功与否。)
result 可能涉及到的数据
statusMessage
statusCode
流程:
在看支付宝的demo,支付宝订单生成的流程大致如下:
(1)生成产品信息:
(1)是先生成product产品这个类的对象。(其实从向服务器提交订单的结果来看,没有这个对象也是可以的。他其实就是一个model,或者说他当作一个字典的功能。)
(2)生成order类的实例对象。他和product其实就我感觉区别在于它只是复写了description方法。在复写了description方法中,他其实是在完成一个拼接url请求的地址。(order 他是包含了
PartnerID,SellerID的)
(3)调用方法
+ (void)payOrder:(NSString*)order AndScheme:(NSString*)scheme seletor:(SEL)seletor target:(id)target;(这才是生成订单的关键,他有与支付宝服务器打交道的功能。)。
(4)调用这个方法以后,在回调的另一个方法:
-(
void
)paymentResult:(
NSString
*)resultd 里面。
有关一些宏定义的解释:
PartnerPrivKey:
自助生成(他是在生成订单的时候要用到。)。