Skip to content
EXZIX

API overview

The EXZIX merchant integration API creates and observes merchant-owned Payment Intents and delivers server-generated webhook events. The documented routes are the routes present in the application.

Request conventions

JSON mutations require Content-Type: application/json. API authentication uses Authorization: Bearer <api-key>. Successful responses use a data envelope; failures use the documented error envelope. No public API hostname is assumed here, so examples use YOUR_API_HOST.

Public merchant integration routes

The merchant path segment is the public merchant identifier and must match the merchant associated with the API key. The API key environment supplies Test or Live; callers cannot override it in a body, query, or path.

  • GET /api/v1/merchants/{merchant}/payment-intents — payment_intents:read
  • POST /api/v1/merchants/{merchant}/payment-intents — payment_intents:write
  • GET /api/v1/merchants/{merchant}/payment-intents/{payment_intent} — payment_intents:read
  • POST /api/v1/merchants/{merchant}/payment-intents/{payment_intent}/cancel — payment_intents:write
  • GET /api/v1/merchants/{merchant}/go-live/readiness — merchant:readiness

Payment Intent relationship

Creation records a merchant-owned request. Blockchain observation, verification, confirmation, and reorganization handling are server-side authority. Webhooks notify the merchant of server-recorded events; they do not create blockchain truth.

Pagination and filters

Payment Intent listing accepts limit (1–200, default 50), cursor, status, created_after, created_before, public_id, and merchant_reference. The cursor is opaque and must not be constructed or parsed by clients.

Idempotency

Payment Intent creation requires Idempotency-Key. It is trimmed and must contain 8–128 characters matching [A-Za-z0-9._:-]. The key is scoped by merchant and environment. Repeating the same request returns the original result; a different request with the key returns 409 idempotency_conflict.