Migrating to Stripe Connect

How to design & deliver a big-impact, risk-free PSP migration

Clément Salaün
Jul 2, 2019 · 6 min read

With PSD2 being pushed downstream from European parliament to countries implementations and new requirements coming into play, we decided it was time for us to choose a new payment partner.

As a marketplace, changing your main payment processor is no small feat; this article reflects the strategy we used at Selency to deliver that big switch.

The case for Stripe Connect


Stripe’s Separate Charges and Transfers solution occupies a nice spot in the flexibility / compliance spectrum, providing an API that lets you handle the money-splitting logic while still remaining fully PSD2 compliant.


Reliability is especially important as you scale, as any time spent on manual repairs will grow non-linearly following your company growth function and rapidly become unmanageable.

Stripe’s reliability is demonstrated in various ways, from their status page to their precious in-dashboard API requests logs.

Establishing the migration framework

☑️ Safety

☑️ User Experience

☑️ Room for learning

In addition to these objectives, we identify sanity metrics that will be followed during and after the migration:

📊 Conversion

📊 Adoption

📊 Time to cash-out

With these objectives and metrics in mind, we can start to design our migration plan.


Image for post
Image for post
The five stages of our migration

We choosed to order the stages as-is to fight the hardest battle first: migrating the cash-out. Before starting to issue transfers with Stripe, you will need to onboard your existing merchants base which, as Account Tokens are either recommended or mandatory depending on your country, will require an in-browser action on their side (more on that below in Selling the switch).

Handling overlaps

Image for post
Image for post

Overlaps induce their own funds management problems. How can funds cashed in with legacy PSP be cashed out with Stripe?

To solve this issue, we introduced to our order system an audit layer with funds management capabilities. The audit layer in itself could be the main subject of another article. For the sake of this migration, its role was to continuously keep in check inputs and outputs: if the output gateway didn’t match the input gateway, the system would take note of the required funds movements to make to reach equilibrium.

It is especially important to involve Stripe while designing your overlaps and funds movements strategy so they can greenlight it.

Migration plans without overlaps are possible, but overlaps allow for a safe and progressive rollout of the new cash-in and cash-out. Without designed overlaps management, you’ll be resorting to a big-bang with no AZ-5.


For cash-out, we bucketed our merchants according to their current state of account usability: priority was given to merchants failing to get their account validated on our legacy PSP, which helped us to confirm our integration was working well on our most complex cases as well as give them the chance to solve their validation problems faster.

For cash-in, a simple roll-out by 10% increments of our user base was put in place.

Selling the switch

Image for post
Image for post
Hello we need ur ID again

We used a popin for the migration form, as it could be displayed on any page, triggered by sellers actions related to their orders and payments.

Image for post
Image for post

The popin itself was structured as above, with the hard work (personal info steps) prefaced by a marketing pitch. We also used the migration as an opportunity to implement a very-much-awaited “Automatic Payout Requests” merchant feature, which further helped the pitch.

As Stripe’s account tokens system let you the opportunity to collect the user data in your own forms, we were able to pre-fill the personal info steps as much as possible.

Final thoughts

What’s most important is to spend time designing your migration framework. The structure we recommend is the one described in this article:

Objectives + Metrics ➡️ Sequencing + Overlaps ➡️ Segmentation + Rollout

At Selency — a pretty complex marketplace with thousands of sellers — we were able to complete the cash-out migration in a solid month, with one developer working on it full-time and another as an active reviewer. Implementing the cash-in took another two short weeks, most of the work lying in the progressive rollout part.

We’d also like to use this article as an opportunity to thank Stripe’s team: shoutout to Pierre, Carlo and Martin for their help and engagement in making this migration a success.

PS: We are looking for talents ;-)

Selency Tech & Product

Building the best-in-class vintage furnitures marketplace…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store