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

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


作者感言

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


简介

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


准备工作

其实集成**AliPay SDKWeChat SDK有些类似, 就连商家ID**的申请, **App ID的申请, 流程都差不多, 详细这里我就不在这里讲解了, 大家可以去支付宝商家商户服务平台**了解了解.


下载SDK包

由于蚂蚁金服和支付宝的整合, 就连SDK的资源都改了, 大家可以去**开放平台-文档中心**找到资源下载.


继续来段废话

SDK包下载好了之后, 我们去到之前的那个支付工程建立我们的新工程, 命名为**AliPay-Objective-C, 接下来我们就可以继续集成AliPay SDK**了.


配置文件

现在我们建立好了工程, 然后我们和集成**WeChat SDK一样, 需要配置一下工程, 这样子我们才能让AliPay SDK正常工作. 现在让我们来打开工程的Info.plist**文件, 添加一些配置.


添加依赖包

和**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
这些都是所需的依赖库, 真的是非常的蛋疼.


注册App ID

由于**AliPay SDK是不需要在AppDelegate.m文件里注册的, 所以注册App ID**这个步骤我们就忽略了.


布局UI界面

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


注意!!!

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

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


集成SDK

之前的所有准备工作都已经做好了, 现在重点来了, 就让我们看看怎么实现支付宝支付!

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

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

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

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

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

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


实现支付宝支付

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

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

到这里我们就已经集成完毕了, 由于支付宝的Demo里没有提供**App ID私钥, 所以我们这里显示的效果只能是酱紫了...需要测试的童鞋们只能自己去申请App ID私钥**了


工程地址

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


最后

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值