iOS开发:2分钟快速集成支付宝快捷支付 转发

本文介绍了iOS快速集成支付宝支付的方法,本文中介绍的方法是通过一次封装,所以配置完成以后调用仅需一行代码便可支付宝支付,很是的方便,但愿你们喜欢。git


        我只是根据官方的文档,对支付宝的SDK作了进一步封装,其中密钥的生成很简单,须要看官方的文档,官方的文档我在工程附件目录里也有一份,若是须要立刻集成,没工夫研究的话,能够大体看一下密钥的生成便可,其余的配置我会在下面进行讨论j_0003.gif
github



        要在iOS应用里集成支付宝支付,须要公司和支付宝签约,而后生成相应的密钥。密钥的生成支付宝的开发文档里已经说的很是清楚了,这里就再也不讨论j_0012.gifapi



        虽然支付宝的文档说的很是的详细,比微信支付强100倍(微信支付的坑多的跟月球表面同样,若是有须要,我会在接下来的博客中讨论微信支付j_0002.gif),不过有一点须要提醒的是:大部分用户根本就找不到支付宝的SDK和文档在哪里下载!这也是我开始作支付宝支付时候头疼的事情:要作支付宝支付,你须要先找到官方的文档和SDK才行!j_0025.gif服务器



        不过上面我也说了,附件中又支付宝目前最新的开发文档,工程中也集成了支付宝最新的SDK和开发文档,固然,既然我找到了,就不会让你们失望j_0002.gif。下面奉上支付宝的完整的文档和SDK下载地址供你们下载:支付宝SDK、API文档官方下载地址。 这个下载页面是官方的下载页面。j_0063.gif微信



        也能够看个人这篇博客:支付宝SDK下载问题。好了,废话很少说了,下面就正式开始本教程的内容j_0007.gif:(提醒:若是动态图没法查看,可:“右键-在新标签中打开链接”查看便可:
app


        1. 下载附件,点击2分钟快速集成支付宝快捷支付-51cto下载中心下载压缩包,须要2积分,也能够在github上免费下载:2分钟快速集成支付宝快捷支付-github下载
微信支付

         github下载如图所示:
网站

wKioL1Sw4FmxRCxbAARD2bwzWac911.jpg


        2.将工程中的IntegratedAlipay文件夹导入工程中,记得选copy(注意:工程名也是:IntegratedAlipay,不要导错了,应该是:“存放目录/IntegratedAlipay/IntegratedAlipay”路径下的IntegratedAlipay目录,有点儿小啰嗦哈~j_0016.gif);ui

        

wKiom1Sw4TDD6KonAAGcYXSwdQI050.jpg


        

        3.点击项目名称,点击“Build Settings”选项卡,在搜索框中,以关键字“search” 搜索,对“Header Search Paths”增长头文件搜索路径url

        第一种方法(推荐使用):增长头文件路径:“$(SRCROOT)”,而后选择后面的recursive(会在相应的目录递归搜索文件,就是子文件夹也会相应的进行搜索),这是最简单也推荐使用的方法(以下图所示:);

wKiom1S2MoqgJNh_AADe_9E_D3U162.jpg


        第二种方法:增长头文件路径:“$(SRCROOT)/项目名称/IntegratedAlipay/AlipayFiles”(注意:不包括引号,若是不是放到项目根目录下,请在项目名称后面加上:“/相应的目录名”,保证是正确的路径和格式),能够查看下面的动态图片。这种方法很罗嗦,就是手动找到存放头文件的路径,还容易出错,这是支付宝官方使用的方法,不推荐使用。

        

wKiom1Sw41_TJY_vABUvhnerrC0018.gif


        4.点击项目名称,点击“Build Phases”选项卡,在“Link Binary with Librarles” 选项中,新增“AlipaySDK.framework”和“SystemConfiguration.framework” 两个系统库文件。若是项目中已有这两个库文件,可没必要再增长,(以下动态图,我添加一个SystemConfiguration.framework的方法)

        

wKioL1Sw5X_w4VgRAAeEWMawK3g718.gif




        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”都须要换成公司签约支付宝时返回的邮件内容中的值:

wKiom1Sw5frRZ59nAAYVX2g13qo323.jpg



        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里面的内容设置一行而已,是否是很是的简单?j_0028.gif


        最后再啰嗦一遍t_0013.gif,支付宝SDK、API文档和demo下载问题:支付宝SDK下载问题;工程下载地址:51cto下载中心:2分钟快速集成支付宝快捷支付-51cto下载中心和github免费下载:2分钟快速集成支付宝快捷支付-github下载

相关文章
相关标签/搜索