作者感言

在中秋过后终于把国内的三大支付平台SDK集成都搞定了, 现在我们终于可以来研究Apple自家的支付Apple Pay

最后:
如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考你们的意见再进行修改, 联系我时, 请备注Apple Pay如果觉得好的话, 希望大家也可以打赏一下~嘻嘻~祝大家学习愉快~谢谢~


简介

Apple Pay呢, 是Apple在2014年的时候发布的功能, 是基于NFC上开发的, 所以在2014年之前的机型都是不支持的, 比如iPhone 5iPhone 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是唯一的, 如果别人使用你所输入的IdentifierApple就会叫你更换成另一个



现在我们已经搞定了第一步, 已经有了Merchant ID, 接下来我们需要去创建Merchant ID证书.


这里会问一个问题, 是否要设置成中国地区特有的Apple PayApp只是面对国内的话, 那这个选择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的更多相关文章

  1. iOS App集成Apple Pay教程(附示例代码)

    苹果在本周一发布了iOS 8.1版本,并正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展, ...

  2. Swift # Apple Pay集成

    苹果正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这 ...

  3. Apple Pay(转)

    Apple Pay 是在 iOS 8 中第一次被介绍,它可以为你的应用中的实体商品和服务,提供简单.安全.私密的支付方式.它使得用户支付起来非常简便,只需按一下指纹就可以授权进行交易. Apple P ...

  4. 【转】iOS开发 -- Apple Pay

    技术博客原地址:http://www.cnblogs.com/dashunzi/p/ApplePay.html#top 原技术博客中有源码和视频,有感兴趣的朋友可以研究一下! 一.什么是Apple P ...

  5. 开发apple pay碰到的问题总结

    本来想简单总结一下Apple Pay 开发过程中的几个问题, 结果被下面这篇文章全碰上了, 干脆全文转载, 作者对相关资源整理得比较详细, 比较有参考价值 总的来说, 我们做过 APNs 推送的话, ...

  6. iOS开发 Apple Pay

    一.什么是Apple Pay? 1. 概念 Apple Pay,简单来说, 就是一种移动支付方式.通过Touch ID/ Passcode,用户可使用存储在iPhone 6, 6p等设备上的信用卡和借 ...

  7. 苹果内购和 Apple Pay

    作者:CC老师_MissCC链接:http://www.jianshu.com/p/e3bc47e81785來源:简书 苹果内购 1.什么是内购? 如果你购买的商品,是在本app中使用和消耗的,就一定 ...

  8. Apple Pay 初探

    Apple Pay 一.概述 1.支付方式:Touch ID/ Passcode 2.设备要求:iPhone6以上(iphone:线上/线下 ipad:线上 watch:线下) 3.系统要求:iOS8 ...

  9. Apple Pay的快速实现

    一.在Apple开发者中心配置 AppleID 和 Merchant IDs 二.配置好证书后在Xcode中开启Apple Pay 三.代码实现 3.1 判断是否支持Apple Pay,如果支持又将支 ...

随机推荐

  1. Linux常见问题的处理方法(长期更新)

    一.使用sudo命令时xxx is not in the sudoers file. This incident will be reported. 1.su -,输入root的密码完成身份切换. 2 ...

  2. R语言画图基础参数设置

    Graphical Parameters You can customize many features of your graphs (fonts, colors, axes, titles) th ...

  3. python中的类中属性元素加self.和不加self.的区别

    在类中,self只能在函数中使用,表示的是实例属性,就是每个实例可以设置不值,而不相互影响.如果在类级别使用没有self的属性,是类属性,一般作为全局变量来用的.事实上:就是一个是类属性 一个是对象属 ...

  4. Redis事务的分析及改进

    Redis事务的分析及改进 Redis的事务特性 数据ACID特性满足了几条? 为了保持简单,redis事务保证了其中的一致性和隔离性: 不满足原子性和持久性: 原子性 redis事务在执行的中途遇到 ...

  5. python_way day16 DOM

    Python_way day16 1.Dom  (找到html中的标签) 一.DOM 1.查找元素 直接查找 document.getElementById 根据ID获取一个标签 --->这里是 ...

  6. 微信公众平台开发详细步骤与java代码

    1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...

  7. Python学习(18)面向对象

    目录 Python 面向对象 创建实例对象 Python内置类属性 Pyyhon对象销毁(垃圾回收) 类属性与方法 Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此 ...

  8. Ubuntu 14.04 FTP服务器--vsftpd的安装和配置

    更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-- ...

  9. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

  10. Android alertdialog实现确认退出

    package com.example.alertdialog; import android.os.Bundle; import android.app.Activity; import andro ...