ZovoHub Partner API Docs
Merchant API Get API keys

Getting started

Three steps: get a key, authenticate, send your first order.

Prerequisites

Don't have a company account yet? Register your company.

1 — Generate an API key

Open your ZovoHub dashboard and go to the API keys section. Generate a TEST (sandbox) key for integration, then a LIVE key for production. The secret is shown only once — copy it immediately (it is stored hashed).

→ Open the API keys page

2 — Authentication

Every request is authenticated with two headers — your Client ID and your Secret:

X-Client-Id: pk_live_xxxxxxxxxxxxxxxxxxxxxxxx
X-Client-Secret: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
⚠️ Keep the secret server-side only. Never expose it in a mobile app, browser, or public repository. If it leaks, rotate the key from the dashboard.

3 — Base URL

BASE https://zovopay.com/api/partner/v1

The base URL is the same for test and live — the key you use (test vs live) decides the mode. Test orders are recorded for integration without affecting real settlement.

Verify your setup

Send a minimal order with a TEST key. A 201 response means your credentials work:

curl -X POST https://zovopay.com/api/partner/v1/orders \
  -H "X-Client-Id: pk_test_..." \
  -H "X-Client-Secret: sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "partner_order_ref": "TEST-1001",
    "payment_source": "zovopay",
    "total_amount": 25.00,
    "currency": "USD",
    "splits": [
      { "beneficiary_type": "merchant", "amount": 20.00 },
      { "beneficiary_type": "courier",  "amount": 3.00 },
      { "beneficiary_type": "partner",  "amount": 2.00 }
    ]
  }'
✅ Got a 201? You are ready. See Push an order for the full field reference.