付款页面弹出一个银行的验证窗口,要你输验证码或在 App 里确认,结果验证码迟迟不来、页面转圈到超时,或者干脆反复报 authentication_required——订阅 ChatGPT Plus / Pro 走到最后一步被这道关卡住,是相当多人遇到的情况。这道关叫 3DS(3-D Secure),它本身不是故障,而是银行在做身份核验。本文把它讲清楚:3DS 是什么、为什么海外订阅付款会弹它,各种卡点怎么逐个排查,为什么不能短时间反复硬刷,以及怎么区分到底是卡的问题还是网络环境的问题。

3DS 是什么,为什么海外订阅付款会弹它

3DS 全称 3-D Secure,是 Visa、Mastercard 等卡组织推出的在线支付身份验证层。简单说:你输完卡号、有效期、CVV 之后,发卡行可能再要求你证明“刷卡的真是你本人”,方式包括短信验证码(OTP)、银行 App 推送确认、或指纹/人脸生物识别。这一层叫 3DS 验证。

它背后是欧盟 PSD2 法规里的“强客户认证”(SCA,Strong Customer Authentication)要求:一笔电子支付要用“你知道的(密码)、你拥有的(手机)、你本身的(生物特征)”这三类要素里的至少两类来验证。据 Stripe 公开资料,ChatGPT 的订阅由 Stripe 作为支付处理方,Stripe 与欧洲不少发卡行都受这套规则约束,所以海外订阅扣款经常会触发 3DS 挑战。

据 Stripe 文档,3DS2 会把一笔支付导向两种结果之一:无感流程(frictionless flow,发卡行根据后台风险信号直接放行,你完全不用动手)或挑战流程(challenge flow,发卡行要求你用验证码、App 确认或生物识别走一遍)。你能看到那个验证弹窗,说明这笔被判进了挑战流程。为什么海外订阅尤其容易进挑战流程?因为对发卡行而言,一笔境外的、新商户的、订阅类的扣款风险信号偏高,银行倾向于让你亲自确认一次。这是机制本身,不是你的卡坏了。

authentication_required 到底是什么意思

很多人看到 authentication_required 就以为是卡被拒了,其实正相反。据 Stripe 帮助中心说明,这个拒付码的含义是:发卡行要求先完成 3DS 验证,才肯授权这笔扣款。卡和账户通常都是有效的,只是这一步身份验证没走完。

关键的一点是:据 Stripe 说明,这是一种“靠静默重试救不回来”的拒付——也就是说,系统在后台默默再扣一次同样的款是没用的,必须由你本人在前台完成一次 3DS 交互(输验证码 / App 点确认 / 指纹)才能通过。所以当你看到 authentication_required,正确动作不是反复点“重试付款”,而是想办法把那道验证关走通。下面分场景拆。

还有一种少见情况据 Stripe 帮助中心提到:个别卡(多见于 Mastercard)已经走完了 3DS,发卡行系统却还没同步更新,仍回了 authentication_required。这种属于银行侧系统延迟,不是你操作错了,遇到时联系发卡行核实即可。

卡点逐个排查

场景一:银行没推验证码 / OTP 收不到

这是最高频的卡点。验证页弹出来了,但短信验证码迟迟不来。常见原因和对策:

据多家支付服务商的故障说明,OTP 收不到多数指向“银行侧联系方式过期或投递通道问题”,而不是 ChatGPT 那边的问题。所以这一类要找银行,不是找客服改 OpenAI 设置。

场景二:验证页加载不出来 / 转圈超时

验证窗口本该弹出,却一直空白或转圈,最后超时失败。常见诱因是浏览器层面挡住了这个弹窗:

对策:用无痕窗口 + 关扩展 + 稳定网络重新走一遍;如果是手机端,试试用 App 内购买路径(iOS 上通过 App Store 付款是另一条独立通道,不走网页 3DS 弹窗)。

场景三:反复报 authentication_required,怎么都过不去

如果你已经在认真走验证、却每次都回到 authentication_required,往往是验证那一步实际上没真正完成。逐项核对:

场景四:直接报“卡被拒”(card declined)

如果根本没走到验证、直接被拒,那通常不是 3DS 问题,而是别的拒付原因(卡未开通境外/在线交易、额度或风控、信息填错等)。这类排查另成一篇,本文文末有专门链接。

关键忠告:别短时间反复硬刷

付款没过,最自然的反应是立刻再点一次“重试”。但在 3DS 这件事上,连续硬刷恰恰是会把事情搞砸的操作。

据 Adyen 文档(其依据为 PSD2 规则):一张卡在连续多次 3DS 验证失败后,会被临时禁止再做 3DS 验证——Adyen 给出的阈值是连续 5 次失败触发临时锁;具体次数各家银行不一定相同,但都是“失败几次就锁”的同一类机制。换句话说,你越是急着一遍遍刷,越可能把这条支付通道自己锁掉。

被锁之后会怎样:据 Adyen 文档,要么联系银行/支付方解锁(可能要求你做身份核验后才恢复),要么等大约一小时让临时锁自动解除。此外,短时间内同一张卡对同一个境外商户连扣多笔,本身也容易触发发卡行的风控,被判成可疑交易而临时冻结——这时你可能收到一条银行的“是否本人操作”确认短信,回复确认后才会解冻。

自救做法:

是卡的问题,还是网络环境的问题

两类问题表象都是“付不了款”,但根因和解法完全不同,先分清能少走很多弯路。一个粗判方法:看你卡在哪一步

现象更可能是下一步
验证页弹出来了,但验证码不来 / App 没推送卡 / 银行侧(联系方式、3DS 登记)找银行:更新手机号、确认卡支持 3DS 与在线交易
验证页根本弹不出、空白、转圈超时环境侧(浏览器/网络/线路)无痕窗口、关扩展、换浏览器、稳定网络重试
没到验证就报 card declined卡侧(境外/在线未开通、风控、额度)按拒卡专题排查、联系银行
填错就被拒、换张卡或换个环境立刻能过看具体哪个变量起效单变量替换法定位(见下)

单变量替换法是最有效的定位手段:一次只改一个条件,看结果变不变。

需要强调:付款会话的网络环境是否干净、稳定、地区一致,是这一步成败的真实变量之一,但它不是能“绕过”3DS 的开关——3DS 验证最终由发卡行决定,环境只影响这笔是否被判成高风险、以及验证页能否正常加载完成。

实在过不去,稳妥的替代方向

把上面都试过、银行也确认卡没问题,仍卡在 3DS,这时硬磕同一张卡同一条路意义不大。可以考虑换更稳的支付方式或通道,方向上中立地说:

最后两句实在话:3DS 能不能过,最终取决于你的发卡行,任何人都不该向你承诺“这张卡 100% 能过”——同一张卡今天过不了、明天换个时段或换个方式可能就过了,反之亦然。排查的价值在于把“卡的问题”和“环境的问题”分开,各自对症,而不是对着同一堵墙一直撞。先停手、再定位、单变量替换,比反复硬刷靠谱得多。

延伸阅读