Webhooks Overview

Receive real-time status updates from Payzava

Payzava sends webhook callbacks to your server whenever a payment, payout, or refund status changes.

When callbacks are sent

Payzava sends a POST request to your callback_url whenever the status of a transaction changes. This happens for:

  • Payment status changes (e.g., ProcessingCompleted)
  • Payout status changes
  • Refund status changes

Callback format

Callbacks are sent as a POST request to your callback_url with status information passed as query parameters:

POST https://yourserver.com/webhooks/payzava?transactionId=txn_abc123&status=Completed

Query parameters

ParameterDescription
transactionIdThe transaction/payout/refund ID
statusThe new status value

Status values

StatusDescription
ProcessingTransaction is being processed
CompletedTransaction was successful
CancelledTransaction was cancelled or failed

Responding to callbacks

You must respond with a 200 OK status code within 5 seconds. If your server does not respond in time, the callback will time out.

HTTP/1.1 200 OK

Callbacks may fire multiple times

Payzava may send the same callback more than once. Your callback handler must be idempotent — processing the same callback twice should not cause duplicate actions.

  1. Receive the callback
  2. Respond with 200 OK immediately
  3. Call the retrieve endpoint to verify the current status
  4. Process the status change based on the retrieve response

Callback timeout

The callback timeout is 10 seconds. If your server does not respond within this window, the callback is considered failed.

Important

Note:

A failed callback does not affect the actual transaction. The payment, payout, or refund will still proceed normally. Always verify status via the retrieve endpoint.