Quick start

Issue an API key and create your first invoice.

Issue your first API key and create a test invoice in five minutes. The examples below run against the production API; swap the base URL for https://staging.payzum.com to use the sandbox environment.

1. Create a merchant and copy the API key

Sign in to the dashboard, create a merchant, and copy the API key shown on the reveal page. The plaintext key is shown once, so store it somewhere safe — payzum only retains a SHA-256 hash and the last 4 characters for identification.

2. Set environment variables

The rest of this page assumes PAYZUM_BASE and PAYZUM_API_KEY are exported in your shell.

export PAYZUM_BASE=https://merchant.payzum.com   # staging/sandbox: https://staging.payzum.com
export PAYZUM_API_KEY=<MERCHANT_API_KEY>

3. Verify connectivity

Hit the unauthenticated liveness endpoint. A 200 response means the API is reachable.

curl -s "$PAYZUM_BASE/v1/status"

4. List supported currencies

The /v1/currencies endpoint returns every supported (chain, symbol) tuple.

curl -s "$PAYZUM_BASE/v1/currencies" | jq '.currencies | length'

5. Create your first invoice

A successful response returns 201 and the full payment object including a deposit address.

curl -X POST "$PAYZUM_BASE/v1/payment" \
  -H "x-api-key: $PAYZUM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "price_amount": 49.99,
    "price_currency": "usd",
    "pay_currency": "usdttrc20",
    "order_id": "ORDER-12345",
    "ipn_callback_url": "https://merchant.example.com/payzum/ipn"
  }' | jq .

6. Read it back

Replace inv_abc123 with the payment_id returned in step 5, or use your own order_id.

curl -s -H "x-api-key: $PAYZUM_API_KEY" \
  "$PAYZUM_BASE/v1/payment/inv_abc123" | jq .

Next steps