Stripe: ACH (US Bank Account) not appearing in checkout

Last updated: August 21, 2026

When ACH (US Bank Account) is enabled as a localized payment method in Lago's Payment Provider settings, it may still not appear as an option during Stripe checkout. This typically occurs because one or more prerequisites such as customer currency, an active bank account on the Stripe side, or a stale checkout session are not met. Ensuring all three conditions are satisfied will cause ACH to appear correctly in the Stripe checkout flow.

Applies to

  • Surface: Dashboard, Stripe integration

  • Deployment: Lago Cloud, Self-Hosted

  • Object or endpoint: Customer payment provider settings, Stripe checkout session

  • Condition: ACH enabled in Lago but missing from Stripe checkout

Cause

ACH payments via Stripe require a specific combination of conditions to be active simultaneously: the customer's currency must be USD, a bank account must be associated with the customer in Stripe, and the checkout session must be freshly generated after ACH was enabled. If any of these conditions is not met, Stripe will not present ACH as a payment option, even if it is enabled in Lago.

How to confirm the cause

Check each of the following in sequence:

  1. In Lago, open the customer record and verify that the currency is set to USD. ACH is only supported for USD transactions.

  2. In your Stripe dashboard, confirm that the customer has an active bank account on file. In Stripe test mode, you can add one using the test credentials below.

  3. Check whether the checkout URL being used was generated after ACH was enabled in Lago. Old sessions do not inherit new payment method settings.

  • Matching signal: Customer currency is not USD, no bank account exists in Stripe, or the checkout URL predates the ACH configuration change.

  • Non-matching signal: Currency is USD, a bank account is present in Stripe, and a fresh checkout URL was generated — in this case, a different cause may apply.

How to resolve the issue

  1. In Lago's Payment Provider settings, confirm that US Bank Account (ACH) is selected as a localized payment method.

  2. Open the customer record in Lago and ensure the customer's currency is set to USD.

  3. In Stripe, verify that the customer has an active bank account. If testing, add a bank account using the following Stripe test credentials:

    • Routing number: 110000000

    • Account number: 000123456789

  4. Generate a new checkout URL for the customer to ensure the session reflects the current ACH configuration.

Expected result: ACH (US Bank Account) appears as a selectable payment option in the Stripe checkout flow.

How to prevent this from happening again

When enabling a new payment method for a customer, always generate a fresh checkout URL afterward. Existing sessions are not updated retroactively and will not reflect changes made to payment method settings.

Field reference

Field, status, or error

Meaning

US Bank Account (ACH)

The localized payment method setting in Lago that enables ACH as a checkout option via Stripe. Must be enabled per customer.

Customer currency: USD

ACH is only supported for USD-denominated customers. Any other currency will prevent ACH from appearing in checkout.