When collecting bank account details for ACH, use Stripe.js methods such as collectBankAccountForPayment or collectBankAccountForSetup, which open the Financial Connections modal by default
The user authenticates with their bank through the Financial Connections flow; account ownership and routing details are verified instantly without microdeposits
On modal completion, the returned PaymentMethod of type us_bank_account is already verified and ready to use for immediate payment confirmation
Confirm the PaymentIntent or SetupIntent with the returned PaymentMethod; the payment_method.us_bank_account.verification_method field will reflect 'financial_connections'
If the user's institution is not supported by Financial Connections, Stripe automatically falls back to manual account entry with microdeposit verification
Store the PaymentMethod for future reuse; subsequent charges do not require re-verification
Known gotchas
Instant verification requires Stripe.js and the hosted Financial Connections modal; it cannot be replicated by passing raw account numbers server-side
Not all US banks are supported by Financial Connections; plan for the microdeposit fallback path in your UX
The Financial Connections session created implicitly during this flow counts against your Financial Connections usage; review pricing for high-volume integrations
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp