Go live with real payments
New accounts start in test mode. VEX Pay reviews your integration before live keys can move real money.
How activation works
Every account gets a Live and a Test key. Test works immediately. Live stays locked until VEX Pay reviews your integration and activates it — until then, live keys return **403** with `live_mode_not_activated`, hosted payment links for the live account are unavailable, and the portal cannot create, rotate, or reveal live keys.
- Integrate in test mode
Use your Test key end to end: create payments, handle webhooks, and reconcile with GET /v1/payments/by-ref/:externalRef.
- Complete a test payment
Finish at least one payment with the Test key and confirm your webhook endpoint received the event (Portal → Webhooks shows deliveries).
- Request go-live
In the portal, click **Request go-live** on the banner. The VEX Pay team is notified and reviews your account.
- Switch keys
Once activated you receive a `tenant.live_status_changed` webhook, the banner disappears, and you can create live keys. Swap API_URL/VEXPAY_API_KEY in production.
Handling live_mode_not_activated
{
"error": "live_mode_not_activated",
"message": "Live mode is not activated for this account. Use your test API key, or request go-live review from the portal."
}