拒绝码
Stripe 拒绝代码:每个代码的含义以及如何解决
核实日期
Stripe 拒绝代码会告诉您银行卡支付在 Stripe 上失败的原因。有些来自发卡银行,例如 insufficient_funds 或 expired_card;有些则来自 Stripe 本身,例如 fraudulent 或 merchant_blacklist。Stripe 会在 card_declined 错误中将它们作为 decline_code 返回。下面的每个页面都会解释一个代码,说明根据银行卡网络规则是否可以重试,并展示 PlatformDTC 结账和订阅续订如何处理它。
| 代码 | 含义 |
|---|---|
| authentication_required | 银行希望持卡人验证支付,通常使用 3D Secure。 |
| authentication_not_handled | 需要验证,购物者跳过了,银行再次拒绝。 |
| approve_with_id | 银行无法授权按原样发送的支付;再试一次可能会成功。 |
| call_issuer | 银行拒绝了,但没有给出理由,并希望持卡人联系银行。 |
| card_not_supported | 此卡不能用于此类购买。 |
| card_velocity_exceeded | 卡片的余额、信用额度或金额限制已达到。 |
| currency_not_supported | 这张卡无法用当前支付的货币进行扣款。 |
| do_not_honor | 银行拒绝了这张卡,但没有说明原因。 |
| do_not_try_again | 已弃用代码:因未知原因被拒绝;请勿再次使用此卡进行交易。 |
| duplicate_transaction | 几分钟前,同一张卡上提交了一笔相同的支付。 |
| expired_card | 银行卡已过有效期。 |
| fraudulent | Stripe 的欺诈检查怀疑该支付存在欺诈并将其阻止了。 |
| generic_decline | 因未知原因被拒绝,或被 Stripe Radar 或 Adaptive Acceptance 阻止。 |
| incorrect_address | 输入的账单地址与银行记录不符。 |
| incorrect_cvc | 银行卡的安全码 (CVC) 不正确。 |
| incorrect_number | 输入的银行卡号不正确。 |
| incorrect_pin | 在读卡器上输入的 PIN 码不正确。 |
| incorrect_zip | 账单邮政编码与银行记录不符。 |
| insufficient_funds | 此卡没有足够的资金或信用额度来支付此笔款项。 |
| invalid_account | 此卡或其关联账户已不再有效。 |
| invalid_amount | 支付金额无效或超出卡片允许的限额。 |
| invalid_cvc | 卡片的安全码 (CVC) 不正确。 |
| invalid_expiry_month | 卡片的有效期月份无效。 |
| invalid_expiry_year | 卡片的有效期年份无效。 |
| invalid_number | 卡号不正确。 |
| invalid_pin | 输入的PIN码不正确。 |
| issuer_not_available | 无法联系到发卡银行,因此支付从未获得授权。 |
| lost_card | 该银行卡已报失。无法使用;顾客需要另一张银行卡。 |
| merchant_blacklist | 该支付与商店自己的 Stripe 黑名单上的一个条目匹配。 |
| new_account_information_available | 该卡或其账户无效;银行可能持有其更新的详细信息。 |
| no_action_taken | 银行卡被拒绝,原因银行未告知。 |
| not_permitted | 银行表示此银行卡不允许进行此支付。 |
| offline_pin_required | 仅限当面交易:需要插入卡并输入 PIN 码。 |
| online_or_offline_pin_required | 仅限当面交易:卡需要 PIN 码,通过在线 PIN 码或芯片和 PIN 码。 |
| pickup_card | 此卡无法用于本次支付;它可能已被报告丢失或被盗。 |
| pin_try_exceeded | PIN码尝试次数过多;客户必须使用其他卡或支付方式。 |
| processing_error | 处理卡片时发生错误。通常是临时性的。 |
| reenter_transaction | 银行因未知原因无法处理该付款;请再试一次。 |
| restricted_card | 此卡无法用于此支付;它可能已被报告丢失或被盗。 |
| revocation_of_all_authorizations | 银行拒绝了;通常持卡人已停止所有未来的支付。 |
| revocation_of_authorization | 银行拒绝了;通常是持卡人撤销了对这家商店的付款。 |
| security_violation | 银行拒绝了,但没有说明原因;通常是出于安全规则。 |
| service_not_allowed | 银行没有给出原因,银行卡被拒绝了。 |
| stolen_card | 这张银行卡已被举报为被盗。它不能再使用了。 |
| stop_payment_order | 银行拒绝了;该代码的名称指向卡片的止付指令。 |
| testmode_decline | 在实际支付中使用了 Stripe 测试卡号。 |
| transaction_not_allowed | 银行拒绝了;该卡不允许此类交易。 |
| try_again_later | 已弃用代码:银行因未知原因拒绝;请稍后重试。 |
| withdrawal_count_limit_exceeded | 客户已超出银行卡上的可用余额或信用额度。 |
| mobile_device_authentication_required | 该支付需要身份验证;客户应该再次轻触他们的手机。 |
| card_declined | Stripe 针对任何被拒绝的卡的错误代码;decline_code 说明了原因。 |
| payment_intent_authentication_failure | 卡片未能通过银行的身份验证检查(例如 3-D Secure)。 |
哪些 Stripe 拒绝代码可以重试
Stripe 将许多拒绝归类为通用(generic),因此具体原因通常不明确。根据经验法则,资金、限额和临时代码稍后可能会解决;错误的银行卡详细信息需要购物者重新输入;丢失、被盗、已关闭、受限和过期的银行卡需要更换一张卡。
Stripe 还会针对某些拒绝返回一个建议代码:do_not_try_again 表示不要再次使用该卡进行该笔支付,try_again_later 表示允许重试,而 confirm_card_data 表示某些银行卡详细信息有误。Stripe 建议对于允许重试的支付最多重试八次。
在默认的固定计划(重试间隔为 1、3、5 和 7 天)下,最后两组的拒绝也会在首次失败后停止:银行卡不会被重试,订阅会处于逾期状态,客户会收到更新银行卡或确认支付的电子邮件。只有其他组会按照该计划进行重试。
| 组别 | 示例代码 | 会发生什么 |
|---|---|---|
| 资金不足 | insufficient_funds | 在客户可能的发薪日重试,或在首次拒绝后的 2、5、8、13 和 18 天重试:最多 6 次尝试(PayPal 上为 7 次,预付卡上为 2 次) |
| 临时性 | processing_error, issuer_not_available, try_again_later, card_velocity_exceeded, card_decline_rate_limit_exceeded | 在首次拒绝后的 2、5 和 8 天重试:最多 4 次尝试 |
| 未给出原因 | do_not_honor, generic_decline, call_issuer, approve_with_id, no_action_taken, duplicate_transaction | 48 到 72 小时后重试一次,然后要求客户提供一张新卡 |
| 需要银行确认 | authentication_required, authentication_not_handled, mobile_device_authentication_required | 不进行盲目重试;要求客户向其银行确认支付 |
| 银行卡无法使用 | lost_card, stolen_card, expired_card, incorrect_number, incorrect_zip, restricted_card, pin_try_exceeded, do_not_try_again | 从不重试;客户会收到一个一键更新银行卡的链接 |
PlatformDTC 在结账时会怎么做
购物者会看到 Stripe 的拒绝消息,以及针对常见代码的简单提示,例如“您的银行卡资金不足。请尝试另一张卡。”并可以选择立即尝试另一张卡。对于 lost_card、stolen_card、pickup_card、fraudulent 和 merchant_blacklist,提示始终是通用的“您的银行卡被拒绝了。请尝试另一张卡或联系您的银行。”,因此购物者永远不会被告知银行卡已报失、被盗或被标记。
如果商家选择 PayPal 银行卡支付作为备用,对于没有持久原因的银行拒绝,例如 do_not_honor 或 processing_error,可以通过 PayPal 再次尝试,购物者需要再次输入银行卡信息。资金、3-D Secure、错误详细信息、无效卡和欺诈拒绝永远不会转移到备用支付方式。
常见问题
- 我在哪里可以找到 Stripe 支付的拒绝代码?
- 在 Stripe 管理平台中,打开失败的支付:拒绝原因会显示,并附带一个简短的建议修复方案。在 API 中,它是 PaymentIntent 的 last_payment_error 上的 decline_code,并且 charge 的 outcome 也包含原因、建议代码,以及当网络发送时,原始网络拒绝代码。
- 最常见的 Stripe 拒绝代码是什么?
- Stripe 表示发卡银行将大多数拒绝归类为通用(generic_decline),这使得具体原因不明确。如果银行卡信息正确,Stripe 建议让客户联系其发卡银行,以了解支付被拒绝的原因。
- 我可以重试多少次被拒绝的 Stripe 支付?
- Stripe 建议对于允许重试的支付最多重试八次,并警告说额外的重试可能会被发卡银行视为欺诈。Visa 允许在 30 天内对可重试的拒绝进行最多 20 次尝试,但在 Category 1 拒绝(例如银行卡丢失或被盗)后则不允许重试。
- 我应该告诉购物者确切的拒绝原因吗?
- 对于大多数代码,是的:一个简单的原因,例如银行卡过期或安全码错误,可以帮助他们解决问题。对于 fraudulent、lost_card、stolen_card 和 merchant_blacklist,Stripe 表示不要提供详细信息,并以与 generic_decline 相同的方式显示拒绝。
来源
- Stripe 拒绝代码 — Stripe
- 银行卡拒绝 — Stripe
- 错误代码 — Stripe
- Visa Core Rules and Visa Product and Service Rules (24 October 2026), Table 7-2 — Visa