Developed by InsightSphere Technologies
ChatCart Public Launch Checklist
This runbook is the final go-live checklist for ChatCart after PayFast integration. It is ordered for real deployment work, from environment setup through sandbox verification, live payment confirmation, and launch signoff.
Launch runbook
Product: ChatCart
Billing: PayFast
Audience: Internal team
1. Hosting and production environment setup
- Set up the production host for the web app on Vercel.
- Set up the production PostgreSQL database on Railway.
- Point the real production domain to the Vercel deployment.
- Add all production environment variables before the first live deploy.
| Required variable | Purpose |
DATABASE_URL | Production PostgreSQL connection |
APP_URL | Live app URL used by redirects, auth, and webhooks |
APP_NAME | Public app name, set to ChatCart |
BILLING_PROVIDER | Must be payfast for the production launch path |
SESSION_SECRET | Production session signing secret |
APP_ENCRYPTION_KEY | Primary encryption key for sensitive values |
CRON_SECRET | Internal cron route protection |
META_APP_ID, NEXT_PUBLIC_META_APP_ID | Meta/WhatsApp app connection |
META_APP_SECRET | Meta app secret |
META_EMBEDDED_SIGNUP_CONFIG_ID, NEXT_PUBLIC_META_EMBEDDED_SIGNUP_CONFIG_ID | Embedded Signup configuration |
META_BUSINESS_ID | Meta business ID |
META_SYSTEM_USER_ACCESS_TOKEN | System user token for WhatsApp operations |
META_WEBHOOK_VERIFY_TOKEN | WhatsApp webhook verification |
META_GRAPH_API_VERSION | Meta Graph version pin |
PAYFAST_MERCHANT_ID | PayFast merchant identifier |
PAYFAST_MERCHANT_KEY | PayFast merchant key |
PAYFAST_PASSPHRASE | PayFast signing passphrase |
PAYFAST_RETURN_URL | Return URL after successful payment flow |
PAYFAST_CANCEL_URL | Cancel URL when payment is abandoned |
PAYFAST_NOTIFY_URL | PayFast ITN notify endpoint |
EMAIL_WEBHOOK_URL | Email delivery endpoint for reset and report emails |
Recommended: PAYFAST_SANDBOX, EMAIL_WEBHOOK_SECRET, APP_ENCRYPTION_KEYS, PLATFORM_ADMIN_EMAILS, SECURITY_ALERT_EMAIL, and BACKUP_STORAGE_PATH.
2. Database and Prisma preparation
- Deploy production environment variables first.
- Run
npm run prisma:push against the production database.
- Run
npm run prisma:seed only if you intentionally need demo or bootstrap data.
- Confirm the PayFast-related schema defaults and billing tables are present before customer testing.
Important: Run schema updates before the first live payment test so subscription state transitions are stored correctly.
3. First deployment checks
Homepage loads
Login page loads
Signup page loads
Admin login loads
/manifest.json loads
/offline loads
Do this before webhook registration so you know the production deployment is healthy on its own.
4. Webhook and callback setup
- WhatsApp webhook:
/api/webhooks/whatsapp
- PayFast notify endpoint:
/api/webhooks/payfast
- Embedded Signup callback:
/api/whatsapp/connect/embedded-signup-callback
- Daily cron route:
/api/internal/cron/daily
Confirm all live URLs are public, reachable, and using the final production domain.
5. PayFast sandbox verification
Complete sandbox verification before switching to live merchant credentials.
Starter test
- Create or log into a customer workspace
- Select Starter
- Start secure payment
- Complete sandbox payment
- Confirm ITN reaches ChatCart
- Confirm the workspace becomes active
Growth test
- Repeat the flow for Growth
- Confirm the correct price
- Confirm the correct plan mapping
- Confirm full access is restored automatically
Cancel flow: customer sees a clear message and is not activated by mistake.
Failed payment: no full access is granted.
Pending payment: customer sees the waiting state clearly.
Duplicate ITN: no duplicate activation or double billing event is created.
6. Customer and operator flow checks
Customer flows
- Signup
- Login
- Forgot password
- Reset password
- Workspace creation
- Logout
Workspace flows
- WhatsApp onboarding
- Inbox and reply composer
- Orders
- Customers
- Products/catalog
- Reports and settings
Operator flows
- Admin login
- Tenant list
- Trial and subscription visibility
- Platform admin access
- Deletion requests
- Support views
7. Mobile and PWA checks
- Android install works
- iPhone Add to Home Screen works
- Desktop install works
- App icon and favicon display correctly
- Offline fallback page works
- Mobile layout is clean in Inbox, Orders, Customers, Products, and Billing
- Forms stay usable with the mobile keyboard open
8. Live payment verification
After sandbox passes, switch PayFast to live mode and run one small controlled real transaction.
- Replace sandbox merchant values with live values.
- Confirm live return, cancel, and notify URLs.
- Run one real low-value payment on either Starter or Growth.
- Confirm payment capture, ITN receipt, subscription activation, and workspace unlock.
9. Final go-live signoff
Sandbox payment passed
Live payment passed
Webhooks passed
Billing lock and unlock passed
Password reset passed
Mobile and PWA checks passed
Admin oversight checks passed
Production env values reviewed and no test credentials remain
Decision rule: if sandbox passes but live payment has not been tested, ChatCart is ready only for private beta. If both sandbox and one live payment pass, ChatCart is ready for a controlled public launch.