Designing a verification flow that does not block signup
Identity checks belong in your funnel without being a wall. Async patterns, optimistic UI and the right failure handling keep conversion up.
On this page
Verify in parallel, not in series
Do not make the user wait for a PAN check, then a bank check, then a GST check one after another. Fire them together the moment you have the inputs, show a single progress state, and reconcile the results when they all land. Three 800ms checks in parallel feel like one; in series they feel like a lag spike.
Optimistic progress
Let the user continue filling the rest of the form while checks run in the background. By the time they reach submit, most results are in. Only block on the check that must pass before you can create the account.
Design the failure states
A verification API can return "no" or "could not reach the source right now". These are different. A hard no (invalid PAN) is a fix-and-retry. A transient upstream error is a "we will confirm this shortly": let the user through provisionally and resolve async, or queue a retry.
Instrument everything
Track check latency, pass rate, and where in the funnel each check runs. A pass rate that drops overnight usually means an upstream issue, not a sudden wave of fraud.