Recently, a client I’m working with asked me to migrate some subscribers for a selected couple of Stripe Products from one Stripe account to another.

For simplicity purposes, let’s assume the origin account to be Account 1 and the destination account to be Account 2.

This short guide contains two parts —

A. Steps to reach out to Stripe Support
B. Steps for the Stripe Account owner(you)

⭐️ Steps to reach out to Stripe Support

Transfer Customer data with financial information
Reach out to Stripe support by sending an email to support@stripe.com
Both the Stripe accounts should be activated and approved by Stripe.

Steps for Stripe Customer Data Migration

In my case, Stripe’s Data Migration team took about two weeks in total to complete the migration. Please note that Stripe can only migrate the Customer data and related card info, nothing more or less.
All Products, Prices/Plans, Subscriptions, Coupons will have to be recreated by you. Stripe provides no migration facility for entities other than Customers.

Confirmation email by Stripe Support for Customer Data Migration

⭐️ Steps for the Stripe Account owner(you)

  1. Recreate Products and Prices/Plans
    Make sure while recreating the Products and their Price/Plan, you do maintain the Stripe IDs.
    Since Stripe does not allow you to define IDs of Products and Prices/Plans from the Stripe Dashboard, I’d recommend you to use the Stripe API for this process.
  2. (Optional) Transfer Coupons
    Similar to Step 1, you need to recreate this and maintain the same Stripe IDs. If your subscribers might’ve used some coupon, this will help them retain them in the migrated subscriptions.
  3. Recreate Subscriptions
    Assuming you have all the Customers and Products & Prices/Plans ready in your Stripe dashboard.
    Using Stripe’s APIs, recreate the subscriptions from Account 1 to Account 2. Set the new Account 2’s subscription with a trial that expires on Account 1’s subscription renewal date.
I’ve cross-verified this approach with Stripe Support — Dated 23rd Sept 2021

⚠️ Few Warnings:

  1. Some EU customers may be required to reauthorize the payment once their subscription ends.
  2. If you’re using Stripe along with a service, switching Stripe account and deleting the subscriptions from the original Stripe account might land you in some trouble — Do confirm the migration with the service you might’ve used for giving access to customers.
    For example, switching Stripe account subscribers on Substack is not possible. Substack Support says all your Substack subscriptions will get cancelled, and you will have to ask all the readers to resubscribe if you want to migrate Stripe subscribers.

References —

  1. Huge shoutout to Colin Devroe for this terrific write-up! This was the only good article I could find on the internet.
  2. Stripe Support Question — Copy existing account data to a new Stripe account.
  3. Stripe Support Question — Recreate subscriptions and plans after moving customer data to a new Stripe account.

Not sure why Stripe hasn’t made this information easily accessible, it took me several days to get to know this process. I hope you found this article helpful. As of 26th Sept 2021, I’m working on this project and might share the Python script in the future. If you’re interested, let me know at sam+stripe@sameerkumar.website
Feel free to reach out!

~ Sameer Kumar