Short answer
Check which failure it was. If the customer ran out of attempts, ask for a different bank account, because Stripe says that one can no longer be verified or reused. If the deposits never arrived or the 10 days ran out, collect the bank details again. To skip microdeposits where possible, verify instantly with Financial Connections.
Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.
Why bank account verification failed, and the fix
01
The amounts or code entered don’t match
“The bank account can’t be verified, either because the microdeposit amounts provided don’t match the actual amounts, or because verification has failed too many times.” Stripe, Error codes (bank_account_verification_failed)
Stripe verifies with a 6-digit descriptor code by default, or with two deposit amounts. Check that the customer entered the code or the amounts from the right deposit. Stripe says the deposits take 1 to 2 business days to appear on the customer’s online statement.
02
Too many verification attempts
“Exceeding this limit means the bank account can no longer be verified or reused.” Stripe, Accept an ACH Direct Debit payment
Also check: once the attempt limit is reached, the same bank account can’t be used. Ask the customer for a different account instead of retrying.
03
The microdeposits never arrived
“The microdeposits fail to arrive in the customer’s bank account (this usually indicates a closed or unavailable bank account or incorrect bank account number).” Stripe, Accept an ACH Direct Debit payment
Also check: Stripe says deposits that fail to arrive usually mean a closed or unavailable bank account, or an incorrect account number. Collect the bank details again.
04
The customer didn’t verify in time
“Customers have 10 days to verify their bank account with microdeposits.” Stripe, ACH Direct Debit
Also check: after 10 days without verification, the PaymentIntent or SetupIntent needs a new payment method, so send the customer back to enter their bank details.
Checked against the vendor’s docs on : Stripe docs: Error codes; Stripe docs: Accept an ACH Direct Debit payment; Stripe docs: ACH Direct Debit.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
Related: Stripe mandate invalid · Stripe SetupIntent authentication failure · Stripe payout failed · Stripe webhook signature error