-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Labels
EngineeringImprovementItem broken or needs improvement.Item broken or needs improvement.ReviewingHas a PR in reviewHas a PR in reviewWeeklyKSv2KSv2
Description
Problem
When a user attempts to reveal a virtual card number for an EU/UK Expensify Card, the flow is broken due to several issues in how the frontend handles the personal details and PIN collection steps.
Discovered while investigating why dylan+1@cardtest.expensify.com was unable to reveal EU virtual card details on staging — the App was calling SetPersonalDetailsAndShipExpensifyCards (which skips EU cards and fails) instead of RevealExpensifyCardDetails.
cc @joekaufmanexpensify @heyjennahay @heekinho
Issues to Fix
-
Unnecessary personal details requirement for virtual card reveal
- We currently require users to set their private personal details before revealing EU/UK virtual card details. This was added to ensure we'd have KBA questions.
- Since we're no longer using KBA for 3DS, we should probably remove this behavior.
- Handling for this was introduced in Handle errors for missing KBA data #68749 but we might be able to fix it in Auth by not throwing if personal details are missing.
-
PIN collection should only apply to physical cards
- If we enter the personal details flow, we ask the user to set a PIN.
- We should only do this if it's a physical card, so the flow needs to be updated.
-
Wrong API command called for virtual card reveal
- We should not call the
SetPersonalDetailsAndShipExpensifyCards(or...WithPIN) API at all in this flow, because it causes cards to be shipped, which is unexpected when revealing a virtual card number. - The correct command for this flow is
SetPersonalDetailsAndRevealExpensifyCard.
- We should not call the
-
Auth error when no cards to ship (open question)
- In this flow, Auth throws an error because there are no cards to ship. It may be better not to change this if we stop calling the API altogether per (3). If we decide to keep the details-updating behavior, we'll need to change Auth not to throw in this case.
Issue Owner
Current Issue Owner: @DylanDylannReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
EngineeringImprovementItem broken or needs improvement.Item broken or needs improvement.ReviewingHas a PR in reviewHas a PR in reviewWeeklyKSv2KSv2