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