Reusable object migration from Sources to Payment Intents

If you are processing reusable payment methods on the Sources API (SEPA Direct Debit, Bacs Direct Debit, or Alipay), you will need to complete a data migration to convert your reusable Sources to PaymentMethods. This will allow you to continue processing recurring payments with no interruption to your existing customers. To walk you through this step by step migration process, we’ve built a data migration tool in the Stripe Dashboard. 

How do I access this migration tool?

You can access the tool by following this link to your Dashboard. If you have not already done so, you will first be prompted to opt into a preview for Workbench - please accept by selecting “start migrating with Workbench.” 

The main page of the tooling is the “Summary” tab, which is designed to:

Once you have stopped processing payments via the Sources API, all payment methods will show green check marks, confirming you have completed the migration.

Next to the “Summary” tab, you will see an additional tab for each reusable payment method that requires a data migration. This tab will be titled “Migrate {type} Sources” where {type} is “SEPA Direct Debit”, “Bacs Direct Debit,” or “Alipay”.


This tab will walk you through the step-by-step migration process. As you move through the process, each step will be highlighted on the left side, with the corresponding instructions for completing that step on the right. 

When should I use the migration tool? 

We recommend that you run the migration after you have migrated your integration to use the PaymentIntents and PaymentMethods API so that you are no longer creating new reusable Source objects. The first step of the tool checks that you have not created any Sources in the last 24 hours. 

Can I run the migration tool multiple times? 

We recommend that you run the migration one time to migrate all Source objects in a single pass. However, if you need to re-run the migration tool, it is safe to do so. The tool first checks if a Source object has already been migrated and will only create PaymentMethods for objects that have not previously been migrated. 

Is the migration tool safe? Can I use it without disruptions to my payment flow?

Yes, it is safe to convert Sources to PaymentMethods (step 2). Both sets of objects – the old Sources and new PaymentMethods – will be active and chargeable (able to create payments) so the conversion will not disrupt your payment flows.

The newer objects will not begin to be used in your payment flows until you have updated your code or set the new PaymentMethods as default on Customers, Invoices, or Subscriptions in step 4. The only step that is irreversible is step 6, which will detach the old Sources and prevent them from being reused. Before executing this step, please ensure that you have removed all references to legacy Source objects from your code base and made the necessary updates to instead reference the new PaymentMethods.

How can I test the tool before running it in production?

You can use the migration tool in test mode by switching the Stripe Dashboard in test mode using the “Test mode” toggle at the top right of the screen. Alternatively, you can go to https://dashboard.stripe.com/test/dashboard. Once the Dashboard is in test mode, you can run the migration on any existing reusable test objects (or use the Stripe API to create new test mode objects to migrate).

How will the migration tooling work for me as a Connect Platform?

If all of the Source objects are directly associated with your platform account, you can use the migration tooling as designed and follow the data migration process as described above.

If, however, the Source objects are associated with your connected accounts, you can log into each connected account’s Stripe Dashboard to complete the data migration on their behalf. We understand that this may be tedious to complete if you have many connected accounts - we are working on a better approach and will provide an update to platforms once a solution is in place. In the meantime, if you are ready to complete your migration and would like to work with us directly to complete this step for a large number of connected accounts, contact support.