Developer guide
API reference
Browse documentation

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.

  1. Integrate in test mode

    Use your Test key end to end: create payments, handle webhooks, and reconcile with GET /v1/payments/by-ref/:externalRef.

  2. 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).

  3. Request go-live

    In the portal, click **Request go-live** on the banner. The VEX Pay team is notified and reviews your account.

  4. 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

403 responsejson
{
  "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."
}