Webhooks deliver real-time transaction status changes to your server. They are the single source of truth for final outcomes — never rely on redirects or client-side events.
⚠️ Warning: Credit or debit a player balance only after a webhook (or a GET on the transaction) confirms the final status. Browser redirects and SDK events can be lost or spoofed.
- Log in to the Omno Dashboard.
- Go to Developers → Webhooks.
- Click Create Webhook.
- Fill in the fields: Name (internal identifier) and Webhook URL (the endpoint that receives events).
- Select Hook Type: Transaction.
- Select which transaction events to receive.
- Choose an authorization method if you want one.
- Click Create.
You can monitor delivery under Developers → Webhooks: full request payloads, your server's responses, and the delivery status of each attempt.
You subscribe to the transaction events relevant to your integration — such as creation, processing updates, success, failure/timeout and refund updates. Each selected event fires a webhook when the transaction reaches that state. Your Omno integration team shares the exact event list and payload samples during integration.
- Respond quickly — do heavy processing asynchronously.
- Process idempotently — the same transaction can arrive more than once.
- Handle out-of-order statuses — never downgrade a final status. The one exception is
TIMEOUT → SUCCESSfor a pay-in (a late provider callback); accept that upgrade. See Transaction lifecycle. - On any doubt, GET the transaction to fetch the authoritative status.
- Omno retries a failed delivery up to 10 times.
- Your Omno integration team shares the payload schema, signature/authorization options, retry schedule and delivery details during integration.
A transaction processed by a test provider is identified by its test-provider ID (merchantPspId / processorPspId on the transaction). See Testing in production.
⚠️ Warning: Never credit or debit real player balances for transactions processed by a test provider.