API Reference
The public merchant API is centered on the payment API endpoint:method field selects the operation. Webhook resend is a separate route listed
below and has a stricter route-bound signature contract.
Public Surfaces
Provider callback endpoints, health checks, metrics, and internal admin APIs are not part of the merchant-facing public API documentation.
API Methods
See API Methods for request and response shapes and Support API fundamentals for strict support authentication, idempotency, scopes and pagination.
Authentication
Requests toPOST /public/api/multihub/v1 require
X-Data-Application-Id and X-Data-Hash. For that method-dispatched endpoint,
timestamp and nonce are optional:
The bytes you hash must match the HTTP request body exactly. Compact JSON and pretty JSON produce different signatures.
Send
X-Data-Timestamp and X-Data-Nonce as a pair when you use replay proof.
Every method dispatched through /public/api/multihub/v1 accepts requests with
neither replay header; one-without-the-other is rejected. If replay storage is
temporarily unavailable, a correctly signed request is not rejected solely
because it included the optional pair.
POST /api/v1/payments/{paymentId}/webhook/resend also requires only
application id and hash. Without replay headers it signs the raw request body;
with the complete optional pair it uses the route-bound v1 signature described
in Webhooks. Its body requires payment_id and
operation_id.
Successful and error responses may include an X-Data-Hash response header. When present, it is computed as:
Response Envelope
Successful responses return HTTP 200:success as the primary outcome flag. HTTP status only separates transport-level success from API errors.
Identifiers
Rate Limits
The public API controller is not limited by the default gateway IP throttler, but authenticated applications have per-method protective buckets for payment, balance, ticket, refund, chargeback, and attachment methods. Buckets are keyed by merchant/application and method. When a bucket is exhausted, the API returns HTTP429 with the standard API error envelope and Retry-After-* headers; retry with backoff rather than tight polling.
HTTP 403 is used for credential-policy or merchant-ownership denials. DTO validation errors use code 9000 with HTTP 400; strict validation rejects unknown fields. Gateway readiness checks can return a non-envelope HTTP 503 while dependencies are not ready.
For balance.get, value_blocking is currently always 0 and enabled is currently always true in runtime responses. Treat them as compatibility fields unless your account manager confirms a product change.
Payment-page endpoints use gateway throttling and route-specific limits. See their reference pages for details.