1. Support Guides
  2. Integration & API

How to Set Up Webhooks for Real-Time Payment Updates

This guide explains how to create webhooks within your dashboard to receive real-time payment status updates such as underpaid, overpaid, completed payments, and refunds.

1. Introduction

Webhooks allow your system to receive automatic notifications whenever specific payment events occur. This enables real-time updates to your order tracking, notification systems, or internal reporting.


2. Creating a Webhook

Follow these steps to create a webhook in your dashboard:

  1. Go to: Settings > Integrations > Webhooks or use this direct link (login required).

  2. Under the section '+ Create Webhooks'

  3. Enter a Webhook Label (e.g., "Order Status Updates")

  4. Select one or more events you want to listen for:

    • paymentUnderpaid

    • paymentOverpaid

    • paymentCompleted

    • refundCompleted

  5. Enter your Receiving Endpoint (your server URL that will process the incoming webhook)

  6. Click Create

After creation, your webhook will appear in the list below with its Name, Receiving Endpoint, Secret Key, and Created date.


3. Event Descriptions

Event Description
paymentUnderpaid Triggered when a payment is received but below the expected amount
paymentOverpaid Triggered when a payment exceeds the expected amount
paymentCompleted Triggered when a payment is successfully confirmed
refundCompleted Triggered when a refund has been processed and completed
 

4. Securing and Handling Webhooks

  • Use the Secret Key listed for each webhook to validate incoming requests on your server.

  • Verify signature headers to ensure requests come from the trusted source.

  • Respond with a 200 OK HTTP status to confirm receipt.

  • Implement retry logic in case your endpoint is temporarily unavailable.


5. Troubleshooting

  • No webhooks triggering?

    • Ensure your endpoint is accessible via HTTPS.

    • Make sure at least one event is selected.

  • Receiving invalid payloads?

    • Check if your endpoint correctly parses application/json.