国际线上支付是怎么走通的?从清算链路聊聊为什么扫码方案接不进去

3 阅读4分钟

做出海或者接海外支付的开发者,迟早会遇到一个问题:为什么国内那套扫码支付(支付宝/微信)在海外 SaaS、API 的结账页里根本不出现,最后还是绕回了 Visa/Mastercard?

这篇不聊产品,聊支付链路本身——一笔国际线上支付从点击到扣款,中间经过哪些角色,为什么卡组织网络是绕不开的,而扫码方案在这套链路里接不进去。理解了这层,很多"支付报错"和"付不了款"的现象就能解释清楚。

一、一笔卡支付的清算链路

线上刷一张国际卡,背后大致是这么一条链路:

持卡人 → 商户 → 收单行(Acquirer) → 卡组织网络(Visa/MC) → 发卡行(Issuer)
                                          ↓
                                      授权/拒绝

关键角色:

  • 收单行(Acquiring Bank):商户侧的银行,负责把交易请求送进卡组织网络。Stripe、Adyen 这类支付服务商本质是收单环节的聚合方。
  • 卡组织网络(Card Scheme):Visa/Mastercard 的清算网络,负责路由和清结算规则。
  • 发卡行(Issuing Bank):持卡人这张卡的发行方,最终决定授权还是拒绝。

一笔支付的"成功/失败",决策权在发卡行,而路由和风控规则由卡组织网络定义。这就是为什么同一张卡在不同商户表现不一样——链路上每个角色都可能拒。

二、为什么扫码方案接不进这条链路

支付宝/微信的扫码支付走的是另一套清结算体系,不在 Visa/Mastercard 网络里。海外互联网商户的结账页,集成的是 Stripe/Adyen 这类卡收单通道,收银台能调起的支付方式取决于商户接了哪些通道。

支付宝海外(Alipay+)主要接的是东南亚、日本的线下实体零售收单,和"海外互联网商户的线上卡收单"是两条完全不同的路。所以你在 OpenAI、Shopify 这类平台的结账页看不到支付宝选项——不是它不想支持,是两套清算网络压根没打通

这也解释了几个常见现象:

  • 海外网页结账只能填卡号 → 因为商户只接了卡收单通道。
  • 海外消费汇率差异 → 卡支付走卡组织的中间价,扫码方案走自家牌价,本就是两套定价。
  • 不能做 P2P 转账 → 扫码消费是"商户收单"模型,不是账户间转账模型。

三、链路视角下,海外卡支付为什么会被拒

理解了链路,card_declined 这类报错就不玄学了,常见拒付点对应链路上的不同角色:

报错现象决策角色根因
card_declined / not supported卡组织/发卡行卡 BIN 国家被风控路由拦截
3D Secure failed发卡行二次验证(OTP)未通过/超时
region not available商户/收单IP 与卡 BIN 国家不一致
do_not_honor发卡行发卡行侧风控/额度问题

其中 BIN(卡号前 6 位) 是整条链路最先被读取的字段——卡组织和商户都靠它识别卡的发行国家并决定路由和风控策略。这是国内 BIN 的卡在海外平台高频被拒的根本原因,和卡里有没有钱无关。

四、几个工程视角的术语

  • BIN(Bank Identification Number):卡号前 6 位,标识发卡机构和国家,是路由和风控的第一判据。
  • 3DS / 3D Secure:卡组织定义的持卡人二次验证协议,目的是把欺诈责任从商户转移回发卡行。
  • MCC(Merchant Category Code):商户类目码,卡组织据此对不同行业施加差异化风控,比如 7311(广告)属高风险类。

小结

一笔国际线上支付的本质,是"商户收单 → 卡组织路由 → 发卡行授权"这条链路在跑。扫码支付走的是另一套不互通的清算体系,所以接不进海外互联网商户的收银台。看懂这条链路,你就能从角色和字段的角度去定位支付失败,而不是靠不停重试碰运气。


延伸阅读:跨境支付不同场景的链路差异和对照梳理,可参考这份整理:跨境支付场景方案