The payments platform is a system designed to provide a single touch point for applications to interact with one or more payments processors (Stripe, Paypal, etc.). It provides a single interface for creating, and managing things like charges, refunds, scheduled individual and recurring payments, managing fees, scheduling and handling payouts, customer onboarding, and more. If some of these features aren’t provided by the processor, the payments platform provides them directly.
As a senior developer, I played a leadership role in driving the project to completion, through many phases, over its time in development. In particular, I brought a strong understanding of backend technologies and infrastructure architecture to help keep the system performant, processing asynchronously where possible, and identifying early potential scaling issues.
One particularly interesting area of learning, for me, during the development of the payments platform was dealing with request idempotency and race conditions that can emerge when processing delays can result in a synchronous and asynchronous process occurring at the same time.