Merchant API
Authentication and verification requests for websites and online stores.
Esta página aún no está disponible en tu idioma; el texto siguiente se muestra en otro idioma.
The Merchant API lives under /api/v1/merchant/. Every call carries the organisation's API key in the X-Api-Key header. Keys are created in the business cabinet under API keys; a key is shown once, at creation.
Two key modes exist: va_test_… keys return every request as already approved and never reach real customers; va_live_… keys are for production.
Check the key
GET /api/v1/merchant/ping
X-Api-Key: va_live_…
Returns ok, your organisation name, the key mode and the public links (website and store pages).
Create a verification request
POST /api/v1/merchant/verify-requests
X-Api-Key: va_live_…
Content-Type: application/json
{ "external_reference": "order-10432", "callback_url": "https://shop.example/verifage/callback" }
Both fields are optional. The response contains:
| Field | Meaning |
|---|---|
id |
Public id of the request, used in GET and in the callback |
public_code |
Short code the customer can type in the app |
qr_url |
Image of the QR that opens the request in the app |
app_url |
Universal link for a button on a phone |
status |
pending, approved, denied or expired |
verified |
true once approved, otherwise false |
expires_at |
72 hours after creation |
Read a request
GET /api/v1/merchant/verify-requests/{id}
Poll this endpoint while the customer is approving, or rely on the callback. Polling is rate-limited; once every 2–3 seconds is plenty.
Errors
The API uses standard HTTP codes: 401 for a missing or revoked key, 404 for a request that belongs to another organisation, 422 for invalid fields, 429 when a rate limit is hit. The body is JSON with a message.