Processing ACH & bank transfers

    Learn how to accept ACH and bank transfer payments on Stripe.

    After collecting and tokenizing your customer’s credit card, you can accept bank transfer payments similar to how you collect card payments. Adding support for ACH and bank transfers is a two-step process:

    1. Enable the payment method in the Dashboard.
    2. Use the individual payment method guides to implement it.

    We plan to support all payment methods on the Payment Methods API. ACH is not yet supported—use the Sources API in the meantime.

    The Payment Methods API

    The new Payment Methods API replaces the existing Tokens and Sources APIs as the recommended way for integrations to collect and store payment information. It works with the Payment Intents API to create payments for a wide range of payment methods.

    A PaymentMethod object is stateless, relying on the PaymentIntent object to represent the transaction state of a given payment.

    Payment Method Payment Methods with
    Payment Intents API
    Tokens or Sources with
    Charges API
    ACH Debit Planned Supported on Tokens (not Sources)
    ACH Credit Transfer Planned Beta
    SEPA Direct Debit Supported Supported

    If your integration currently uses the Sources or Tokens API, follow the migration guide to transition to the Payment Intents and Payment Methods APIs.

    The Sources API

    Need to use a payment method that’s not yet supported by the Payment Methods API? Use the Sources API instead.

    The main difference between the Payment Methods API and the Sources API is that sources describe transaction state through the status property, which means that each Source object must be transitioned to a chargeable state before it can be used for a payment.

    Was this page helpful?

    Feedback about this page?

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    On this page