Skip to content

fix(card): let Hong Kong users declare their country, and ask before Didit - #2678

Merged
MayankMittal1 merged 2 commits into
masterfrom
mayank/fix/card-kyc-declared-country
Oct 9, 2026
Merged

MayankMittal1 merged 2 commits into
masterfrom
mayank/fix/card-kyc-declared-country

Conversation

@MayankMittal1

@MayankMittal1 MayankMittal1 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Hong Kong users reported they couldn't select Hong Kong and were stuck on Didit (Rain). Server routing was already right: HK is on the wirex card list, so it routes to Sumsub. The problem was in the app:

  • Hong Kong wasn't in the card country picker. constants/countries.ts listed UN member states only. Users picked China, were told the card is unavailable, and some then picked an unrelated country (one chose Austria) to get through.
  • Didit skipped the country question. handleProceedToKyc required a country the user picked only on the Sumsub branch. A Hong Kong resident whose IP resolved to Singapore went straight to Didit and got a Rain card record that nothing rewrites. The backend refuses a Didit card session only for a country Wirex serves, so a Singapore IP gave it nothing to refuse on.

Changes

  • Add the nine card markets missing from the picker: Hong Kong, Macao, Gibraltar, Guernsey, Isle of Man and Jersey (Wirex), plus Cayman Islands, Turks and Caicos and Ivory Coast (Rain). The other two readers of the list (virtual account apply modal, card reveal) only look up a name by code, so adding entries is safe.
  • Ask for a country the user picked before every card verification, Didit included. The home setup step calls this action without running the country gate, so the check has to live here.

Notes

  • Users whose IP country is a supported Rain market will now see the country screen once before Didit. A country they pick is kept until they change it.
  • The two affected users (chankw, sfw123) need a separate database fix, setting user.country to HK and moving their card record to Wirex/Sumsub. chankw's phone has China saved, so they stay blocked until this ships.
  • tsc shows the same errors as master, none in these files. ESLint and Prettier pass. Tests not run.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

MayankMittal1 and others added 2 commits October 9, 2026 13:14
handleProceedToKyc required a user-picked country only on the Sumsub
branch. An IP in a Rain-only market routed straight to Didit with nobody
asked: a Hong Kong resident whose IP resolved to Singapore got a Rain
card customer that nothing rewrites, in a Didit questionnaire that does
not offer Hong Kong. The backend refuses a Didit card session only for a
country Wirex serves, and an SG IP gave it nothing to refuse on.

The declared-country check now runs for both providers. The home setup
step reaches this action with no gate having run, so this is where it
has to live.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
COUNTRIES listed UN member states only, so nine markets we issue cards
in could not be picked: Hong Kong, Macao, Gibraltar, Guernsey, Isle of
Man and Jersey (Wirex), and Cayman Islands, Turks and Caicos and Ivory
Coast (Rain). Hong Kong users picked China, were told the card is
unavailable, and some then picked an unrelated country to get through.

The other two readers (VA apply modal, card reveal) only look up a name
by code, so adding entries is safe for them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated
solid-app Ignored Ignored Preview Oct 9, 2026 7:45am UTC
solid-app-staging Ignored Ignored Oct 9, 2026 7:45am UTC

Request Review

@MayankMittal1
MayankMittal1 merged commit 6727c03 into master Oct 9, 2026
5 checks passed
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.

1 participant