01 它是干嘛的
Apple Pay 是苹果的支付服务,把银行卡信息安全地存进设备,让用户在线下贴一下、在应用里点一下就能付款。它的关键创新不是「用手机支付」,而是「令牌化」——把真实卡号换成一串设备专用令牌,从根子上切断了卡号泄露这条最常见的风险路径。
02 为什么会有它
刷卡时代:你的卡号躺在几十家商户的数据库里
传统刷卡与网上支付都要把真实卡号交给商户,商户再把它存进自己的数据库。这意味着只要任意一家商户被攻破,你的卡号就泄露了;偷到卡号的人可以拿去到处盗刷,而你往往要等到账单出来才发现。
用户也很烦:记卡号、填有效期、输安全码,每换一张新卡(到期或被冻结)就要去几十个网站重新绑定一遍。对商家来说,为了收钱还得把大量敏感数据存起来,安全责任重、合规成本高。
Apple Pay 换了一个思路:卡号根本不交给商户。绑卡时卡信息在设备与发卡行之间直接完成验证,之后实际流通的是一串「设备专用令牌」,即使这串令牌在传输中被截获,也没法在其他地方使用。这个动作叫令牌化,是它有别于传统支付的核心。
03 它怎么工作
核心机制是「令牌化」:真实卡号在绑卡那一刻就被换成设备专属令牌,之后每次支付传的都是令牌加一次性动态验证码,商户与苹果都不会拿到你的真实卡号。
一次付款,为什么商家始终看不到你的卡号
- 1① 绑卡
你在设备里添加银行卡,卡信息被送去发卡行验证,这一步是设备与银行之间的直接对话,苹果只参与串联。
- 2② 生成设备令牌
验证通过后,银行生成一串只属于你这台设备的令牌,真实卡号不再出现在设备上,也不参与后续任何一次支付。
- 3③ 发起支付
结账时你确认付款,系统不仅验证指纹或面容,还会确认这台设备本身确实是经过你授权的设备。
- 4④ 生成一次性动态安全码
每一笔交易都会带一个只能用一次的动态安全码,即使有人截获了这次信息,也无法拿来刷下一笔。
- 5⑤ 传给商户
商户收到的是令牌和动态码,而不是卡号;商户把它交给收单机构,由收单机构去找发卡行完成授权。
- 6⑥ 银行核验并扣款
发卡行用令牌对应回你的账户,核验通过后放行交易。全程商户拿不到卡号,苹果也接触不到你的卡号。
04 谁在用它
在支持感应支付的收银台,把手机或手表靠近读卡器,验证一下面容或指纹即可完成付款。
在支持的电商应用或网站里选择 Apple Pay,不用注册账号、不用一张张填卡号,确认即可下单。
部分城市把交通卡放进设备,进站出站贴一下即可,手机没电时部分机型还有备用电力支持。
在支持的国家与地区,用同一台设备完成支付,避免反复填写卡号与地址等敏感信息。
应用与内容订阅可以绑定 Apple Pay 支付,续费与取消都在账号设置里统一管理。
05 怎么用
门槛很低:普通用户只要在「钱包」里加一张卡;商家或开发者则需要在应用或网站中接入支付能力。
- 01普通用户:打开「钱包」应用,点添加卡片,选择借记卡或信用卡。
- 02用相机扫描卡面或手动输入卡号,等待银行验证(通常通过短信或银行应用确认)。
- 03把常用卡设为默认卡,付款时确认面容或指纹,把设备靠近读卡器即可。
- 04在支持的应用与网站里选择 Apple Pay 结账,无需注册与填写长表单。
- 05管理:需要停用时在「钱包」里移除卡片,或到账号设置里清除该设备的支付凭证。
- 06开发者:在应用里接入支付相关框架,在网站里接入对应的网页支付方案,并处理商家标识与验证。
import PassKit
// 1) 声明你支持哪些支付网络,以及本笔交易的金额与商户信息
let request = PKPaymentRequest()
request.merchantIdentifier = "merchant.com.example.shop"
request.countryCode = "CN"
request.currencyCode = "CNY"
request.supportedNetworks = [.unionPay, .visa, .masterCard]
request.merchantCapabilities = [.capability3DS]
request.paymentSummaryItems = [
PKPaymentSummaryItem(label: "商品", amount: NSDecimalNumber(string: "19.90"))
]
// 2) 弹出苹果的支付面板,用户在这里完成身份确认
let controller = PKPaymentAuthorizationViewController(paymentRequest: request)
// 3) 真实项目里还需要实现代理方法,把加密后的支付凭据交给你的服务端去扣款
// 注意:应用只会拿到加密凭证,永远拿不到用户的真实卡号避坑提示
- !商户拿不到卡号不等于没有风险,退款与对账流程仍需按平台要求正确处理。
- !设备丢失时,支付凭证可能随账号被远程清除;但交通卡等特殊卡片有独立的处理方式。
- !开发者务必在服务端校验支付凭据,不要相信客户端传来的任何金额或状态。
06 关键概念
- 令牌化(Tokenization)
- 用一串设备专用代号代替真实卡号,代号离开这台设备就基本没用。
- 设备专用令牌
- 银行发给某台设备的号码,和你的真实卡号一一对应,但换了设备就不能用。
- 动态安全码
- 每笔交易临时生成、只用一次的验证码,让截获的信息无法重放。
- 近场通信(NFC)
- 手机贴近读卡器就能通信的短距离技术,线下贴一下付款靠的就是它。