集成 Apple Pay
作者感言
在中秋过后终于把国内的三大支付平台
SDK
集成都搞定了, 现在我们终于可以来研究Apple
自家的支付Apple Pay
最后:
如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考你们的意见再进行修改, 联系我时, 请备注Apple Pay
如果觉得好的话, 希望大家也可以打赏一下~嘻嘻~祝大家学习愉快~谢谢~
简介
Apple Pay
呢, 是Apple
在2014年的时候发布的功能, 是基于NFC上开发的, 所以在2014
年之前的机型都是不支持的, 比如iPhone 5
和iPhone 5s
, 但可以通过另外的方法, 比如连接Apple Watch
就可以用了, 在2016年的2月18号, 中国地区才正式上线Apple Pay
, 既然已经来到了, 我们就要去看看怎么去使用Apple Pay
啦.
准备工作
既然是
Apple
自家的功能, 那我们肯定要去先查看一下Apple Pay文档, 了解了一下文档的内容, 它是需要去开发者中心申请一个Merchant ID证书
, 那事不宜迟, 我们赶紧去申请一个.
申请商务证书
其实申请商务证书和申请
App ID
证书的步骤没啥区别, 最大的区别就是在于一些小细节, 首先我们要去打开开发者中心, 登录之后, 我们找到Merchant ID证书
申请的地方, 申请一下Merchant ID证书
.
找到之后, 我们输入一些信息, 比如
Merchant ID Description
, 然后就是Identifier
.PS:
Identifier
是唯一的, 如果别人使用你所输入的Identifier
,Apple
就会叫你更换成另一个
现在我们已经搞定了第一步, 已经有了
Merchant ID
, 接下来我们需要去创建Merchant ID证书
.
这里会问一个问题, 是否要设置成中国地区特有的
Apple Pay
,App
只是面对国内的话, 那这个选择YES
就好了, 如果是全球性的App
, 那就选择NO
, 当然这个也不是强制性, 自己看着办吧~~我这里就选择NO
.
接下来就是重头戏了, 我们这里需要仔细看一下Apple给我们的提示, 我们要生成的证书类型是
ECC
, 并且是256bits
.
打开系统的钥匙串, 创建我们所需的类型证书.
创建完成之后就可以关闭了, 然后在开发者中心点击
Continue
, 由于我创建的时候, 是把证书放在桌面上的, 所以开发者中心里选择的证书也是选择桌面上的这个证书, 然后再点击Continue
就搞定了.
但是别忘了我们还要下载这个证书哦, 下载完成后要双击添加到我们的钥匙串里去~
剩下怎么去弄
配置文件
以及App ID证书
, 我这里就不做多介绍了, 第一次尝试的童鞋可以自行到iOS APP上架流程详解, 完整的iOS上架App流程查看哈~
关联Merchant ID
刚刚我们已经申请好了
Merchant ID证书
, 在申请完成App ID
之后, 我们要就要去找到刚刚创建好的App ID
, 然后关联上我们的Merchant ID
.
酱紫, 我们就关联完成了, 下面来就是在之前的支付工程里添加一个新的工程, 命名为
ApplePay-Objective-C
开启Apple Pay
打开我们新建的工程, 然后添加我们的
Merchant ID
, 勾上Apple Pay
的选项, 然后我们就来写实现代码啦~~
实现Apple Pay
实现
Apple Pay
的代码其实很简单, 遵循PKPaymentAuthorizationViewControllerDelegate
代理, 实现两个必须实现的代理方法, 这是第一步, 第二步就是创建一个PKPaymentRequest
请求, 然后再创建PKPaymentAuthorizationViewController
, 最终就可以实现Apple Pay
支付啦~下面是代码截图, 由于代码过多, 这里就不贴出来了, 大家需要的话, 就去看看Demo吧~~~
顺便说一声,
Apple Pay
的国际化不需要我们去实现, 内部就已经实现了
最终效果
工程地址
项目地址: https://github.com/CainRun/PayProject
转载:https://cainrun.github.io
集成 Apple Pay的更多相关文章
- iOS App集成Apple Pay教程(附示例代码)
苹果在本周一发布了iOS 8.1版本,并正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展, ...
- Swift # Apple Pay集成
苹果正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这 ...
- Apple Pay(转)
Apple Pay 是在 iOS 8 中第一次被介绍,它可以为你的应用中的实体商品和服务,提供简单.安全.私密的支付方式.它使得用户支付起来非常简便,只需按一下指纹就可以授权进行交易. Apple P ...
- 【转】iOS开发 -- Apple Pay
技术博客原地址:http://www.cnblogs.com/dashunzi/p/ApplePay.html#top 原技术博客中有源码和视频,有感兴趣的朋友可以研究一下! 一.什么是Apple P ...
- 开发apple pay碰到的问题总结
本来想简单总结一下Apple Pay 开发过程中的几个问题, 结果被下面这篇文章全碰上了, 干脆全文转载, 作者对相关资源整理得比较详细, 比较有参考价值 总的来说, 我们做过 APNs 推送的话, ...
- iOS开发 Apple Pay
一.什么是Apple Pay? 1. 概念 Apple Pay,简单来说, 就是一种移动支付方式.通过Touch ID/ Passcode,用户可使用存储在iPhone 6, 6p等设备上的信用卡和借 ...
- 苹果内购和 Apple Pay
作者:CC老师_MissCC链接:http://www.jianshu.com/p/e3bc47e81785來源:简书 苹果内购 1.什么是内购? 如果你购买的商品,是在本app中使用和消耗的,就一定 ...
- Apple Pay 初探
Apple Pay 一.概述 1.支付方式:Touch ID/ Passcode 2.设备要求:iPhone6以上(iphone:线上/线下 ipad:线上 watch:线下) 3.系统要求:iOS8 ...
- Apple Pay的快速实现
一.在Apple开发者中心配置 AppleID 和 Merchant IDs 二.配置好证书后在Xcode中开启Apple Pay 三.代码实现 3.1 判断是否支持Apple Pay,如果支持又将支 ...
随机推荐
- Keepalive
https://en.wikipedia.org/wiki/Keepalive Description A keepalive signal is often sent at predefined i ...
- [HDOJ5935]Car(精度,数学)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5935 题意:有个老司机在开车, 开车过程中车的速度是不减的. 交警记录了这个老司机在nn个时间点的位置 ...
- c语言中的位移位操作
先要了解一下C语言里所有的位运算都是指二进制数的位运算.即使输入的是十进制的数,在内存中也是存储为二进制形式. “<<”用法: 格式是:a<<m,a和m必须是整型表达式,要求m ...
- [SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- How can I retrieve the remote git address of a repo?
When you want to show an URL of remote branches, try: git remote -v
- 2----lua的入门
Lua的标识符 什么是标识符? 标识符就是你给对象,函数等取的名字 区分大小写 首字母可以使字母下划线和美元符号组成 Lua 的保留字 保留字(区分大小写) true false and or not ...
- 关于JavaScript测试工具:QUnit, Jasmine, MoCha
在进行前端开发过程中,在某些场景下,需要通过编写单元测试来提高代码质量.而JavaScript常用的单元测试框架有这几个:QUnit, Jasmine, MoCha.下面就基于这三个工具,简单做一比较 ...
- tilemap坐标转换
像素点跟tile的索引之间的转换//从cocos2d-x坐标转换为Tilemap坐标CCPoint GameMap::tileCoordForPosition(CCPoint position){ i ...
- Android中的五大布局和logcat打印日志
在android中的布局有五大类,有的时候你可能用到一种,但有的时候你也可能需要两种或者三种布局同时一起使用.这五种布局为别为:LinearLayout(线性布局),FrameLayout(框架布局) ...
- iOS - UIWindow
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView @available(iOS 2.0, *) public class UIWi ...