Skip to content
RZ.

System 01

Payments Platform

UPI · Device Binding · Checkout · Mandates

End-to-end ownership of UPI, debit card, and gold savings payment flows across a consumer fintech app for millions of users on Android and iOS.

Components

UPI Registration
VPA setup and UPI onboarding flows delivered across Android and iOS.
Device Binding
SIM confidence validation and kill switches to eliminate false-positive mobile mismatches during binding.
Checkout
Debit card and gold savings checkout flows delivered across Android and iOS.
Mandates
Recurring payment mandate flows within the UPI payments surface.

Problem

The app's payments surface — UPI, debit card, and gold savings — has to work reliably for millions of users across a long tail of Android OEM devices and iOS, where device binding and SMS OTP delivery are the most failure-prone step in the funnel.

Constraints

  • Millions of active users across fragmented Android OEM devices (Samsung, Xiaomi, OnePlus) with inconsistent SMS handling.
  • Payment flows sit on top of UPI/NPCI and bank-partner requirements, leaving little room for silent failures.
  • Device binding sits ahead of every payment flow, so failures there block the funnel entirely.

Architecture

Architected a concurrent, 4-strategy SMS OTP pipeline for Android — ContentObserver, ForegroundService, SmsRetriever API, and a polling fallback — with OEM-specific URI resolution for Samsung, Xiaomi, and OnePlus, so a single OEM quirk cannot stall the whole funnel.

Added SIM confidence validation with kill switches on top of the pipeline to eliminate false-positive mobile mismatches during device binding, rather than hard-failing the flow on ambiguous signals.

Added configurable remote timeouts, atomic settlement, and a dedicated diagnostics hook for the OTP pipeline so OTP failures can be root-caused from production data instead of anecdote.

Decisions

Concurrent multi-strategy OTP capture

Rather than relying on a single Android SMS API, the pipeline runs ContentObserver, ForegroundService, SmsRetriever API, and a polling fallback concurrently, with OEM-specific URI resolution for Samsung, Xiaomi, and OnePlus.

SIM confidence over hard failures

Device binding failures were often false-positive mobile mismatches, not real ones. Added SIM confidence validation with kill switches instead of hard-failing the flow, cutting false rejections without weakening the binding check.

Diagnostics before guessing

Added configurable remote timeouts, atomic settlement, and a dedicated diagnostics hook for the OTP pipeline so OTP failures could be root-caused from production data instead of anecdote.

Impact

  • Eliminated blank OTP screen issues on device binding and phone update flows.
  • Removed false-positive mobile mismatches on device binding via SIM confidence validation and kill switches.
  • Owns end-to-end delivery for UPI, debit card, and gold savings flows for millions of users on Android and iOS.