Dispute webhooks

Register a dispute webhook

Changed on

Registers a dispute webhook for the merchant identified by the secret key and the X-Merchant-Code header. Disputes have no test mode: authorize with a production secret key (sk_...) — a request signed with a test key (sk_test_...) is rejected with 403. Each merchant_code can have up to 4 dispute webhooks; the limit is separate from payment webhooks. The url is normalised before it is stored (lower-case scheme and host, default port and trailing slash removed) and must be unique per merchant. header.value is a secret: it is accepted in full and returned masked in every response, including this one — **** followed by the last 4 characters for values longer than 8 characters, **** alone for shorter values.

post/api/v1/dispute-webhooks

Request

  • Base URL
    https://api.tabby.ai
  • URL
    https://api.tabby.ai/api/v1/dispute-webhooks
  • Auth
    HTTP bearer

Headers

X-Merchant-Codestring required
Example:code provided to you from Tabby side

Merchant code the request is scoped to. Required on every dispute-webhook request, even when your secret key maps to a single merchant; case-insensitive.

Request body

urlstring uri required

Endpoint for dispute notifications (HTTPS recommended). Must be an absolute URL with a publicly resolvable host name — localhost, raw IP addresses and hosts that do not resolve are rejected. Normalised before it is stored (lower-case scheme and host, default port and trailing slash removed) and unique per merchant.

Example request

{
  "url": "https://example.com/tabby/dispute-webhook",
  "header": {
    "title": "X-Auth-Key",
    "value": "your_random_signing_secret"
  }
}

Response

Success. Dispute webhook object is returned; header.value is masked.

idstring required

Unique dispute webhook ID, assigned by Tabby.

urlstring uri required

Endpoint for dispute notifications, as stored (normalised).

Example response

{
  "id": "f5eb7c26-b163-4fad-b75f-66024824116e",
  "url": "https://example.com/tabby/dispute-webhook",
  "header": {
    "title": "X-Auth-Key",
    "value": "****cret"
  }
}

Changes