作者感言

前面我已经写了一篇关于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

集成 AliPay - 支付宝的更多相关文章

  1. iOS - AliPay 支付宝支付

    1.支付宝支付申请 支付宝支付官方签约集成指引 支付宝APP支付官方集成指引 蚂蚁金服开放平台 1.1 支付宝 APP 支付申请步骤 APP 支付:APP 支付是商户通过在移动端应用 APP 中集成开 ...

  2. 李洪强iOS开发支付集成之支付宝支付

    iOS开发支付集成之支付宝支付 下载支付宝SDK 首先是开发包下载,还是比较难发现的,网上以前文章中的链接都打不开,我找了好久才找到的.最新的地址在这里(注意的是下载出来的SDK包里面并没有传说中的开 ...

  3. iOS开发支付集成之支付宝支付

    项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑.这是第二篇支付宝集成,第一篇银联支付在这里. ...

  4. React Native之支付集成(微信 支付宝)(ios android)

    React Native之支付集成(微信 支付宝)(ios android) 一,需求分析 1.1,app在线充值与提现 二,技术介绍与集成 2.1,微信支付 2.1.1,Android配置 详细配置 ...

  5. 【转载】关于Alipay支付宝接口(Java版)

    转载自:http://blog.163.com/lai_chao/blog/static/70340789201412724619514/ 1.alipay 双功能支付简介 2.alipay 提交支付 ...

  6. 关于Alipay支付宝接口(Java版)

    支付宝开发文档:https://b.alipay.com/order/techService.htm 1.alipay 双功能支付简介 2.alipay 提交支付订单 3.alipay 整合双功能支付 ...

  7. IOS集成到支付宝的步骤及问题

    一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down) 二,添加sdk文件到xcode 1,新建一个ali ...

  8. iOS:使用集成的支付宝SDK的支付流程

    基本步骤: 1.先与支付宝签约,获得商户的ID(partner)和账号ID(seller),这一部分主要是又公司负责: 2.下载相应的公钥私钥文件,用来给签名进行加密: 3.下载支付宝集成的SDK,网 ...

  9. day113:MoFang:种植园商城页面&充值集成Alipay完成支付的准备工作

    目录 1.种植园商城页面初始化 2.规划商品种类并且构建关于商品的模型类 3.解决APP打包编译之后的跨域限制 4.商品列表后端接口实现 5.前端获取商品列表并显示 6.种植园点击充值允许用户选择充值 ...

随机推荐

  1. jquery之 css()方法。用法类似的有attr(),prop(),val()

    [注]attr(),prop(),val()的用法结构和css()一致,可参考 css()函数用于设置或返回当前jQuery对象所匹配的元素的css样式属性值. 该函数属于jQuery对象(实例).如 ...

  2. mysqldump使用方法(MySQL数据库的备份与恢复)

    #mysqldump --help 1.mysqldump的几种常用方法: (1)导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbn ...

  3. python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板, Model(jDango-ORM) : SQLite,数据库时间字段插入的方法

    python_way day18 html-day4 1.Django-路由系统   - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ...

  4. WPF基础学习第二天(高级控件)

    1.Menu菜单控件 Exp1: Code: <Window x:Class="菜单Menu.MainWindow" xmlns="http://schemas.m ...

  5. JS学习笔记(一) 概述

    参考资料: 1. http://www.w3school.com.cn/js/ 2. http://www.liaoxuefeng.com/wiki/001434446689867b27157e896 ...

  6. weblogic启动报错

    重启了一次linux服务器后,weblogic启动莫名报错,查看日志发现说部署的项目有个bean类无法加载, 1.然后手动删除 已经部署的项目,先在 domais/servers/AdminServe ...

  7. Scrum Meeting---Four(2015-10-28)

    今日已完成任务和明日要做的任务 姓名 今日已完成任务 今日时间 明日计划完成任务 估计用时 董元财 今日我完成了数据库表的设计以及创建 3h 进行Java Web工程的编写 4h 胡亚坤 用户之间的通 ...

  8. Linux vi 中移动光标 命令

    移动光标 上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向 ...

  9. MyISAM与InnoDB的索引实现

    1.MyISAM 使用B+Tree 作为索引结构,叶子节点的data存放指针,也就是记录的地址.对于主键索引和辅助索引都是一样的.2.InnoDB 也使用B+Tree作为索引结构,也别需要注意的是,对 ...

  10. 用CSS样式截取字符串,多的用省略号表示

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...