Skip to main content
With webhooks, your app can know when something happens in Decisionly, such as a chargeback being filed for a case.

Registering Webhooks

To register a new webhook, you need to have a URL that Decisionly can call. You can configure a new webhook from your dashboard settings. Add your URL and pick the events you want to listen for.

Consuming Webhooks

When you receive a webhook request from Decisionly, check the type attribute to see what event caused it.

Webhook Events

  • case.created - Triggered when a case is created
  • case.chargeback_needs_review - Triggered when a case requires manual review
  • case.chargeback_filed - Triggered when a chargeback is filed with the card network
  • case.chargeback_represented - Triggered when merchant responds with evidence
  • case.prearb_filed - Triggered when a pre-arbitration case is filed with the card network
  • case.won - Triggered when a cardholder wins a case
  • case.lost - Triggered when a merchant wins a case
  • case.closed - Triggered when a case is closed without being filed

Webhook Payload

Webhooks do not contain any sensitive information. They only contain the IDs of the objects that were affected by the event. So for case events, the data attribute will contain the case_id. You should then call the API to fetch the case and verify the event.

Example Webhook Payload

{
  "event_id": "event_2d7448cda095419bbecf066446104e37",
  "created": "2025-02-04T17:36:24.494Z",
  "type": "case.chargeback_filed",
  "data": {
    "case_id": "case_db7fc63f5b6842c1bfb5ffd74b71a66d"
  }
}

Responding to Webhooks

You should return a 200 status code to acknowledge the webhook. If you return a different status code, Decisionly will retry the webhook in 30 minutes, up to 24 times (12 hours of retries).