通过 Apple Pay 使用付款卡支付
Apple Pay 可用于为商店中、App 内和网站上购买的项目付款。
在商店中使用付款卡支付
如果 iPhone 或 Apple Watch 已开机且检测到了 NFC 场,它会向用户显示请求的付款卡(如果已为此卡打开自动选择)或默认付款卡,付款卡的显示可在“设置”中进行管理。用户还可以前往 Apple 钱包并选取一张付款卡,或在设备锁定时可以:
连按两下侧边按钮(在配备了面容 ID 的设备上)
连按两下主屏幕按钮(在配备了触控 ID 的设备上)
利用允许从锁定屏幕上使用 Apple Pay 的辅助功能
然后在传输信息前,用户必须使用面容 ID、触控 ID 或密码进行认证。Apple Watch 解锁后,连按侧边按钮两下激活默认付款卡进行支付。未经用户认证的情况下不会发送任何支付信息。
用户认证后,在处理支付时会使用设备卡号和交易专用动态安全码。Apple 和用户的设备都不会将信用卡或借记卡的完整卡号发送给商家。Apple 可能会接收诸如交易的大概时间和位置等匿名交易信息,来帮助改进 Apple Pay 和 Apple 的其他产品和服务。
在 App 内使用付款卡支付
Apple Pay 还可用来在 iOS、iPadOS、macOS 和 watchOS App 内进行支付。当用户在 App 内使用 Apple Pay 支付时,Apple 会收到待发送给开发者或商家的加密交易信息。该信息在发送给开发者或商家前,Apple 会使用开发者特定的密钥对交易进行重新加密。Apple Pay 会保留大概的购买金额等匿名交易信息。该信息不会绑定到用户,也绝对不会包括用户购物的内容。
App 发起 Apple Pay 支付交易后,Apple Pay 服务器会先于商家收到来自设备的加密交易。Apple Pay 服务器随后再使用商家特定的密钥对交易进行重新加密,然后将该交易转给商家。
App 请求支付时,会调用 API 来确定设备是否支持 Apple Pay 以及用户所拥有的信用卡或借记卡能否在商家接受的支付网络中进行支付。App 会请求用来处理和实现交易所需的任意信息,例如账单和收货地址以及联系信息。然后,App 会要求 iOS、iPadOS、macOS 或 watchOS 显示 Apple Pay 表单,表单会请求 App 的信息和其他必要信息,例如要使用的付款卡。
此时 App 会收到省市以及邮编信息来计算最终的运费。除非用户使用面容 ID、触控 ID 或设备密码进行授权支付,否则所请求的整套信息绝不会提供给 App。授权支付后,Apple Pay 表单中显示的信息会传输给商家。
在轻 App 内使用付款卡支付
轻 App 是 App 的轻巧版,可让用户快速执行任务(如租借单车或付停车费),无需下载完整 App。如果轻 App 支持付款,用户可以使用“通过 Apple 登录”,然后使用 Apple Pay 支付。用户从轻 App 内付款时,所有安全隐私措施与用户在 App 内支付时一样。
用户如何授权 App 支付以及商家如何对其进行验证
用户和商家通过将信息传送到 Apple 服务器、安全元件、设备和 App 的 API 来确保安全进行 App 支付。首先,用户授权 App 支付,App 通过调用 Apple Pay 服务器获取加密反重放值。服务器将此值和其他交易数据发送到安全元件,以计算使用 Apple 密钥加密的支付凭证。安全元件之后将支付凭证返回到 Apple Pay 服务器,以便服务器可解密该凭证,将其反重放值与 Apple Pay 服务器最初发送的反重放值进行核对,然后使用与商家 ID 相关联的商家密钥对其重新加密。Apple 服务器随后将支付返回到设备,由设备将其交还给 App API,并通过 API 将它传送给商家系统以进行处理。商家解密支付凭证以验证其为交易的正确接收者。
API 会请求授权来指定受支持商家 ID。App 还可以包括用以发送到安全元件进行签名的其他数据(如订单号或客户身份),以确保交易不会转到其他客户手中。App 开发者可以通过在 PKPaymentRequest 上指定 applicationData 来实现。此数据的哈希值会包括在加密的支付数据中。商家负责验证其 applicationData 哈希值与包含在支付数据中的哈希值是否匹配。
在网站中使用付款卡支付
Apple Pay 可用于通过 iPhone、iPad、Apple Watch 和 Mac 电脑(配备触控 ID)在网站上进行支付。Apple Pay 交易还可以在 Mac 上开始,然后在使用同一个 iCloud 账户且启用了 Apple Pay 的 iPhone 或 Apple Watch 上完成。
在网上使用 Apple Pay 要求所有合作网站在 Apple 注册。域注册后,只有在 Apple 签发了 TLS 客户端证书后才会执行域名验证。支持 Apple Pay 的网站必须通过 HTTPS 提供内容。针对每笔付款交易,网站需要使用 Apple 签发的 TLS 客户端证书来获得与 Apple 服务器之间安全、唯一的商家会话。商家会话数据由 Apple 签名。商家会话签名经过验证后,网站即可查询用户是否拥有支持 Apple Pay 的设备,以及设备上是否激活了信用卡、借记卡或储值卡。但不会共享其他详细信息。用户如果不想共享此信息,可在 iPhone、iPad 和 Mac 设备的 Safari 浏览器隐私设置中停用 Apple Pay 查询。
商家会话通过验证后,所有隐私和安全保护措施与用户在 App 内支付时一样。
如果用户正在将支付相关的信息从 Mac 传输到 iPhone 或 Apple Watch,Apple Pay 接力功能会使用端对端加密的 Apple 身份识别服务 (IDS) 协议在用户的 Mac 与进行授权的设备之间传输支付相关的信息。Mac 上的 IDS 客户端使用用户的设备密钥执行加密,因而其他设备都不能解密此信息,且 Apple 无法获得密钥。发现使用“接力”功能进行 Apple Pay 的设备时会包括用户信用卡的类型和唯一标识符以及一些元数据。用户卡片的设备卡号不会共享,且一直安全地储存在用户的 iPhone 或 Apple Watch 上。Apple 还会通过 iCloud 钥匙串安全地传输用户最近使用的联系人、送货和账单地址。
用户使用面容 ID、触控 ID 或密码授权支付,或者在 Apple Watch 上连按侧边按钮两下后,会有一个支付令牌针对每个网站的商家证书进行唯一加密,并安全地从用户的 iPhone 或 Apple Watch 传输到 Mac,然后传送到商家的网站。
只有彼此邻近的设备才能请求和完成支付。邻近度由低功耗蓝牙 (BLE) 广播决定。
自动支付和商家令牌
在 iOS 16 或更高版本中,提供 Apple Pay 的 App 和网站可利用 Apple Pay 商家令牌,在用户设备间实现一致的安全支持。iOS 16 中更新后的 Apple Pay 付款表单还优化了预授权支付体验。Apple Pay API 中的新交易类型允许 App 和网站开发者微调订阅、重复账单、分期付款和卡片余额自动充值的付款表单体验。
商家令牌并非设备特定,因此如果用户从设备移除付款卡,也能实现连续重复付款。
向多个商家付款
在 iOS 16 或更高版本中,Apple Pay 实现在单个 Apple Pay 付款表单内为多个商家指定购买金额。这样顾客可以灵活打包购买,例如包含航班、租车和酒店的旅行套餐,然后付款给各个商家。