作者感言

在中秋过后终于把国内的三大支付平台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. 集成学习(Ensembling Learning)

    集成学习(Ensembling Learning) 标签(空格分隔): 机器学习 Adabost 对于一些弱分类器来说,如何通过组合方法构成一个强分类器.一般的思路是:改变训练数据的概率分布(权值分布 ...

  2. HUD 2203 亲和串

    HUD 2203 亲和串 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768K (Java/Others) [题目描述 - ...

  3. ctDNA 相关网站-liquid-biopsy

    http://www.gene-quantification.de/liquid-biopsy.html Liquid Biopsy -- Definitions Liquid Biopsy -- r ...

  4. [转载] LinkedIn架构这十年

    原文: http://colobu.com/2015/07/24/brief-history-scaling-linkedin/ 原文: A Brief History of Scaling Link ...

  5. [转载] google mock CheatSheet

    原文: https://code.google.com/p/googlemock/wiki/CheatSheet Defining a Mock Class Mocking a Normal Clas ...

  6. mysql 并发控制

    1.多个线程同时修改数据,存在数据不一致的情况,也就是并发控制的问题.2.mysql提供读锁和写锁,读锁之上可以再加读锁,不能加写锁,而写锁之上不能加任何锁.也就是说,读锁是共享的,写锁是排他的.3. ...

  7. 三种实例化bean的方式

    在spring中有三中实例化bean的方式: 一.使用构造器实例化:(90%通常使用的一个方法) 二.使用静态工厂方法实例化: 三.使用实例化工厂方法实例化. 每种实例化所采用的配置是不一样的: 一. ...

  8. Ruby方法

    Ruby 方法 Ruby 方法与其他编程语言中的函数类似.Ruby 方法用于捆绑一个或多个重复的语句到一个单元中. 方法名应以小写字母开头.如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常 ...

  9. Openfire 是怎么存离线消息

    原文:http://myopenfire.com/article/getarticle/26 1.openfire默认怎么存离线消息   在默认情况下,不添加任何插件的情况下,当用户不在线,对于发送给 ...

  10. 转:内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]

    内存区划分.内存分配.常量存储区.堆.栈.自由存储区.全局区[C++][内存管理][转载] 一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放 ...