Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
Multiparty payments
After the payment
Add payment methods
    Overview
    Payment method integration options
    Bank debits
    Bank redirects
    Bank transfers
    Buy now, pay later
    Credit transfers (Sources)
      ACH Credit
      Multibanco
    Real-time payments
    Vouchers
    Wallets
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
HomePayments

Credit transfers (Sources)

Learn about bank transfers with Stripe.

Stripe doesn’t recommend using the deprecated Sources API. Use the PaymentIntents and PaymentMethods APIs to integrate with Bank Transfers. Get started accepting Bank Transfer Payments.

Bank transfers let customers send money to you directly from their bank account. Bank transfers are often used by:

  • Software or services businesses accepting large, one-off payments from other businesses.
  • Businesses that want a low-cost alternative to cards for large one-time consumer payments, like car or auction purchases.

Bank transfers might not be a good fit for your business if:

  • You accept many low value transactions. Customers have to initiate bank transfers through their bank account, and can send the wrong amount.
  • You need payments to be completed at a specific time. It may take a customer hours or even days to send payment via their bank and bank transfers have varying speeds by market
  • You frequently send refunds. Most bank transfer methods don’t support refunds directly. To refund a transaction, Stripe contacts the customer to find the best way to refund them. The customer may not always respond.

Payment experience

At checkout, you instruct the customer to send funds to an account number provided by Stripe (known as a “virtual account number”). The customer initiates the transfer from their bank’s site, app, ATM, or in-person branch.

Figure describing the four step payment flow. First, customer elects pay by bank transfer. Next, they receive a virtual bank account number created by Stripe. Then, they send payment through their bank to the virtual account number. Finally, they are notified payment is complete.

Some bank transfer methods let you control the amount the customer sends, or reuse virtual account numbers.

Product support

Payment method Customer country PaymentIntents Checkout Connect Invoicing Subscriptions Payment Element Payment Links Mobile Payment Element
ACH bank transfers and wires (beta)United States
Multibanco (beta)Portugal

Additional bank transfer methods

Stripe is expanding support for bank transfers to the PaymentIntents API, including automatic reconciliation and refunds. You can read more on Bank Transfer Payments.

  • JPY bank transfers in Japan
  • GBP bank transfers in the UK
  • EUR bank transfers in SEPA countries
  • MXN bank transfers in Mexico
  • USD bank transfers in the US Beta

Please contact us if you’re interested in joining one of these betas or would like to request another bank transfer method.

Was this page helpful?
Questions? Contact Sales.
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$