Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Surfaces

kyc-status

Surfacecanonicalverified 2026-06-27

SURFACE.WEB.APP.KYC.STATUS

KYC — status (pending / success / failed)

Summary

Terminal screen of the KYC flow with three states. Pending while UIDAI is processing (usually <30s). Success confirms PAN ↔ Aadhaar match and routes the user to Hire-a-CA. Failed shows the specific reason (most commonly name_mismatch) with retry + support contact.

Raw wireframe

  • .context/designs/web/kyc/status.html
  • .context/designs/mobile/kyc/status.html

Copy

State A · Pending

  • H1: "Verifying with UIDAI…"
  • Sub: "Most checks come back in under 30 seconds. If it takes longer, we'll email you the result."
  • Status checks: PAN verified · NSDL ✓ · Aadhaar verifying · UIDAI (in progress)

State B · Success

  • H1: "You're verified"
  • Sub: "PAN and Aadhaar match. You can now hire a CA from the marketplace."
  • Status checks: PAN match · Aadhaar match · Verified at {timestamp}
  • Primary CTA: "Browse CAs →" (returns user to marketplace, resuming the original hire intent)
  • Secondary: "Back to dashboard"

State C · Failed

  • H1: "Couldn't verify"
  • Sub: "{specific_reason}" — e.g. "The name on your PAN doesn't match the name on your Aadhaar. UIDAI returned: name_mismatch."
  • Primary CTA: "Re-enter details" (back to kyc-verify)
  • Secondary: "Contact support"
  • Helper: "If the spelling really differs across cards, file a correction request with UIDAI (free) or NSDL (₹110). Both fix online in ~10 days."

Behaviour

  • Pending state polls server every 2s; transitions to success or failed.
  • Success: server writes users/{uid}/kyc.status = "verified" + timestamp. Read by hire-a-ca surfaces to skip the detour on next click.
  • Failed: server writes users/{uid}/kyc.status = "failed" + kyc.last_failure_reason. Does NOT block other product features — KYC only gates marketplace hiring.

Flows that touch this surface

Concepts referenced

Sources

  • .context/designs/web/kyc/status.html
  • .context/designs/mobile/kyc/status.html

Every project of mine is written down like this.

Read the résumé