文章转至: 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


最后

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

玩转 iOS 开发:集成 AliPay - 支付宝相关推荐

  1. 玩转iOS开发:iOS 11 新特性《UIKit新特性的基本认识》

    文章分享至我的个人技术博客: https://cainluo.github.io/15099354591154.html 前两篇, 我们讲了Xcode 9的一些新特性, 可以更加方便我们去写" ...

  2. 玩转iOS开发:NSURLSession讲解(三)

    文章分享至我的个人技术博客: https://cainluo.github.io/14986211698053.html 前言 虽然前面两讲都是说了NSURLSession的一些理论上的知识, 但我们 ...

  3. 集成 AliPay - 支付宝

    作者感言 前面我已经写了一篇关于WeChat SDK的支付篇, 那我们继续研究接下来的支付SDK, 这次就是国民支付软件支付宝, 下面就让我们来看看怎么集成AliPay SDK. 最后: 如果你有更好 ...

  4. iOS开发集成第三方微信支付和分享问题

    前言 直入主题 有关微信支付问题 在这里就不再介绍有关微信支付申请的流程了,小白可以参看微信开放平台和微信服务号也可申请微信支付接口.这里是微信官方给的微信支付接入指南(然而并没有太大用处) 1. A ...

  5. 玩转iOS开发:集成 Union Pay - 银联支付

    文章转至:https://cainrun.github.io/14740149724404.html 作者感言 前面已经把WeChat SDK的支付, AliPay SDK搞得七七八八了, 接下来就是 ...

  6. iOS开发-集成阿里云实人认证

    阿里实人认证 前言:为了让会员快速实名认证,项目中集成了阿里云实人认证,采用的是RPBioOnly方案 实人认证服务,用户流程为:仅活体检测: 由服务端换取认证 Token,并通过Binding参数传 ...

  7. 玩转iOS开发:5.《Core Animation》CALayer的Transforms

    文章转至我的个人博客: https://cainluo.github.io/14777052484078.html 作者感言 之前我们所了解的CALayer都是比较抽象化, 好在<Core An ...

  8. iOS开发集成Bilibili/ijkplayer做视频直播

    https://www.jianshu.com/p/f64f6e746425 由于2016年直播行业特别火,也越来越多的人想做直播.可是视频直播一些传输协议(RTMP基于HTTP协议),视频采用什么H ...

  9. iOS开发集成友盟,腾讯QQ登录授权失败

    在项目中集成友盟,腾讯QQ登录,登录授权失败110406. 原因: app在测试阶段(未上线),授权的QQ账号和腾讯开放平台的QQ账号不是同一账号. 解决办法: 在腾讯开放平台中,应用接入--应用管理 ...

最新文章

  1. 尹伊:用敏捷开发思维来成长!
  2. build_transformer_model如果不返回keras的bert模型返回的是什么?
  3. hoj 1067 Rails //poj1363 Rails 栈的简单应用
  4. 【Kotlin】Kotlin 领域特定语言 DSL 原理 二 ( 中缀表达式 )
  5. 哈理工计算机学院孙广路,我校举行人工智能前沿领域-计算机视觉专题报告会...
  6. cad显示有点暗_CAD参照的图框颜色太暗怎么调整?
  7. python为什么叫爬虫?Python和爬虫有什么关系?
  8. 学习笔记(54):Python实战编程-Scale
  9. OS X Mountain Lion上的多个Java版本
  10. 闭式系统蒸汽管径推荐速度_暖通丨空调水系统的设计
  11. 圣诞快乐: 用 GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容
  12. Linux常用基本命令(rename,basename,dirname)
  13. linux下如何运行脚本程序设计,Uboot 如何运行脚本
  14. MYSQL 4种插入数据的方式比较
  15. javascript中数组循环的方式
  16. ThinkPHP(TP框架)的归纳与总结(一)----基于TP开发手册
  17. delphi打印机编程
  18. 【Android】Android外接音源设备之小蜜蜂坑
  19. c语言中输入n一个整数存入一维数组,编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。...
  20. 用K-means聚类分类不同行业的关税模型

热门文章

  1. Elasticsearch 5.0 简介(medcl微信直播实录)
  2. 线性代数学习笔记——行列式的性质及拉普拉斯定理——5. 行列式的性质4
  3. 通过you-get下载bilibili视屏
  4. 附图分析运放7大经典电路
  5. 计算机网络的发展热点,计算机网络发展趋势(热点).ppt
  6. 免费资源丨全新版三维制作cinema4D自学零基础教程
  7. 度量衡计算工具_在线度衡量转换器
  8. RAID0/1/5/6/10/50/JBOD如何选择
  9. 技术人员在处理电商快递配送中常见的5个常见问题和对应解决方案
  10. 大连 计算机培训姚嵩,俄语在对外汉语教学中实际的应用姚嵩.pdf