付款验证
3D Secure是什么?3DS验证流程,以及3DS验证失败的几种情况
卡号、有效期、安全码都填对了,点下付款却跳出一个要验证码的页面,或者干脆提示验证失败。这一步叫 3D Secure。它由发卡方把关,商户页面上能做的事很少,所以排查的方向和普通的「卡被拒」不一样。
3D Secure 是什么
ChatGPT、Claude 这类订阅的卡款由支付处理方经手,本站别的页面多次引用过其中一家 Stripe 的文档。Stripe 的 3D Secure 说明页(英文)开头这样定义:"3D Secure authentication (3DS) is a protocol that adds a security layer to card transactions." 它是加在卡交易上的一层安全协议,目的是确认付款的人就是持卡人本人。
验证长什么样,同一页接着写:"When 3DS is activated, the issuing bank might request cardholders to authenticate—typically through a familiar security prompt such as a password, one-time code sent to their mobile device, or biometric verification." 提出验证要求的是发卡行(issuing bank),形式通常是密码、发到手机的一次性验证码,或者生物识别。
你在付款页上看到的名字可能不叫 3D Secure。那一页列了几个卡组织自己的品牌名:Visa Secure、Mastercard Identity Check、American Express SafeKey。页面上出现这些字样,说的是同一件事。
3DS 验证流程:三步,其中一步你未必看得见
Stripe 讲接入流程的那一页把网页端的过程写成三句:
你输入卡信息;你的发卡行评估这笔交易,并且可以在这一步就把 3D Secure 做完;发卡行要求时,你再完成一步额外的验证。也就是说,中间那一步发生在银行那头,你看不到。
这也说明了为什么同一张卡有时弹验证、有时不弹。同一页写道:"Issuers might request different 3DS flow action types, which might not always result in visibly displaying a 3DS challenge (for example, a frictionless flow)." 发卡方可以走无感(frictionless)流程,不显示任何验证界面。商户想指定走哪种也做不到,原文是:"the issuer determines the ultimate authentication flow."
另外,老版本已经退场。那一页开头的提示写着:"Major card brands no longer support 3D Secure 1."
什么情况会触发
Stripe 列了它自动发起 3DS 的几种情形:"Stripe triggers 3DS automatically if mandated by regulations such as Strong Customer Authentication in Europe, industry guidelines such as the Credit Card Security Guidelines in Japan, if requested by an issuer with a soft decline code, or if certain Stripe optimizations apply." 拆开是四类:
- 法规要求。例如欧洲的强客户认证(SCA)。
- 行业准则要求。它举的是日本的信用卡安全指引。
- 发卡方要求。发卡方先回了一个「软拒绝」,要求补做验证。
- Stripe 自己的优化规则。文档没有展开细则。
地区上,3D Secure 说明页写的是:"The Strong Customer Authentication (SCA) regulation, as part of PSD2 in the EEA and similar regulations in the UK, India, Japan, and Australia, might require using 3DS for card payments. 3DS is optional in other regions, and you can use it to reduce fraud." 欧洲经济区、英国、印度、日本、澳大利亚的法规可能要求 3DS,其它地区是可选的,商户可以拿它来防欺诈。所以在这些地区之外,弹不弹验证取决于商户和发卡方各自的设置。
也有天然不走 3DS 的付款。同一页写:"not all transactions support 3DS, for example wallets or off-session payments." 钱包类付款和你不在场时发起的扣款(off-session)是它举的两个例子。Stripe 的 SCA 指南补了一句原因:Apple Pay、Google Pay 这类方式的付款流程里已经内建了一层验证("a built-in layer of authentication (biometric or password)")。
3DS 验证失败意味着什么
Stripe 文档对结果的判定只有一条线:
凡不是「已验证」的结果,一律按失败处理。例如验证码输错、超时没输、中途把页面关掉,只要发卡方没有回「已验证」,落到商户那里就是同一个结果:这次付款没有完成。
在适用 SCA 的地区,这条线更硬。Stripe 的 SCA 指南写:"Banks must decline payments that require SCA and don’t meet these criteria." 需要验证而没有达标的付款,银行必须拒绝。
反过来还有一种情形:卡本身不支持 3DS,或者发卡方的验证服务出了故障。文档写的是:"If the issuer doesn’t support 3DS at all or has an outage, Stripe might attempt to complete the payment without authentication if permissible." 措辞是「可能」「在允许的情况下」,这是一条有前提的例外,不能指望每次都放行。
失败之后,按这个顺序查
下面的顺序是本站根据上面几条原文整理的排查思路,不是任何一家的官方流程。
- 先确认验证是谁发的。验证由发卡方发起,验证码、App 推送、密码都来自发卡方。收不到、点不开、提示错误,问题在发卡方那一侧,去发卡方的 App 或客服查这张卡的验证方式和状态。
- 看发卡方账单上这笔的状态。验证失败的那次付款没有完成。账单上若有一笔待处理记录,等它的状态落定,再决定要不要重试。扣了两笔怎么分辨,见账单上出现两笔那一节。
- 换一次完整的尝试。重新打开付款页,从输入卡信息开始走完整个流程,验证页面出现后在同一个窗口里完成。
- 仍然不行,再看是不是别的拒付原因。3DS 只是被拒原因里的一种,账单地址、余额、卡种限制都可能是原因,逐条对照结账被拒的排查清单。
订阅续费还要不要再验
订阅第一次付款时你人在场,可以完成验证;之后每个月的续费是商户自动发起的,你并不在场。Stripe 的 SCA 指南对这种情形有一条专门的豁免说明:
同一商户、同一金额的系列扣款,第一笔需要验证,后续的「可能」被豁免。批不批,指南写明由持卡人的银行决定:"The cardholder’s bank will then receive the request, assess the risk level of the transaction, and ultimately decide whether to approve the exemption or whether authentication is still necessary."
这段话讲的是适用 SCA 的地区。对订阅用户有用的一点是:首笔付款的那次验证要认真做完;之后某个月续费失败时,按上一节的顺序查。选哪种卡付订阅更省事,见付海外订阅该用哪种卡;各平台自己写明的付款规则,汇总在官方付款规则页。
常见问题
3DS 验证码收不到,该找商户还是找发卡方?
付款时没有弹出任何验证页面,是不是没做 3DS?
3DS 验证失败了,钱会被扣吗?
订阅每个月续费,都要再做一次 3DS 吗?
分类:选卡与被拒排查