Skip to content

Treat KYC DENIED status as final decision with no action button (master)#2116

Merged
MusabShakeel576 merged 1 commit into
masterfrom
claude/sweet-knuth-x0gRi-master
Jun 3, 2026
Merged

Treat KYC DENIED status as final decision with no action button (master)#2116
MusabShakeel576 merged 1 commit into
masterfrom
claude/sweet-knuth-x0gRi-master

Conversation

@MusabShakeel576
Copy link
Copy Markdown
Contributor

Summary

Promotes the KYC final-decision change from qa (#2115) to master via cherry-pick of commit a87901e.

On /card/activate, the first step ("Complete KYC") now renders no action button when KYC reaches a final denied decision, for both providers:

State Before After
Rain DENIED "Contact support" button (opened Intercom) No button
Didit REJECTED "Retry KYC" button No button

These are final decisions that cannot be manually overridden or resubmitted, so both buttons were misleading dead ends.

Key Changes (hooks/useCardSteps/)

  • getKYCButtonText: Rain DENIED returns no button text (LOCKED/CANCELED keep "Contact support" since support can still assist with those).
  • isRainKYCButtonDisabled: DENIED now has no actionable onPress.
  • getStepButtonText: Didit REJECTED returns no button text.
  • isStepButtonDisabled: Didit REJECTED has no onPress.
  • getStepDescription: the Didit REJECTED fallback no longer says "Please try again with a valid ID".
  • useCardSteps (handleRainKYCPress): dropped the now-unreachable DENIED → Intercom branch.

Left untouched

  • Rain LOCKED/CANCELED keep "Contact support" — their copy ("on hold" / "start over") indicates support can still help; they aren't final denials.
  • Bridge endorsement REVOKED still shows "Retry KYC" — a legitimately retryable state.

Notes

https://claude.ai/code/session_01S2muieprRUo3BGSh8yKBtR


Generated by Claude Code

…denials

When Didit (KycStatus.REJECTED) or Rain (RainApplicationStatus.DENIED) KYC
reaches a final denied decision, the first activation step no longer renders
an action button. These outcomes cannot be manually overridden or resubmitted,
so the previous "Contact support" (Rain) and "Retry KYC" (Didit) buttons were
misleading dead ends.

- getKYCButtonText: Rain DENIED returns no button (LOCKED/CANCELED keep
  "Contact support" since support can still assist with those).
- isRainKYCButtonDisabled: DENIED has no actionable onPress.
- getStepButtonText / isStepButtonDisabled: Didit REJECTED returns no button
  and no onPress. Bridge endorsement REVOKED still allows "Retry KYC".
- getStepDescription: Didit REJECTED fallback no longer promises a retry.
- handleRainKYCPress: drop the now-unreachable DENIED -> Intercom branch.

https://claude.ai/code/session_01S2muieprRUo3BGSh8yKBtR
(cherry picked from commit a87901e)
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
solid-app Ignored Ignored Jun 3, 2026 12:41pm
solid-app-staging Ignored Ignored Jun 3, 2026 12:41pm

Request Review

@MusabShakeel576 MusabShakeel576 merged commit 6b05f06 into master Jun 3, 2026
4 of 5 checks passed
@MusabShakeel576 MusabShakeel576 deleted the claude/sweet-knuth-x0gRi-master branch June 3, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants