调至内容部分
创建账户或登录
Stripe 文档徽标
/
询问人工智能
创建账户登录
开始
付款
销售收入
平台和交易市场
资金管理
开发人员资源
API 和 SDK帮助
概览收款升级您的集成
线上付款
概览查找您的用例
使用 Payment Link
使用预制结账页面
使用 Elements 构建自定义集成
构建应用内集成
使用 Managed Payments经常性付款
线下支付
Terminal
支付方式
添加支付方式
    概览
    支付方式集成选项
    在管理平台中管理默认支付方式
    支付方式类型
    银行卡
    使用 Stripe 余额支付
    稳定币支付
    银行借记
      按 ACH 直接借记额收取
        收款
        保存银行详情
        将 ACH Direct Debit 从 Charges 迁移到较新的 API
        从另一个处理商迁移
        被冻结的银行账户
        SEC 代码
      Bacs 直接借记
      加拿大预授权借记
      澳大利亚 BECS 直接借记
      New Zealand BECS Direct Debit(新西兰 BECS 直接借记系统)
      SEPA 直接借记
    银行重定向
    银行转账
    贷记转账(来源)
    先买后付
    实时付款
    付款凭单
    钱包
    按国家启用本地支付方式
    自定义支付方式
管理支付方式
用 Link 更快结账
支付操作
分析
余额和结算时间
合规和安全
货币
拒付
争议
欺诈预防
Radar 欺诈保护
提现
收据退款与取消
高级集成
自定义支付流程
灵活收单
Off-Session Payments
多处理商编排
超越支付功能
成立公司
加密货币
智能体商务 (Agentic Commerce)
Financial Connections
Climate
验证身份
美国
简体中文
首页付款Add payment methodsBank debitsACH Direct Debit

Blocked bank accounts

Learn how to unblock ACH debit bank accounts and avoid future payment failures from blocked accounts.

Stripe can block bank accounts for various reasons, such as returned debits, failed payouts, and account takeovers, among others. The underlying reason for a block may be legitimate or due to a user error. By understanding why a bank account was blocked, you can take action to unblock it and minimize the chances of further accounts being blocked.

Reasons for blocked bank accounts

When ACH Debits are returned for reasons other than insufficient funds (for example, an account is closed or frozen), NACHA rules require originators of an ACH Debit to review and confirm the bank account or take other action before reinitiating a debit. To comply with these Rules, Stripe blocks certain bank accounts until we can confirm that the issue causing the returns has been resolved. In addition to ensuring compliance with the NACHA rules, this process helps businesses reduce fraud and avoid repeated dispute and return fees. We don’t block bank accounts because of past insufficient funds returns.

Minimizing blocked customer bank accounts

You can minimize the risk of dealing with blocked customer bank accounts by taking a few preventative steps. To minimize this risk, we recommend that you:

  • Verify accounts using Financial Connections Instant Verification—This helps confirm accurate account details and verify account ownership.
  • Prevent accidental disputes—Use clear statement descriptors for your business name that customers can easily recognize on their bank statements, which minimizes the chance that a confused customer unintentionally disputes your payments.
  • Reduce bank auto-blocks—Some banks and business accounts automatically reject ACH Debits attempts from unknown entities. To prevent this, have your customer provide Stripe Company IDs to their bank to enable debits initiated by Stripe.

Identifying blocked accounts

In the Dashboard, ACH Debits that failed because blocked accounts are labeled blocked with an error message. When attempting to confirm a Payment Intent or Setup Intent, these blocked requests return an HTTP 402 status and contain the bank_account_unusable error code. Payment Intents also generate a failed charge, while Setup Intents create a failed Setup Attempt instead.

Payment method status details

After creating a US bank account payment method, the us_bank_account.status_details.blocked field renders if the account is blocked. You must make requests using a secret key for the field to appear.

You can access the network_code and reason properties inside the PaymentMethod object to understand the details behind each block. The network_code contains the raw ACH return code associated with a previous failed payment or dispute made with this account, while the reason is a summary category that corresponds with the code’s semantic meaning.

For more information on removing blocks, consult the section on handling blocked bank accounts below for each reason value. When Stripe removes the block, the us_bank_account.status_details.blocked field stops rendering on all previously affected payment methods.

Listening to status changes

