AsyncAPI Specification
generated: '2026-07-17'
method: searched
source: >-
hub.ozow.com developer hub (payment notification + payout webhook pages),
openapi/ozow-openapi.yml. Ozow publishes no AsyncAPI document; this captures
the webhook/notification surface as a catalog (type: Webhooks).
spec_type: Webhooks
transport: http-callback
delivery:
method: POST
target: merchant-supplied NotifyUrl (per request)
verification: >-
SHA512 HashCheck over the response fields (excluding Hash) + merchant
PrivateKey, lower-cased. Treat the server-to-server notification as
authoritative over the browser SuccessUrl/ErrorUrl redirect.
reliability: >-
Merchants should respond 200 promptly and reconcile idempotently on
TransactionReference; poll GetTransaction as a fallback if a notification is
missed.
events:
- name: payment.notification
trigger: A payment request reaches a terminal or updated status.
status_field: Status
statuses: [Complete, Cancelled, Error, Abandoned, PendingInvestigation]
payload_fields: [SiteCode, TransactionId, TransactionReference, Amount, Status, StatusMessage, IsTest, Hash]
source: openapi/ozow-openapi.yml#postPaymentRequest (NotifyUrl callback)
- name: refund.notification
trigger: A refund request completes or fails.
payload_fields: [SiteCode, RefundId, TransactionId, Amount, Status, Hash]
source: openapi/ozow-openapi.yml#postRefundRequest (NotifyUrl callback)
- name: payout.notification
trigger: A merchant payout completes or fails.
source: hub.ozow.com/docs/step-3-verify-payout-webhook-merchant-implementation
note: >-
Ozow's Payouts product posts a payout webhook to the merchant that is
verified with the same HashCheck scheme. The Payouts API itself is not
modeled in openapi/ozow-openapi.yml.