State-machine Driven Payment Flow
Yisong Wu & Fernando Pereira
Currently working in Tinder android platform team for 2 years, previous Uber and Yahoo android engineer.
Member of Tinder's Android platform team as a Staff Android engineer, passionate about projects involving major re-architecture - leading to better app quality and developer productivity.
As the world's top-grossing mobile app, payment processing is a crucial part of Tinder. Scaling the payment system is very challenging with a legacy, untestable code base. To resolve the problem, we've recently made the decision to build a state-machine-based, pluggable solution to represent a universal purchase flow, which is agnostic of any specific payment methods. It's powered by our own open source library: In this talk, we will share how our state machine / DSL approach ensures the flow is deterministic, self-documented and easily testable and how its plug-in system guarantees flexibility by allowing dynamic custom rules to be run along the state transitions.