
Integrations Engineer, core billing services
Moving subscription billing for 280K+ users from Stripe to Paddle while the business kept running.
Billing lived inside a legacy service tightly coupled to Stripe. Subscriptions and churn were hard to manage, and partner integrations depended on the same code.
Constraints- Live revenue for 280K+ active users
- Partner and third party integrations had to keep working
- Every subscription change had to be traceable
- Billing split into NestJS microservices that communicate through GCP Pub/Sub events, so subscription, churn and partner flows can change independently
- Every Paddle webhook handled idempotently, so a retried delivery never applies twice
- An auditable event trail for each subscription and churn change
- Legacy partnership services and their data moved onto the new platform with minimal disruption
- Infrastructure in Terraform, with 24/7 monitoring and alerts in Datadog