• Grey Facebook Icon
  • Grey Twitter Icon
  • Grey YouTube Icon

Droidcon is a registered trademark of Mobile Seasons GmbH

State-machine Driven Payment Flow

Yisong Wu & Fernando Pereira

Android Engineer


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: https://github.com/Tinder/StateMachine. 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.