• 集成 Apple Pay


    作者感言

    在中秋过后终于把国内的三大支付平台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证书.

    1
    2

    找到之后, 我们输入一些信息, 比如Merchant ID Description, 然后就是Identifier.

    PS: Identifier是唯一的, 如果别人使用你所输入的IdentifierApple就会叫你更换成另一个

    3
    4
    5

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

    6
    7

    这里会问一个问题, 是否要设置成中国地区特有的Apple PayApp只是面对国内的话, 那这个选择YES就好了, 如果是全球性的App, 那就选择NO, 当然这个也不是强制性, 自己看着办吧~~我这里就选择NO.

    8

    接下来就是重头戏了, 我们这里需要仔细看一下Apple给我们的提示, 我们要生成的证书类型是ECC, 并且是256bits.

    9

    打开系统的钥匙串, 创建我们所需的类型证书.

    10
    11
    12
    13

    创建完成之后就可以关闭了, 然后在开发者中心点击Continue, 由于我创建的时候, 是把证书放在桌面上的, 所以开发者中心里选择的证书也是选择桌面上的这个证书, 然后再点击Continue就搞定了.

    14

    但是别忘了我们还要下载这个证书哦, 下载完成后要双击添加到我们的钥匙串里去~

    15

    剩下怎么去弄配置文件以及App ID证书, 我这里就不做多介绍了, 第一次尝试的童鞋可以自行到iOS APP上架流程详解完整的iOS上架App流程查看哈~


    关联Merchant ID

    刚刚我们已经申请好了Merchant ID证书, 在申请完成App ID之后, 我们要就要去找到刚刚创建好的App ID, 然后关联上我们的Merchant ID.

    16
    17
    18
    19
    20

    酱紫, 我们就关联完成了, 下面来就是在之前的支付工程里添加一个新的工程, 命名为ApplePay-Objective-C


    开启Apple Pay

    打开我们新建的工程, 然后添加我们的Merchant ID, 勾上Apple Pay的选项, 然后我们就来写实现代码啦~~

    21


    实现Apple Pay

    实现Apple Pay的代码其实很简单, 遵循PKPaymentAuthorizationViewControllerDelegate代理, 实现两个必须实现的代理方法, 这是第一步, 第二步就是创建一个PKPaymentRequest请求, 然后再创建PKPaymentAuthorizationViewController, 最终就可以实现Apple Pay支付啦~下面是代码截图, 由于代码过多, 这里就不贴出来了, 大家需要的话, 就去看看Demo吧~~~

    22
    23

    顺便说一声, Apple Pay的国际化不需要我们去实现, 内部就已经实现了


    最终效果

    24


    工程地址

    项目地址: https://github.com/CainRun/PayProject

    转载:https://cainrun.github.io

  • 相关阅读:
    collections.ChainMap类合并字典或映射
    collections.namedtuple()命名序列元素
    过滤、修改和替换列表数据
    快速排序
    itertools.groupby()分组字典列表
    operator.attrgetter() 进行对象排序
    operator.itemgetter() 字典列表排序
    collections.Counter类统计列表元素出现次数
    递归
    正则表达式的一些题
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/6000393.html
Copyright © 2020-2023  润新知