> ## Documentation Index
> Fetch the complete documentation index at: https://developer.transactbridge.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook

Webhooks are user-configured HTTP callbacks that are triggered when a specific event occurs. They allow two applications to communicate by automatically sending event information from one server to another.

Unlike APIs, where you need to repeatedly check for updates, webhooks automatically provide real-time notifications whenever an event occurs.

TransactBridge sends the event details to the **Webhook URL** configured by the merchant. These webhooks are sent as `POST` requests from the TransactBridge server. Authorization headers are also included so that partners can authenticate that the request originated from the TransactBridge server.

Merchants can configure the Webhook URL from the **TransactBridge Admin Panel** to start receiving webhook events.

<Note>
  [**Admin Panel for Sandbox**](https://sandbox.transactbridge.com/account/accountSetting) Navigate to callback Url's section under the Account settings tab to configure the Webhook URL for sandbox environment.

  [**Admin Panel for Production**](https://reseller.transactbridge.com/account/accountSetting) Navigate to callback Url's section under the Account settings tab to configure the Webhook URL for production environment.
</Note>

## Callback Response

Partners must respond to the webhook with the following JSON response and an HTTP `200` status code:

```json theme={null}
{
  "ack": true
}
```

* Only the above response with an HTTP 200 status code will be treated as a successful acknowledgement of the webhook.

* If the merchant does not acknowledge the webhook, TransactBridge will retry sending the webhook. A maximum of 3 attempts will be made.

* If the partner fails to acknowledge the webhook after all 3 attempts, TransactBridge will stop sending subsequent retries for that event.

* Partners can also resend the webhook from the Partner Dashboard if required.

## Signature Verification

TransactBridge uses the same method to generate the signature that is included in the authorization headers.

Partners should verify the signature before processing the webhook to ensure that the request originated from the TransactBridge server and that the payload has not been modified.

## Sample Subscription Status

This [**webhook**](https://docs.transactbridge.com/#9d2ada6b-d973-4ec6-8552-bc3da0a5cef7) event is sent to the configured partner URL when the subscription has a status change. Subscription status can be PENDING, PENDING\_EXPIRED, TRIAL, ACTIVE, PAUSED, EXPIRED, CANCELLED, FAILED.

```json theme={null}
"request":
{
"callbackType":"SUBSCRIPTION",
"status":"ACTIVE",
"quoteAmount":"15",
"tbId":"667946642f968332ee9a68e5",
"timestamp":"2026-08-26T06:30:07.953Z",
"currentPeriodStart":"2026-08-25T18:30:00.000Z",
"currentPeriodEnd":"2026-09-25T18:30:00.000Z"
"frequency":"MNTH",
"param1":string"",
"param2":string"",
"param3":string""
}
```

## Sample Payment Mandate Status

This [**webhook**](https://docs.transactbridge.com/#785764d3-b378-4da1-9151-c29c6a82d9eb) is sent to the configured partner URL when a mandate status is changed.

```json theme={null}
"request":

{
    "callbackType": "MANDATE",
    "status": "CREATED",
    "tbId": "66ebde6d11107c5eb4a29699",
    "txnId":"68e8cf7db2b6d0610f8cd000",
    "subscriptionId": "68e8cf61b2b6d0610f8cd142",
    "timestamp": "2024-09-19T08:18:53.900Z",
    "payMethod": "UPI",
    "quoteAmount": "100"
}

```
