Assist_Design/docs/uat/11-identity-verification.md

123 lines
7.6 KiB
Markdown
Raw Normal View History

2026-02-24 11:09:35 +09:00
# Identity Verification
## Overview
This journey covers the residence card (ID) verification process that customers must complete before they can place certain orders (such as SIM activation). Customers upload a photo or scan of their residence card, which is then reviewed by a support agent. Verification status is tracked on the Salesforce Account record. The portal shows the current status and allows re-upload if the document is rejected.
## Portal Flow
### Where to Find ID Verification
ID verification is available in two locations:
1. **Profile / Settings page** (`/account/settings`): The verification card is integrated into the settings page alongside other profile information.
2. **Standalone verification page** (`/account/settings/verification`): This page is used when the customer is redirected from the checkout flow. It accepts a `returnTo` parameter so the customer can be sent back to checkout after uploading.
### Status: Not Submitted
1. When a customer has not yet submitted their residence card, the page shows:
- A status pill labeled **"Not Submitted"** (amber)
- An informational banner titled "Upload required" explaining what to do
- Instructions listing:
- Upload a clear photo or scan of your residence card (JPG, PNG, or PDF)
- Make sure all text is readable and the full card is visible
- Avoid glare/reflections and blurry photos
- Maximum file size: 5 MB
2. A **file picker** lets the customer select a file from their device.
- Accepted formats: JPG, PNG, PDF, and other image formats
3. After selecting a file, a preview appears showing the file name, with a **Change** button to select a different file.
4. Click **Submit Document** to upload the file.
5. A loading state shows "Uploading..." while the file is being sent.
6. If the upload came from a checkout redirect (with a `returnTo` parameter), a **Back to checkout** button also appears.
### Status: Under Review (Pending)
1. After successful upload, the status changes to **"Under Review"** (blue).
2. The page shows:
- A status pill labeled **"Under Review"**
- An informational banner: "We'll verify your residence card before activating SIM service."
- A **submission timestamp** showing when the document was submitted
3. The customer cannot upload a new document while the current one is under review.
4. If arriving from checkout, a **Continue to Checkout** button appears so the customer can proceed (orders can be submitted while verification is pending, though they will not be fulfilled until verification completes).
### Status: Verified
1. When the agent approves the document, the status changes to **"Verified"** (green).
2. The page shows:
- A status pill labeled **"Verified"**
- A success banner: "Your residence card is on file and approved. No further action is required."
3. The customer cannot upload a new document (the upload form is hidden).
4. If arriving from checkout, a **Continue to Checkout** button appears.
### Status: Rejected
1. If the agent rejects the document, the status changes to **"Action Needed"** (amber).
2. The page shows:
- A status pill labeled **"Action Needed"**
- A warning banner titled "Verification rejected" with the agent's rejection reason (reviewer notes)
- Instructions for re-uploading
- The **submission and review timestamps** showing when the document was submitted and reviewed
3. The **file picker** reappears so the customer can upload a corrected document.
4. After re-uploading, the status returns to "Under Review."
### Accepted File Types and Limits
| Property | Value |
| ------------ | ------------------------------------------- |
| File types | JPG, JPEG, PNG, PDF, other images |
| Maximum size | 5 MB |
| Tip | Higher resolution photos make review faster |
## What Happens in Salesforce
- **File storage**: The uploaded document is stored as a **ContentVersion** record in Salesforce, linked to the customer's Account.
- **Account fields updated on upload**:
- `Id_Verification_Status__c` is set to **"Submitted"**
- `Id_Verification_Submitted_Date_Time__c` is set to the upload timestamp
- **Agent review**: The agent reviews the document in Salesforce and updates the Account:
- **Approved**: Sets `Id_Verification_Status__c` to **"Verified"** and `Id_Verification_Verified_Date_Time__c` to the review time.
- **Rejected**: Sets `Id_Verification_Status__c` to **"Rejected"**, fills `Id_Verification_Rejection_Message__c` with the reason, and optionally `Id_Verification_Note__c` with internal notes.
- **Platform Event**: When the verification status changes, Salesforce fires a Platform Event (`Account_Update__e`). The portal receives this event and automatically refreshes the verification status in real time -- the customer sees the update without needing to refresh the page.
- **Notification**: When the status changes to Verified or Rejected, the portal creates an in-app notification for the customer:
- Verified: "ID verification complete" with a link to continue checkout
- Rejected: "ID verification requires attention" with a link to resubmit
### Salesforce Account Fields Reference
| Field | Type | Set By | When |
| ---------------------------------------- | -------- | ------------ | --------------- |
| `Id_Verification_Status__c` | Picklist | Portal/Agent | Upload / Review |
| `Id_Verification_Submitted_Date_Time__c` | DateTime | Portal | On upload |
| `Id_Verification_Verified_Date_Time__c` | DateTime | Agent | After approval |
| `Id_Verification_Note__c` | Text | Agent | After review |
| `Id_Verification_Rejection_Message__c` | Text | Agent | If rejected |
### Status Values in Salesforce
| Salesforce Value | Portal Display | Can Submit Orders? |
| ---------------- | -------------- | ------------------ |
| Not Submitted | Not Submitted | No |
| Submitted | Under Review | Yes |
| Verified | Verified | Yes |
| Rejected | Action Needed | No |
## Key Things to Verify
- **Upload flow**: Select a file (JPG, PNG, or PDF under 5 MB), click Submit Document, and verify:
- The file appears as a ContentVersion record in Salesforce linked to the customer's Account
- `Id_Verification_Status__c` changes to "Submitted"
- `Id_Verification_Submitted_Date_Time__c` is set
- The portal shows "Under Review" status
- **Rejection flow**: Have an agent reject the verification in Salesforce with a rejection message. Verify:
- The portal updates to show "Action Needed" with the rejection reason displayed
- The upload form reappears so the customer can re-upload
- An in-app notification is created: "ID verification requires attention"
- **Approval flow**: Have an agent approve the verification in Salesforce. Verify:
- The portal updates to show "Verified" with a green status badge
- The upload form is hidden
- An in-app notification is created: "ID verification complete"
- **Real-time updates**: Status changes in Salesforce should appear in the portal within a few seconds (via Platform Events) without manual page refresh.
- **Checkout redirect**: Navigate to `/account/settings/verification?returnTo=/account/checkout`. After upload, the "Continue to Checkout" button should correctly navigate back to the checkout page.
- **File validation**: Try uploading a file larger than 5 MB or an unsupported format and verify the portal shows an appropriate error.
- **Error handling**: If the upload fails (e.g., network issue), an error message appears and the customer can try again.