Migrating from Sources-based Credit Transfers
Learn how to migrate your Sources-based ACH Credit Transfer payment method to US bank transfers.
Warning
We deprecated the Sources API and plan to remove support for local payment methods. If you currently integrate with ACH Credit Transfer payments using the Sources API, you must migrate to the Payment Methods API. We’ll send email communications with more information about this end of support.
For information about migrating to USD Bank Transfer supported by the current APIs, refer to the documentation below.
Reasons to migrate
The bank transfers payment method adds many improvements compared to ACH Credit Transfers. It’s compatible with Stripe PaymentIntents, supports Stripe Checkout, and the Payment Element, and takes less effort to operate, reconcile, and refund.
Impact of not migrating
Stripe plans to disable support for payment methods in the Sources API. If you handle any payment methods using the Sources API, you must migrate them to the Payment Methods API. We’ll provide further information about this end of support through email.
Impact on ACH Credit Transfers customers
When you migrate, Stripe keeps the same bank account information for customers when you add bank transfers, making the process seamless for them. If you don’t migrate, customers can still send funds using the legacy ACH Credit Transfer product.
Credit transfers versus Bank transfers
The following table details the differences between the new bank transfers payment method and ACH Credit Transfers:
Feature | ACH Credit Transfer | Bank transfers |
---|---|---|
Checkout Support | No | Yes |
Payment Element Support | No | Yes |
Dynamic payment methods support | No | Yes |
Refunds | Require customer action | Partially automated |
Funds land in | Source | Cash balance |
API | Sources | Payment Intents |
Unreconciled balances | Moved to your balance | Returned to the customer |
How Stripe migrates objects to support bank transfers
When you activate bank transfers, Stripe automatically enables your customer objects to support the new cash balance, one of the primary features of the bank transfers product.
- For a customer with no attached Credit Transfer Sources, Stripe provisions a new virtual account number for the cash balance.
- For a customer with attached Credit Transfer Sources, Stripe consumes the Credit Transfer Source object and moves the full remaining amount into the customer’s cash balance. See new transfers sent by the customer to the Source bank account number in the customer’s cash balance instead. The virtual account number stays consistent throughout the migration process, and you don’t need to communicate any new destinations to the customer. Single customers are automatically migrated after the following:
- Request of Customer Balance Funding Instructions (recommended if you’re upgrading your integration)
- Confirmation of a
customer_
Payment Intentbalance - Creation of an invoice or subscription using bank transfers
- For test mode customers, simulation of a funding transaction
- After the migration process is complete, it’s no longer possible to delete the customer. In return, we guarantee that funds sent to the virtual account at any point in the future are added to the correct customer cash balance.
Migrating your Connect integration
If your Connect platform integrates with Standard connected accounts using ACH Credit Transfers, follow the steps in the Connect integration guide.
Migrating for Invoicing or Billing
If you’re using ACH Credit Transfer payments with Invoicing or Billing and want to migrate, follow the steps in the Invoicing migration guide.
Migration for a direct integration with the Sources or Charges API
If you’re using ACH Credit Transfers using the Sources API, follow the steps in the Sources migration guide.