Dev.to
7/10/2026

The original title is "Moving 20,000+ customers to a new Stripe account without anyone noticing"
Original: Moving 20,000+ customers to a new Stripe account without anyone noticing
Short summary
A detailed engineering case study of migrating 20,000+ customers from an Australian Stripe account to a US one with zero customer-visible impact. Covers customer/payment-method copying, credit and coupon reconciliation, in-flight invoice handling with a 48-hour settlement window, and a Cloud Function-based webhook routing architecture for dual-account support. Written in Go with dry-run modes throughout.
- •Customer objects preserved via Stripe's PAN copy tool; all other migration logic custom-written in Go with dry-run modes
- •In-flight invoices left on old account for 48 hours to let natural retries clear, then remaining ones voided and recreated
- •Webhook routing solved with a single Cloud Function verifying signatures against both Stripe accounts
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



