{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-apis/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Webhooks reference","siteUrl":"https://docs.omno.com"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"webhooks-reference","__idx":0},"children":["Webhooks reference"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Webhooks are the source of truth for final transaction outcomes. For the concept and handling rules, see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/concepts/webhooks"},"children":["Webhooks guide"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configure","__idx":1},"children":["Configure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the Omno Dashboard, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Developers → Webhooks → Create Webhook"]},", set a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Webhook URL"]},", choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hook Type: Transaction"]},", select the events you want, optionally pick an authorization method, and save. Monitor delivery under the same page: request payloads, your responses, and per-attempt status."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"confirmed-delivery-behaviour","__idx":2},"children":["Confirmed delivery behaviour"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Omno retries a failed delivery ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["up to 10 times"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Process webhooks ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["idempotently"]}," — the same transaction can arrive more than once."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handle statuses ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["out of order"]}," — never downgrade a final status, with the one exception ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TIMEOUT → SUCCESS"]}," for a pay-in (a late provider callback)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["On any doubt, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GET the transaction"]}," for the authoritative status."]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["ℹ️ ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Your Omno integration team shares the full event list, the pay-in and payout payload schemas, signature/authorization options, the retry schedule and delivery details during integration."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"identify-test-transactions","__idx":3},"children":["Identify test transactions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A transaction processed by a test provider is identified by its test-provider ID (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["merchantPspId"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processorPspId"]},"). Never credit or debit real balances for test-provider transactions. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/testing"},"children":["Testing in production"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"build-it-","__idx":4},"children":["Build it →"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/concepts/webhooks"},"children":["Webhooks guide"]}," · ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/concepts/transaction-lifecycle"},"children":["Transaction lifecycle"]}]}]}]},"headings":[{"value":"Webhooks reference","id":"webhooks-reference","depth":1},{"value":"Configure","id":"configure","depth":2},{"value":"Confirmed delivery behaviour","id":"confirmed-delivery-behaviour","depth":2},{"value":"Identify test transactions","id":"identify-test-transactions","depth":2},{"value":"Build it →","id":"build-it-","depth":2}],"frontmatter":{"title":"Webhooks reference","description":"How Omno delivers transaction webhooks — configuration, confirmed delivery facts (up to 10 retries, idempotency, out-of-order), and how to identify test transactions.","seo":{"title":"Webhooks reference"}},"lastModified":"2026-11-06T11:46:00.425Z","pagePropGetterError":{"message":"","name":""}},"slug":"/apis/webhooks","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}