status field and a human-readable message. Always branch on status rather than HTTP code alone.
Status values
status | Meaning |
|---|---|
success | The service was delivered and your wallet was debited. |
fail | The transaction did not go through. Read message for the reason. No charge, or an automatic refund, applies. |
pending | The transaction is being processed. The final outcome is delivered via webhook. |
Example failure
Common errors
401 Unauthorized
401 Unauthorized
Insufficient wallet balance
Insufficient wallet balance
Top up your wallet from the dashboard before retrying.
Duplicate request-id
Duplicate request-id
A transaction with that
request-id already exists — the original result is returned instead of charging again. Use a fresh request-id for a new purchase.Invalid plan or network
Invalid plan or network
Check the plan ID / network ID against the catalog endpoints or the dashboard’s Pricing & Plan IDs page.

