TopupZoneX API

Orders & status

Create an order with a catalog PID, then check status until delivery finishes.

Status meanings

Status Meaning What to do
processing Accepted, still working Keep polling
completed Delivered Stop — success
cancelled Not fulfilled Stop — check error

Place order

POST https://api.topupzonex.com/orders

POST /orders
Content-Type: application/json
X-Api-Key: YOUR_API_KEY

{
  "trxid": "MERCHANT-ORDER-1001",
  "pid": "TZP60",
  "userId": "5123456789"
}

Mobile Legends shape

{
  "trxid": "MERCHANT-ORDER-1002",
  "pid": "TZML86",
  "userId": "983232342",
  "zoneId": "9923"
}

Genshin shape

{
  "trxid": "MERCHANT-ORDER-1003",
  "pid": "TZGI60",
  "userId": "712345678",
  "serverId": "Asia"
}

Response examples

Processing

{
  "orderCreated": true,
  "orderId": "TZAPI-PU-1A-AB12CD34",
  "status": "processing",
  "game": "pubg",
  "packName": "60UC",
  "amountUsd": 0.86,
  "durationSec": 1,
  "userId": "5123456789"
}

Completed

{
  "orderCreated": true,
  "orderId": "TZAPI-PU-1A-AB12CD34",
  "status": "completed",
  "game": "pubg",
  "packName": "60UC",
  "amountUsd": 0.86,
  "durationSec": 34,
  "userId": "5123456789"
}

Cancelled

{
  "orderCreated": false,
  "status": "cancelled",
  "game": "pubg",
  "error": "INSUFFICIENT BALANCE"
}

After an order was created and later failed:

{
  "orderCreated": true,
  "orderId": "TZAPI-PU-1A-AB12CD34",
  "status": "cancelled",
  "game": "pubg",
  "packName": "60UC",
  "amountUsd": 0.86,
  "error": "INVALID PLAYER",
  "refunded": true
}

Poll order status

GET https://api.topupzonex.com/orders/:orderId

GET /orders/TZAPI-PU-1A-AB12CD34
X-Api-Key: YOUR_API_KEY
1
Save orderId From the place-order response.
2
Poll every 3–10 seconds While status is processing.
3
Stop on a final status completed or cancelled.
Need ready-to-paste snippets? See Code examples for curl, Python, Node.js, and Java.
TopupZoneX API · docs