集成 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,如果支持又将支 ...
随机推荐
- Linux常见问题的处理方法(长期更新)
一.使用sudo命令时xxx is not in the sudoers file. This incident will be reported. 1.su -,输入root的密码完成身份切换. 2 ...
- R语言画图基础参数设置
Graphical Parameters You can customize many features of your graphs (fonts, colors, axes, titles) th ...
- python中的类中属性元素加self.和不加self.的区别
在类中,self只能在函数中使用,表示的是实例属性,就是每个实例可以设置不值,而不相互影响.如果在类级别使用没有self的属性,是类属性,一般作为全局变量来用的.事实上:就是一个是类属性 一个是对象属 ...
- Redis事务的分析及改进
Redis事务的分析及改进 Redis的事务特性 数据ACID特性满足了几条? 为了保持简单,redis事务保证了其中的一致性和隔离性: 不满足原子性和持久性: 原子性 redis事务在执行的中途遇到 ...
- python_way day16 DOM
Python_way day16 1.Dom (找到html中的标签) 一.DOM 1.查找元素 直接查找 document.getElementById 根据ID获取一个标签 --->这里是 ...
- 微信公众平台开发详细步骤与java代码
1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...
- Python学习(18)面向对象
目录 Python 面向对象 创建实例对象 Python内置类属性 Pyyhon对象销毁(垃圾回收) 类属性与方法 Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此 ...
- Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-- ...
- thinkphp ajax 无刷新分页效果的实现
思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...
- Android alertdialog实现确认退出
package com.example.alertdialog; import android.os.Bundle; import android.app.Activity; import andro ...