玩转 iOS 开发:集成 AliPay - 支付宝

文章转至: https://cainluo.github.io/14739456388212.htmlhtml


做者感言

前面我已经写了一篇关于**WeChat SDK的支付篇, 那咱们继续研究接下来的支付SDK, 此次就是国民支付软件支付宝, 下面就让咱们来看看怎么集成AliPay SDK**. 最后: 若是你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考大家的意见再进行修改, 联系我时, 请备注AliPay SDK若是以为好的话, 但愿你们也能够打赏一下~嘻嘻~祝你们学习愉快~谢谢~c++


简介

支付宝SDK, 只要作过支付类App的, 都百分百接触过, 至于为何那么多人喜欢用支付宝, 这个我就不在这里作解释了, 你们都懂的, 可是呢, 因为在阿里巴巴的发展下, 支付宝慢慢与蚂蚁金服整合, 甚至连开放平台名字都改为**蚂蚁金服开放平台**, 但不管怎么样, 支付宝都是行业内安全性最高的,git


准备工做

其实集成**AliPay SDKWeChat SDK有些相似, 就连商家ID**的申请, **App ID的申请, 流程都差很少, 详细这里我就不在这里讲解了, 你们能够去支付宝商家商户服务平台**了解了解.github


下载SDK包

因为蚂蚁金服和支付宝的整合, 就连SDK的资源都改了, 你们能够去**开放平台-文档中心**找到资源下载.安全

1

2

3


继续来段废话

SDK包下载好了以后, 咱们去到以前的那个支付工程创建咱们的新工程, 命名为**AliPay-Objective-C, 接下来咱们就能够继续集成AliPay SDK**了.微信

4


配置文件

如今咱们创建好了工程, 而后咱们和集成**WeChat SDK同样, 须要配置一下工程, 这样子咱们才能让AliPay SDK正常工做. 如今让咱们来打开工程的Info.plist**文件, 添加一些配置.布局

5

6


添加依赖包

和**WeChat SDK**同样, **AliPay SDK同样是须要导入依赖包的, 可是这个依赖包要比WeChat SDK**要多一些, 这个比较蛋疼.学习

  • UIKit.framework
  • CoreMotion.framework
  • CFNetWork.framework
  • Foundation.framework
  • CoreGraphics.framework
  • CoreText.framework
  • QuartzCore.framework
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • libz.tbd
  • libc++.tbd
这些都是所需的依赖库, 真的是很是的蛋疼.

7


注册App ID

因为**AliPay SDK是不须要在AppDelegate.m文件里注册的, 因此注册App ID**这个步骤咱们就忽略了.测试


布局UI界面

这里的UI布局界面就和**WeChat SDK那样, 直接拖一个UIButton, 以及加一个Action**事件就行了.3d

8


注意!!!

因为**AliPay改版了, 若是是老版本的SDK须要更新到最新的话, 必定要去好好的读一下接口文档, 由于这里须要添加多两个额外库以及一些依赖的签名文件, 这两个库在AliPay**的资源包里能够找到.

9

10

11

把这些依赖文件都拖入咱们的工程里, 这样子咱们就能正常的完成开发了~~

12


集成SDK

以前的全部准备工做都已经作好了, 如今重点来了, 就让咱们看看怎么实现支付宝支付!

> 首先咱们须要一个订单对象, 这里咱们命名为**`AliPayOther`**, 还有一个**`AliPayBizContent`**, 而后声明一些属性, 而且在内部实现一些方法, 因为这里的代码比较多, 这里就不列举了, 各位童鞋们仍是自行去翻翻工程吧~~

13

而后呢, 咱们就要把两个重量级的文件拖入到工程, 一个就是**AlipaySDK.bundle, 一个是AlipaySDK.framework, 这两个文件也是在AliPay**的资源包里能够找到.

14

导入以后编译一下, Xcode竟然提示出错了!!!

15

看了一下错误信息, 提示**NSObject, 我想应该是<Foundation/Foundation.h>**没有导入到对应的文件里去吧, 试试看先

16

我屮艸芔茻, 一些问题解决了, 另外一些问题又出来了, 仔细一看, 我勒个去, 原来是忘了导入刚刚所说的**libcrypto.a以及libssl.a**库了...我说怎么好像少了两个东西, 赶忙导入进去~

17

导入完以后, 还有一个错误, 我也是醉醉哒....尼玛, 这是玩我呢....之前导入SDK那有那么麻烦啊...翻了一下文档, 发现要添加一个**Header的连接....我也是醉了, 这个连接的写法是$(SRCROOT)/(工程名), 我这里所写的是$(SRCROOT)/AliPay-Objective-C**

18


实现支付宝支付

好了, 咱们把遇到的坑填完以后, 如今就来实现支付宝支付, 这里咱们就直接把**AliPayDemo**里的代码直接拷贝过来,

19

添加完以后, 别忘了处理**AliPay回调回来的信息, 顺便说说, 这里的代理方法会有两个, 一个是iOS 9**以后才有的新方法, 你们能够动动小脑壳, 看看怎么样封装才会比较好一些~

20

到这里咱们就已经集成完毕了, 因为支付宝的Demo里没有提供**App ID私钥, 因此咱们这里显示的效果只能是酱紫了...须要测试的童鞋们只能本身去申请App ID私钥**了

21


工程地址

项目地址: https://github.com/CainRun/PayProject


最后

码字很费脑, 看官赏点饭钱可好

微信

支付宝
相关文章
相关标签/搜索