Stripe sends the payment_method.automatically_updated event for all saved payment methods when a blockable ACH return is received. This also includes any verified customer bank accounts that were created using the Stripe legacy ACH integration.

Consuming these events can provide advance notice if your business model relies on recurring payments that need to be processed before a certain date. Inspect the event data for the us_bank_account.status_details.blocked field, then work with your customer to unblock or switch bank accounts before initiating future payments.

You receive equivalent events when the block is removed, indicating that payment methods can be reused immediately, if an active mandate exists or you re-collect one.

Handling blocked bank accounts

If a customer’s ACH bank account becomes blocked, the action you take depends on the reason the account was blocked. To find the reason, go to the Payment Intent in the Dashboard and navigate down to the All activity section. Then, find the 402 Error - A Request to create a PaymentIntent failed event and locate the code value in the last_payment_error field.

原因推荐操作Required documentation
  • bank_account_closed

Contact the customer to make sure their bank account is still active, and that other information associated with the account is current and correct. If the customer’s bank account is no longer valid or active, ask them to update their payment method for future debits.

If, after contacting the customer, you believe the bank account was blocked in error, contact Stripe Support with the required documentation. After we confirm this information, we can unblock the account for future use.

Recent screenshot of an online bank portal that shows the full routing number, account number, and name of the account holder.

或

Letter from the bank noting the account is still active, including the full routing number, account number, and name of the account holder.

  • bank_account_frozen
  • bank_account_restricted

Contact the customer to make sure their bank account is still active, and that other information associated with the account is current and correct. If the customer’s bank account is no longer valid or active, ask them to update their payment method for future debits.

If, after contacting the customer, you believe the bank account was blocked in error, contact Stripe Support with the required documentation. After we confirm this information, we can unblock the account for future use.

Recent letter from the bank indicating that the account supports debits, including the full routing number, account number, and name of the account holder.

或

Bank statement that shows recent debit activity, including the full routing number, account number, and name of the account holder.

  • bank_account_invalid_details

Contact the customer to make sure their bank account is still valid, and that other information associated with the account is current and correct. If the customer’s bank account is no longer valid or active, ask them to update their payment method for future debits.

If, after contacting the customer, you believe the bank account was blocked in error, contact Stripe Support with the required documentation. After we confirm this information, we can unblock the account for future use.

Voided check that shows the full routing number, account number, and name of the account holder.

或

Recent screenshot of an online bank portal that shows the full routing number, account number, and name of the account holder.

  • debit_not_authorized
  • bank_account_unusable

When a customer disputes a payment as unauthorized, contact them before attempting any additional debits. After their first dispute, Stripe revokes the associated mandate and requires them to accept a new mandate authorization before additional debits can be attempted. If they dispute a second payment, the bank account is blocked.

If, after contacting the customer, you believe they unintentionally disputed these payments, contact Stripe Support with the required documentation. After we confirm this information, we can unblock the account for future use.

Written communication from the bank with confirmation that the Stripe ACH ID was added to the allowlist and authorization restrictions are lifted. The written communication must confirm that the customer has authorized future debits to this payment method and must include the account details, such as account number, routing number, and name of the account holder.

  • tokenized_account_number_deactivated
Some banks issue tokenized account numbers when a customer links their account using Financial Connections. These account numbers can become deactivated, requiring the customer to update their payment method by relinking the account before they can resume making payments.None

For more information, see Network decline codes.

可选Legacy ACH Direct Debit with Charges

The behavior of ACH Direct Debit with Charges, our legacy ACH Direct Debit payment method, differs slightly from the behavior of ACH Direct Debit on the Payment Intents API.

When a payment accepted using the Charges API is disputed with either the debit_not_authorized or bank_account_unusable reason, we immediately block the bank account associated with that payment. This differs from our behavior on the Payment Intents API, where we block the bank account only after a second payment is disputed.

If you’re building a new integration, don’t use ACH Direct Debit with Charges. Use one of our current methods for accepting ACH payments instead.

If you have an existing integration that accepts ACH payments using the Charges API, we recommend migrating to the Payment Intents API.

此页面的内容有帮助吗?
是否
  • 需要帮助?联系支持。
  • 查看我们的更改日志。
  • 有问题?联系销售。
  • LLM? Read llms.txt.
  • Powered by Markdoc