Sebastian Hans

Migrating half a million users to a new payment service provider

How do you migrate half a million users to a new payment provider with zero downtime? See the per-user strategy used to pull it off in just 3.5 months.

Migrating half a million users to a new payment service provider
#1about 3 minutes

Setting the stage for a large-scale payment migration

The project involved migrating half a million users to a new SEPA payment service provider for a 24/7 digital services platform under a tight deadline.

#2about 3 minutes

Understanding the challenges of testing payment provider APIs

Payment service provider APIs are difficult to test exhaustively due to their size, inconsistent documentation, and differences between test and production environments.

#3about 3 minutes

Planning the migration timeline around critical constraints

The migration was planned backwards from the contract deadline and forwards from the start, accounting for legal requirements like customer notification periods.

#4about 4 minutes

Detailing the SEPA direct debit payment process

The payment flow involves a customer granting a SEPA mandate, followed by separate authorization and capture steps, which created specific migration challenges.

#5about 14 minutes

Choosing a per-user migration strategy over per-service

A per-user migration strategy was chosen over per-service or a big bang to provide a consistent customer experience and manage risk during a phased rollout.

#6about 10 minutes

Iteratively implementing a last-minute feature request

A late request for a pre-migration mandate link was handled by releasing a minimal version and quickly iterating on it based on customer support feedback.

#7about 10 minutes

Handling unfinalized contracts just before go-live

When contracts were not finalized days before launch, temporary fallback logic was added to the code to ensure service continuity.

#8about 13 minutes

Managing the live migration and resolving production issues

The phased rollout revealed authorization timeouts, which were resolved by collaborating with the new provider to accept the risk on failed requests during the migration.

#9about 2 minutes

Cleaning up code and managing technical debt post-migration

After the migration, obsolete code like the old provider adapter and temporary fallback logic was removed, while necessary new features were retained.

#10about 45 minutes

Four key lessons learned from the payment migration

Success depended on collaboration beyond coding, understanding the business context, getting fast feedback from production, and taking small, adaptive steps.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Cloud Engineer (m/w/d)

Cloud Engineer (m/w/d)

fulfillmenttools
Köln, Germany

50-65K
Intermediate
TypeScript
Google Cloud Platform
Continuous Integration