标签:
?这篇文章介绍了iOS快速集成支付宝支付的方法,这篇文章中介绍的方法是通过一次封装,因此配备完结今后调用仅需一行代码即可支付宝支付,非常的便当,希望我们喜欢。
我仅仅根据官方的文档,对支付宝的SDK做了进一步封装,其间密钥的生成很简略,需要看官方的文档,官方的文档我在工程附件目录里也有一份,假设需要立刻集成,没工夫研讨的话,可以大致看一下密钥的生成即可,其他的配备我会在下面进行谈论。
要在iOS运用里集成支付宝支付,需要公司和支付宝签约,然后生成相应的密钥。密钥的生成支付宝的开发文档里现已说的非常理解了,这儿就不再谈论。
虽然支付宝的文档说的非常的详细,比微信支付强100倍(微信支付的坑多的跟月球表面一样,假设有需要,我会在接下来的博客中谈论微信支付),不过有一点需要提示的是:大多数用户根本就找不到支付宝的SDK和文档在哪里下载!这也是我初步做支付宝支付时分头疼的作业:要做支付宝支付,你需要先找到官方的文档和SDK才行!
不过上面我也说了,附件中又支付宝现在最新的开发文档,工程中也集成了支付宝最新的SDK和开发文档,当然,已然我找到了,就不会让我们失望。下面奉上支付宝的完好的文档和SDK下载地址供我们下载:支付宝SDK、API文档官方下载地址。 这个下载页面是官方的下载页面。
也可以看我的这篇博客:支付宝SDK下载疑问。好了,废话不多说了,下面就正式初步本教程的内容:(提示:假设动态图无法查看,可:“右键-在新标签中翻开联接”查看即可:
1. 下载附件,点击2分钟快速集成支付宝便利支付-51cto下载基地下载压缩包,需要2积分,也可以在github上免费下载:2分钟快速集成支付宝便利支付-github下载。
github下载如图所示:
2.将工程中的IntegratedAlipay文件夹导入工程中,记住选copy(留心:工程名也是:IntegratedAlipay,不要导错了,应该是:“存放目录/IntegratedAlipay/IntegratedAlipay”路径下的IntegratedAlipay目录,有点儿小烦琐哈~);
3.点击项目名称,点击“Build Settings”选项卡,在查找框中,以关键词“search” 查找,对“Header Search Paths”添加头文件查找路径,
第一种方法(举荐运用):添加头文件路径:“$(SRCROOT)”,然后选择后边的recursive(会在相应的目录递归查找文件,便是子文件夹也会相应的进行查找),这是最简略也举荐运用的方法(如下图所示:);
第二种方法:添加头文件路径:“$(SRCROOT)/项目名称/IntegratedAlipay/AlipayFiles”(留心:不包括引号,假设不是放到项目根目录下,请在项目名称后边加上:“/相应的目录名”,保证是精确的路径和格式),可以查看下面的动态图像。这种方法很罗嗦,便是手动找到存放头文件的路径,还简略犯错,这是支付宝官方运用的方法,不举荐运用。
4.点击项目名称,点击“Build Phases”选项卡,在“Link Binary with Librarles” 选项中,新增“AlipaySDK.framework”和“SystemConfiguration.framework” 两个系统库文件。假设项目中已有这两个库文件,可不必再添加,(如下动态图,我添加一个SystemConfiguration.framework的方法);
5.在“AlipayHeader.h”头文件中设置kPartnerID、kSellerAccount、kAppScheme、kPrivateKey的值(留心,建议除appScheme以外的字段都从服务器央求):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/**
* partner:协作身份者ID,以 2088 最初由 16 位纯数字构成的字符串。
*
*/
#define kPartnerID @"xxx"
/**
* seller:支付宝收款账号,手机号码或邮箱格式。
*/
#define kSellerAccount @"xxx"
/**
* 支付宝服务器主动通知商户 网站里指定的页面 http 路径。
*/
#define kNotifyURL @"xxx"
/**
* appSckeme:运用注册scheme,在Info.plist定义URLtypes,处理支付宝回调
*/
#define kAppScheme @"integratedAlipay"
/**
* private_key:商户方的私钥,pkcs8 格式。
*/
#define kPrivateKey @"xxx"
|
因为本工程的kAppScheme是写好的,这么工程在配备好其他的参数今后就可以直接运行了,所以kAppScheme固定了,这儿假设更改了,请在工程的Info的选项卡里也相应的更改(如下图所示),其他的“xxx”都需要换成公司签约支付宝时回来的邮件内容中的值:
6.在需要用的本地导入“AlipayHeader.h”,并运用“[AlipayRequestConfig alipayWithPartner:...”方法进行支付;
例如button工作的写法如下:
1
2
3
|
- (IBAction)payWithAli:(UIButton *)sender {
[AlipayRequestConfig alipayWithPartner:kPartnerID seller:kSellerAccount tradeNO:[AlipayToolKit genTradeNoWithTime] productName:@"邮票" productDescription:@"全真邮票" amount:@"0.8" notifyURL:kNotifyURL itBPay:@"30m"];
}
|
到这儿,就现已完结支付宝的支付了,现在还差终究一步:回来用户的支付情况,请看第七步:
7.在AppDelegate中处理工作回调(可直接仿制下面内容粘贴到AppDelegate中):
1
2
3
4
5
6
7
8
9
10
11
12
|
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
//假设极简 SDK 不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付效果回传给 SDK if ([url.host isEqualToString:@"safepay"]) {
[[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权回来 authCode
[[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
}];
}
return YES;
}
|
这个方法用来查看用户的支付情况,详细的参数阐明请查看官方文档。
好了,教程到这儿就全部完毕了,点击button,就会跳到支付宝进行支付,假设没有装置支付宝客户端,会跳到支付宝的页面。我们现在需要做的,便是button里面的内容设置一行算了,是不是非常的简略?
终究再烦琐一遍,支付宝SDK、API文档和demo下载疑问:支付宝SDK下载疑问;工程下载地址:51cto下载基地:2分钟快速集成支付宝便利支付-51cto下载基地和github免费下载:2分钟快速集成支付宝便利支付-github下载。
假设还有啥疑问,或者有其它iOS开发的有关疑问,期待在博客的下面发问,当然,也可以@我的新浪微博,我会第一时间回复的!希望我们多多支撑!
标签:
原文地址:http://www.cnblogs.com/admobgoogle/p/4783441.html