🍗 PCK ZRA Middleware Wiki

Signing In to the Admin Portal

The admin portal is the web interface used to manage stores, review transactions and monitor the health of the integration. It is protected by two-factor authentication: your email and password, plus a one-time PIN (OTP) delivered to your WhatsApp.

Before you can sign in

You need an account created by a system administrator. Your account contains:

FieldUsed for
Email addressYour login username
PasswordStored securely (BCrypt hash) — the first factor
Phone numberYour WhatsApp number — receives the OTP
WhatsApp required The OTP is delivered via WhatsApp (through the Whapi gateway). If your registered phone cannot receive WhatsApp messages, you will not be able to complete sign-in. Contact your administrator to update your phone number.

Sign-in steps

Step 1 — Open the portal

Navigate to https://server.zra.co.zm/pckzra/login. You will see the sign-in form asking for your email and password.

Step 2 — Enter your credentials

Enter your email and password and submit. The system checks:

  1. That the email exists in the users table
  2. That the password matches (BCrypt comparison)

If either check fails, you are returned to the login page with an error. There is no information leak about which factor failed.

Step 3 — Receive the OTP on WhatsApp

On successful credential validation, the system:

  1. Generates a random 6-digit OTP
  2. Saves it against your user record with a 5-minute expiry
  3. Sends it to your registered WhatsApp number
  4. Redirects you to the verification page (/pckzra/verify-otp)

Step 4 — Enter the OTP

Type the 6-digit code into the verification form and submit. The system checks that the OTP matches and has not expired. On success, an HTTP session is created and you are redirected to the dashboard.

If the code doesn't arrive

Your session

Common sign-in problems

SymptomCauseFix
“Invalid credentials” on loginWrong email or passwordRe-check credentials; ask an administrator to reset the account
No WhatsApp messageWrong phone number on account, or Whapi disabledVerify phone number with administrator; check whapi.api.enabled
“OTP expired”More than 5 minutes elapsedUse Resend OTP and enter the new code promptly
OTP rejected immediatelyA newer OTP was already issued (resend invalidates older codes)Use only the most recent code
Redirected back to login after OTPSession cookie blockedAllow cookies for server.zra.co.zm; avoid private-mode restrictions

Security notes