Verify OTP
import { Card, CardGrid, Steps, Aside } from ‘@astrojs/starlight/components’;
I. Overview
Section titled “I. Overview”/verify-otp is the second step of the password-reset flow. After you request a reset, we email a 6-digit code to your inbox. Enter it here to prove ownership and unlock the “Set new password” screen.
You must reach this screen from the Forgot-password screen — the OTP email and vendor_type are stored in sessionStorage. Direct navigation is bounced back to /forgot-password.

II. Step-by-step
Section titled “II. Step-by-step”-
Enter the code on
/verify-otp.- The field accepts digits only; non-digit characters are stripped automatically.
- Use paste (Ctrl/Cmd + V) — the field auto-trims to 6 characters.
-
Click “Verify code”.
- On success you are routed to
/reset-passwordto set a new password.
- On success you are routed to
-
Set the new password (see Reset password).

III. Resending the code
Section titled “III. Resending the code”Below the Verify code button there is a “Resend code” link.
IV. Common errors
Section titled “IV. Common errors”| Banner | Meaning | Fix |
|---|---|---|
Invalid or expired code. | Code is wrong, expired (>10 min), or already used | Click Resend and try again |
This email is not registered. | sessionStorage lost the email (e.g. you opened this URL in another tab) | Restart from /forgot-password |
Too many requests. | Resend rate-limit hit | Wait 60 seconds |
V. Related
Section titled “V. Related”- Forgot password — Cashier — Step 1 (cashier).
- Forgot password — Owner/Employee — Step 1 (shared).
- Reset password — Step 3.