本文介绍了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以外的字段都从服务器请求):

/***  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事件的写法如下:

- (IBAction)payWithAli:(UIButton *)sender {[AlipayRequestConfig alipayWithPartner:kPartnerID seller:kSellerAccount tradeNO:[AlipayToolKit genTradeNoWithTime] productName:@"邮票" productDescription:@"全真邮票" amount:@"0.8" notifyURL:kNotifyURL itBPay:@"30m"];
}

到这里,就已经实现支付宝的支付了,现在还差最后一步:返回用户的支付状态,请看第七步:

7.在AppDelegate中处理事件回调(可直接复制下面内容粘贴到AppDelegate中):

- (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开发的相关问题,欢迎在博客的下面提问,当然,也可以@我的新浪微博,我会第一时间回复的!希望大家多多支持!

转载于:https://blog.51cto.com/winann/1601654

iOS开发:2分钟快速集成支付宝快捷支付相关推荐

  1. java客户端绑定支付宝_Android客户端集成支付宝快捷支付

    一. 第三方支付开放接口 1. 支付宝 面向用户:  支付宝.微信 面向企业:  连连支付.东方支付 2. 官网 3. 请求参数说明 4. 支付宝集成 1) 安全 哪些参数需要从服务端获取 a) 订单 ...

  2. 这样可以几分钟快速对接支付宝APP支付和手机网站支付

    这个接口主要是实现企业支付宝APP支付已经签约完成的,想对接到手机网站实现手机网站支付来用的. 如果对接到PC网站,用户支付的时候就是扫码支付,网站出付款码,用户扫码完成支付. 如果对接到APP平台, ...

  3. 可以几分钟快速对接支付宝APP支付和手机网站支付?

    这个接口主要是实现企业支付宝APP支付已经签约完成的,想对接到手机网站实现手机网站支付来用的. 如果对接到PC网站,用户支付的时候就是扫码支付,网站出付款码,用户扫码完成支付. 如果对接到APP平台, ...

  4. 第2次作业:支付宝快捷支付模块分析

    有关支付宝快捷支付的分析 1.介绍产品相关信息 1.1我选择的产品是支付宝[1]. 1.2选择支付宝作为产品来分析主要有以下三个原因: 1.2.1  相对于其他的产品,支付宝在我生活中使用的频率会相对 ...

  5. 支付宝快捷支付 快就不安全了吗?

    为什么80%的码农都做不了架构师?>>>    工行关闭四个快捷支付接口 之前四大行下调支付宝快捷支付额度,另外四大行均回应称,设置转账及交易支付限额的出发点和落脚点都是为了客户资金 ...

  6. Java web集成支付宝电脑支付接口(沙箱环境)

    前言 这篇博客主要介绍如何在Java web项目中集成支付宝的电脑支付接口(会稍微介绍一下服务器集成APP支付接口).目前支付宝接口更新很快,在博主查找资料的时候,很多都是即时到账接口,APP支付则是 ...

  7. java后端实现集成支付宝APP支付(沙箱环境)

    沙箱环境集成支付宝APP支付后端实现 前言 获取支付宝相关信息 整体开发流程 1.获取核心参数 2.将支付宝SDK集成到项目中 3.后台使用支付宝SDK与支付宝进行交互逻辑 1.将支付宝公共信息参数写 ...

  8. Python只需3分钟即可搭建支付宝三方支付

    再没有三方支付平台之前,用户发起支付请求的时候,用户要去和银行签约(转账),特别的不方便,为了解决这些问题,就有了三方支付,三方平台去完成签约,给用户节省时间. 支付宝支付的流程 商户拿到支付宝的公钥 ...

  9. 最新骗局:利用支付宝快捷支付 套取手机验证码转账

    最新骗局:利用支付宝快捷支付 套取手机验证码转账 小心,骗子在你不知情的情况下,也能帮你开通支付宝快捷支付!昨天,市民王先生向媒体反映,骗子通过QQ知道他的银行账号等信息后,又通过花言巧语骗取他的手机 ...

  10. tp5 集成支付宝h5支付接口

    tp5 集成支付宝h5支付接口 前台支付的时候调取后台接口 function alipay(order_sn){$.ajax({url: '接口地址',type: "GET",da ...

最新文章

  1. eclipse下使用maven配置库托管jar包
  2. 安装hadoop-2.3.0-cdh5.1.2全过程
  3. #loj 3058 [HNOI2019] 白兔之舞
  4. 内向的人怎样改善人际关系(三)
  5. Java笔记-DH密钥交换获取密钥及AES加解密
  6. 【网络流】 HDU 4309 Seikimatsu Occult Tonneru 状压枚举边
  7. 直播App测试重点问题 - 服务器压力
  8. Mac常用开源软件与下载链接一览
  9. c++报错:引用了未定义标签_大牛带你解读Spring源码,编写自定义标签,您能学会吗?...
  10. Android 学习 笔记_09. WIFI网络操作
  11. matlab2c使用c++实现matlab函数系列教程-sinh函数
  12. zoj[3868]gcd期望
  13. foobar2000 正式登陆 iOS/Android
  14. 批量更改文件的后缀名
  15. 2015年河南省省赛部分题题解
  16. 7的整除特征 三位一截_7的倍数特征
  17. 国内外优秀程序员的博客全在这了,请查收
  18. 民生银行java面试_民生银行面试题目 是什么?
  19. neural networks logistic regression 神经网络逻辑回归
  20. 修炼打工皇帝不得不学的三招

热门文章

  1. paip.asp vbs代码的排版格式化
  2. 技术人 | 我在支付宝体验技术部这四年学到了什么?
  3. “电”亮数字生活,阿里云助力南方电网智能调度
  4. 【优化算法】寄生-捕食算法(PPA)【含Matlab源码 1801期】
  5. 【物理应用】基于matlab车载自组织网络中路边性能及防碰撞算法研究【含Matlab源码 263期】
  6. 【VRP】基于matlab禁忌搜索算法求解车辆路径规划问题【含Matalb源码 158期】
  7. python编程语言图解_Python程序运行原理图文解析
  8. ai人工智能的数据服务_可解释的AI-它对数据科学家有何影响?
  9. ai 数据模型 下载_为什么需要将AI模型像数据一样对待
  10. dev c++调试怎么看变量的值_DevC++ 安装教程