API reference
Merchant endpoint inventory and response conventions.
| Method | Route (prefix /api/v1) | Auth |
|---|---|---|
| POST | /payments/generate-ldb-qr | HMAC; optional Idempotency-Key |
| POST | /payments/generate-ib-qr | HMAC; optional Idempotency-Key |
| POST | /payments/card | HMAC; optional Idempotency-Key |
| POST | /payments/wallet | HMAC; optional Idempotency-Key |
| GET | /payments/card/{identifier}/status | HMAC |
| GET | /payments/wallet/{identifier}/status | HMAC |
| DELETE | /payments/ldb-qr/{orderId}/cancel | HMAC |
| DELETE | /payments/wallet/cancel.service | HMAC |
| POST | /transactions/bank-reference/inquire | HMAC |
| GET | /payments/hosted/{transactionId}/status | x-payment-token; LIVE only |
| POST / GET | /webhooks | Merchant Bearer session |
| GET / PATCH / DELETE | /webhooks/{id} | Merchant Bearer session |
See payment methods for create bodies, status for inquiries/cancellation, and webhook configuration for management. Portal-only routes such as GET /payments/{transactionId} require a merchant session and are not a generic HMAC status API.
Success envelope
{
"success": true,
"title": "CREATED",
"message": "Simulated payment created; no funds move",
"timestamp": "2026-11-10T05:00:00.000Z",
"data": { "transactionId": "TXN-EXAMPLE", "status": "PENDING", "environment": "TEST" }
}This is an abbreviated example, not a complete schema. Creation responses also include method-specific fields. The request helper unwraps data for you.
This reference is reviewed against the current controllers and DTOs. A downloadable merchant-only OpenAPI specification has not yet been generated; the service's combined Swagger output includes internal/admin operations and should not be published as merchant documentation unchanged.
Helper functions
Preview the full source and copy it directly from the code block. Each page documents arguments, return values, errors, and integration requirements. Downloads are optional.