A REST API your team can read in an afternoon.
Predictable resources, idempotency on every write, signed webhooks, and a sandbox that returns the same shapes production does — including the failures. No SOAP, no XML, no field named flag7.
- Protocol
- REST + JSON
- Auth
- Scoped API keys
- Events
- Signed webhooks
- Idempotency
- All write endpoints
Pick the depth that fits your product.
The same vault and the same routing engine sit behind every integration path, so you can start with the drop-in cashier and move to server-to-server later without re-tokenizing a single customer.
import Soniq from "@soniqpay/node"; const soniq = new Soniq(process.env.SONIQ_SECRET_KEY); // Charge a stored token through your routing profile const payment = await soniq.payments.create({ amount: 2500, currency: "USD", token: "tok_9fk2_live_8823ba", routing_profile: "us-cards-default", metadata: { order_id: "A-10422" } }, { idempotencyKey: "A-10422" }); if (payment.guaranteed) { // Fraud chargeback liability sits with SoniqPay fulfil(payment.id); } // payment.attempts -> [{ mid, status, latency_ms }, ...]
Core resources.
Twelve resources cover the platform. Everything else is a query parameter.
| Resource | Purpose |
|---|---|
| /v1/tokens | Create, read, and retire vault tokens; attach network tokens |
| /v1/payments | Authorize, capture, void, and refund; returns route and risk detail |
| /v1/customers | Group instruments and history under one identity across merchants |
| /v1/routing_profiles | Read, version, shadow-test, and activate routing rule sets |
| /v1/risk/evaluations | Score a transaction without authorizing it |
| /v1/disputes | Chargeback lifecycle, evidence upload, and coverage status |
| /v1/merchants | Create and configure sub-merchants and their permissions |
| /v1/reports | Query the consolidated ledger and schedule exports |
Events you will actually subscribe to.
Signed with a rotating secret, delivered at least once, and replayable for 30 days from the dashboard.
payment.approved
Fired on a successful authorization, carrying the winning MID, attempt count, risk score, and coverage flag.
payment.cascaded
Fired when a route fails and the next rung is attempted, with the normalized decline reason.
payment.recovered
Fired when a previously failed attempt succeeds through the recovery workflow.
dispute.opened
Fired on a new chargeback, including whether the transaction was covered by the guarantee.
token.updated
Fired when account updater or a network token lifecycle event refreshes stored credentials.
provider.degraded
Fired when a connected processor's health drops below the threshold and traffic is being shifted.
Bring your own MID. We will bring everything else.
Early access is opening to platforms running real volume. Tell us your stack and we will tell you plainly where the technology moves your numbers.