Webhook

Webhooks (Web Callback) provide payment information to your application in real time when

  • a payment is successful
  • a payment fails
  • error in payment

Defining a webhook is mandatory and can be done using the notificationUrl parameter while creating a charge request. The notification URL will receive the webhook data.

After Payment

  • Successful transactions will be redirected to returnUrl
  • All other scenarios, like failed or cancelled, will be redirected to cancelUrl.

Webhooks vs. Redirection URLs for Backend Updates

Do not rely on redirection parameters (success/cancel URLs) to update your backend logic. Instead, process payment status exclusively via the server-to-server webhook notifications sent to the notification_url provided by you in your initial request payload.

Referencing webhook data

Webhook data can be saved in your database for future reference in the getpaymentstatus API.

track_id can be fetched from the returnUrl, cancelUrl, notificationUrl and passed to the getpaymentstatus API to fetch the transaction details at a later point

You will get the data below after a successful or failed payment

  • auth
  • gateway_response
  • gateway_source
  • invoice_id
  • isTerminalStatus
  • order_id
  • payment_id
  • payment_method
  • payment_type
  • post_date
  • receipt_id
  • ref
  • refund_order_id
  • requested_order_id
  • result
  • track_id
  • tran_id
  • transaction_date
  • trn_udf
📘

Terminal Webhook Notification

The system dispatches a webhook to the merchant's notificationUrl/notifyURL when the payment link is expired.
The webhook includes the isTerminalStatus: true boolean field indicating no
further state transitions will occur.

Merchants can safely release inventory or mark orders as cancelled
immediately upon receiving "result": "NOT CAPTURED" with "isTerminalStatus": true, rather
than waiting indefinitely or polling

Merchants no longer need to run continuous GET inquiry polling for late captures once
isTerminalStatus: true is received.

Webhook example