Transaction completed
your notification URLBuild with AI 5 packages
A build package is every page for one task, with the API operations they use. Copy the prompt into a coding assistant, or hand it the package itself: slim links to each page, full inlines all of them in one document.
- Take a paymentEverything needed to take a payment end to end with One API, from credentials through the hosted page to the webhook that confirms it, and the test cases that prove each outcome before you go live.
- Take a recurring paymentEverything needed to collect from a customer on a schedule with One API, from the consent the customer gives once through to each collection and the webhook that reports it.
- Migrate a payin from the Payments API to One APIEverything needed to move an existing redirect payin onto One API, with the legacy guide and its One API counterpart side by side.
Raised when a transaction reaches a final state.
status is one of Successful, Incomplete, Pending or Error. These are not the transaction's own statuses: they are mapped down to four. Complete becomes Successful, Created becomes Incomplete, Pending and PendingInvestigation become Pending, and everything else becomes Error, which includes a cancelled, abandoned or voided payment. reason carries the detail.
A subscription registered as full receives TransactionCompleteFullData in data instead, which is the field set the Payments API posts to a notify URL.
Delivered by Svix, with svix-id, svix-timestamp and svix-signature headers. Verify the signature with the webhookWebhook A URL of yours that Ozow calls when something happens, rather than you polling to find out. The call carries no credential of yours and arrives at a public URL, so authenticate it before acting on it: a hash field on the Payments API, a Svix signature on One API.'s secret before acting on the contents.
Authentication
Ozow sends no credential with this call, so this check is the only thing standing between a real delivery and a stranger’s. Verify the delivery signature before acting on the contents: your notification URL is public, and anyone can post to it.
Payload
application/json
typestring requiredThe event type the subscription was created for.
timestampstring date-time requiredWhen the event was raised.
dataany of requiredWhat the subscription's message type decides. A
thinsubscription receivesWebhookEventData, which is every event's default and the only form the subscription events support. Afullsubscription totransaction.completereceivesTransactionCompleteFullData, and torefund.complete,RefundCompleteFullData. Afullsubscription to any of the subscription events receives nothing at all.
Your response
No body.
Guides
- Migrating to One APIMap a redirect payin and refunds integration from the Payments API to One API: what changes, what does not, and the order to make the changes in.
- Redirect to OzowBuild a redirect payin with One API. Create a payment request, send the customer to Ozow's hosted page, and confirm the result from the webhook.
- Verify a webhook signatureThe signature on a One API webhook, the five steps that check it, and a working implementation in four languages.
- Payin test casesThe payments to run before you go live with Ozow, what each one delivers, and a handler that survives all of them.