玩转 iOS 开发:集成 AliPay - 支付宝
文章转至: https://cainluo.github.io/14739456388212.html
作者感言
前面我已经写了一篇关于**
WeChat SDK
的支付篇, 那我们继续研究接下来的支付SDK
, 这次就是国民支付软件支付宝
, 下面就让我们来看看怎么集成AliPay SDK
**. 最后: 如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考你们的意见再进行修改, 联系我时, 请备注AliPay SDK
如果觉得好的话, 希望大家也可以打赏一下~嘻嘻~祝大家学习愉快~谢谢~
简介
支付宝SDK, 只要做过支付类App的, 都百分百接触过, 至于为什么那么多人喜欢用支付宝, 这个我就不在这里做解释了, 大家都懂的, 但是呢, 由于在阿里巴巴的发展下, 支付宝慢慢与蚂蚁金服整合, 甚至连开放平台名字都改成**
蚂蚁金服开放平台
**, 但无论怎么样, 支付宝都是行业内安全性最高的,
准备工作
其实集成**
AliPay SDK
和WeChat 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 - 支付宝相关推荐
- 玩转iOS开发:iOS 11 新特性《UIKit新特性的基本认识》
文章分享至我的个人技术博客: https://cainluo.github.io/15099354591154.html 前两篇, 我们讲了Xcode 9的一些新特性, 可以更加方便我们去写" ...
- 玩转iOS开发:NSURLSession讲解(三)
文章分享至我的个人技术博客: https://cainluo.github.io/14986211698053.html 前言 虽然前面两讲都是说了NSURLSession的一些理论上的知识, 但我们 ...
- 集成 AliPay - 支付宝
作者感言 前面我已经写了一篇关于WeChat SDK的支付篇, 那我们继续研究接下来的支付SDK, 这次就是国民支付软件支付宝, 下面就让我们来看看怎么集成AliPay SDK. 最后: 如果你有更好 ...
- iOS开发集成第三方微信支付和分享问题
前言 直入主题 有关微信支付问题 在这里就不再介绍有关微信支付申请的流程了,小白可以参看微信开放平台和微信服务号也可申请微信支付接口.这里是微信官方给的微信支付接入指南(然而并没有太大用处) 1. A ...
- 玩转iOS开发:集成 Union Pay - 银联支付
文章转至:https://cainrun.github.io/14740149724404.html 作者感言 前面已经把WeChat SDK的支付, AliPay SDK搞得七七八八了, 接下来就是 ...
- iOS开发-集成阿里云实人认证
阿里实人认证 前言:为了让会员快速实名认证,项目中集成了阿里云实人认证,采用的是RPBioOnly方案 实人认证服务,用户流程为:仅活体检测: 由服务端换取认证 Token,并通过Binding参数传 ...
- 玩转iOS开发:5.《Core Animation》CALayer的Transforms
文章转至我的个人博客: https://cainluo.github.io/14777052484078.html 作者感言 之前我们所了解的CALayer都是比较抽象化, 好在<Core An ...
- iOS开发集成Bilibili/ijkplayer做视频直播
https://www.jianshu.com/p/f64f6e746425 由于2016年直播行业特别火,也越来越多的人想做直播.可是视频直播一些传输协议(RTMP基于HTTP协议),视频采用什么H ...
- iOS开发集成友盟,腾讯QQ登录授权失败
在项目中集成友盟,腾讯QQ登录,登录授权失败110406. 原因: app在测试阶段(未上线),授权的QQ账号和腾讯开放平台的QQ账号不是同一账号. 解决办法: 在腾讯开放平台中,应用接入--应用管理 ...
最新文章
- 尹伊:用敏捷开发思维来成长!
- build_transformer_model如果不返回keras的bert模型返回的是什么?
- hoj 1067 Rails //poj1363 Rails 栈的简单应用
- 【Kotlin】Kotlin 领域特定语言 DSL 原理 二 ( 中缀表达式 )
- 哈理工计算机学院孙广路,我校举行人工智能前沿领域-计算机视觉专题报告会...
- cad显示有点暗_CAD参照的图框颜色太暗怎么调整?
- python为什么叫爬虫?Python和爬虫有什么关系?
- 学习笔记(54):Python实战编程-Scale
- OS X Mountain Lion上的多个Java版本
- 闭式系统蒸汽管径推荐速度_暖通丨空调水系统的设计
- 圣诞快乐: 用 GaussDB T 绘制一颗圣诞树,兼论高斯数据库语法兼容
- Linux常用基本命令(rename,basename,dirname)
- linux下如何运行脚本程序设计,Uboot 如何运行脚本
- MYSQL 4种插入数据的方式比较
- javascript中数组循环的方式
- ThinkPHP(TP框架)的归纳与总结(一)----基于TP开发手册
- delphi打印机编程
- 【Android】Android外接音源设备之小蜜蜂坑
- c语言中输入n一个整数存入一维数组,编写程序输入n个整数到一维数组(先输入数据的个数n,再输入n个数据),然后以输入的顺序输出这些数。...
- 用K-means聚类分类不同行业的关税模型
热门文章
- Elasticsearch 5.0 简介(medcl微信直播实录)
- 线性代数学习笔记——行列式的性质及拉普拉斯定理——5. 行列式的性质4
- 通过you-get下载bilibili视屏
- 附图分析运放7大经典电路
- 计算机网络的发展热点,计算机网络发展趋势(热点).ppt
- 免费资源丨全新版三维制作cinema4D自学零基础教程
- 度量衡计算工具_在线度衡量转换器
- RAID0/1/5/6/10/50/JBOD如何选择
- 技术人员在处理电商快递配送中常见的5个常见问题和对应解决方案
- 大连 计算机培训姚嵩,俄语在对外汉语教学中实际的应用姚嵩.pdf