Apple Pay支付流程详解

本文详细介绍了如何接入Apple Pay,包括在developer.apple创建App ID,配置Apple Pay到工程,主要的代码实现,以及支付处理的代理方法。同时,文章讲解了支付授权过程,用户授权后的支付token生成,以及服务器如何处理支付请求。附带了一个Apple Pay的Demo链接。
摘要由CSDN通过智能技术生成

前不久Apple Pay开始了,大家做好接入的准备了吗?今天写了个demo,悲催的是开发者账号上设备满了,只能用模拟器给大家看了。。。疑问是:在开发Apple Pay的时候,Xcode 7无法 无证书真机调试吗?求解

0、 建新工程,忽略

由于想要使用Apple Pay,需要用到Apple颁布的merchant证书,所以要从申请APP ID开始:

1、在developer.apple创建App ID,如图:

根据工程的bundle id创建App ID,其他信息不多说,注意要在App Services栏,勾选 “Apple Pay”,如下图:
这里写图片描述

当创建完成后,查找到你的app id,结果如下图:
这里写图片描述
发现Apple Pay状态是黄色“configurable”,怎么激活呢,点击“Edit”,找到“Apple Pay”,点击对应的“Edit”,结果如图:
这里写图片描述
这就是让我们选择一个Merchant 证书,图中的两个是我创建的,那么大家可能是空的,如果是空的,这就需要去创建Merchant 证书了,然后继续这一步骤,为该App ID选择绑定一个Merchant证书。
创建Merchant证书方法:从左侧栏创建App IDs那找到Merchant IDs,点进去,新增一个ID!查找到该Merchant IDs,点击“Edit”,选择“YES”:
这里写图片描述
下面就是生产证书的步骤了,不多说,根据操作continue就行啦!!!最后我们会在本地得到一个.cer文件,双击即可。

2、配置Apple Pay到工程,如图:

这里写图片描述
如图操作,打开Apple Pay的开关,添加一个Merchant ID,如果没有你创建的,刷新一下,再选择即可。如果下面steps报红,问题可能是刚刚创建的Merchant ID并没有和App ID绑定,点击fix,一般都没问题了。

3、主要代码如下
import PassKit
class ViewController: UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()
    // 支付按钮
    let btn = UIButton(type: UIButtonType.Custom)
    btn.frame = CGRectMake(60, 100, 200, 50)
    btn.center = self.view.center
    btn.setBackgroundImage(UIImage(named: "ApplePayBTN_64pt__whiteLine_textLogo_"), forState: UIControlState.Normal)

    btn.addTarget(self, action: "ApplePay", forControlEvents: UIControlEvents.TouchUpInside)
    self.view.addSubview(btn)

  }

  func ApplePay() { 
    // 检测是否支持ApplePay
    if PKPaymentAuthorizationViewController.canMakePayments() {
      print("support ApplePay")
      // 创建一个支付request
      let pkPayRequest = PKPaymentRequest()

      // 创建3个商品item,label为商品信息,amount为价格
      let pkPayItem1    = PKPaymentSummaryItem(label: "Lamborghini LP65
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值