Notification kinds

The notification kind, returned by calling kind on the notification object, reveals what triggered the webhook. For a Dispute webhook, $webhookNotification->kind will be one of the following:

  • Braintree_WebhookNotification::DISPUTE_LOST
  • Braintree_WebhookNotification::DISPUTE_OPENED
  • Braintree_WebhookNotification::DISPUTE_WON

The following table describes the conditions that trigger each kind of webhook.

Notification Type Description

A dispute is opened.


A dispute is won.


A dispute is lost.


kind enum

The kind of webhook notification.

timestamp date

The UTC time at which the webhook was triggered.

id string

A unique ID for each dispute.

amount decimal

Amount customer requested when disputing the transaction. This can be any amount up to the full amount of the original transaction.

receivedDate date

The date we received the dispute.

replyByDate date

The date a reply with evidence is due.

dateOpened date

The date the dispute was opened.

dateWon date

The date the dispute was won. Only available on dispute won webhooks.

currencyIsoCode string

The currency of the amount.

status enum

The latest status of the dispute. Possible values:

  • open: Dispute has been opened by the customer and funds have been debited from your account
  • lost: The bank has reviewed evidence and declined to reverse the dispute or you didn't provide evidence
  • won: The bank has reversed the dispute and funds have been credited to your account
kind enum

The kind of dispute webhook. Possible values:

  • retrieval
  • chargeback
  • pre_arbitration

For more information, read our article on chargebacks and retrievals.

reason enum

The reason the dispute was created. Possible values:

  • cancelled_recurring_transaction: The cardholder was billed for a recurring charge they canceled or attempted to cancel.
  • credit_not_processed: The cardholder was told they were to receive a credit and did not.
  • duplicate: The individual charge was submitted more than once.
  • fraud: The cardholder is claiming this transaction to be fraudulent.
  • general: A generic response was provided by the card-issuing bank.
  • invalid_account: Card was expired, had an invalid account number, or had an account number that did not match the card number of the original transaction.
  • not_recognized: The cardholder claims they do not recognize/did not participate in this charge.
  • product_not_received: The cardholder did not receive (or only partially received) the goods/services they paid for.
  • product_unsatisfactory: The cardholder received the goods/services, but the product was defective, different than described, or otherwise did not meet expectations.
  • transaction_amount_differs: The cardholder claims the charge the merchant submitted was different than what the cardholder agreed to pay.

An object that contains two attributes:

  • $transactionDetails->id: The id for the transaction.
  • $transactionDetails->amount: The amount on the transaction.

Still have questions?

If you can’t find an answer, contact our Support team