Notification kinds

The notification kind, returned by calling kind on the notification object, reveals what triggered the webhook. The webhookNotification.getKind() for Disbursement webhooks will be one of the following:

  • WebhookNotification.Kind.DISBURSEMENT
  • WebhookNotification.Kind.DISBURSEMENT_EXCEPTION
  • WebhookNotification.Kind.TRANSACTION_DISBURSED

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

Notification Type Description

Braintree-funded merchant accounts only
We have sent a disbursement to your account (meaning it will leave our bank account today). The difference between this and a transaction_disbursed webhook is that this is sent per merchant account per day, rather than per transaction.


Braintree Marketplace master merchants only
A disbursement to one of your sub-merchants has failed.
This webhook is not triggered when we attempt to disburse funds to a Venmo account that does not exist. See our Braintree Marketplace Funding article for details.


Braintree-funded merchant accounts only
A transaction has been marked for disbursement (meaning it will leave our bank account today).


getKind() enum

The kind of webhook notification.

getTimestamp() date

The UTC time at which the webhook was triggered.

getId() string

The id of the disbursement.

getAmount() decimal

The amount of the disbursement.

getDisbursementDate() date

The date the funds were disbursed.

getDisbursementType() string

The type of disbursement (debit/credit).

getTransactionIds() Array

The ids of all transactions associated with this disbursement.


The merchant account the disbursement corresponds to. You will only receive a disbursement webhook if Braintree manages funding for the selected merchant account. You'll know this is the case if Disbursement Summary reports are available for that account.

getRetry() bool

true if the disbursement previously failed and this webhook is for a second attempt. false if this is the first time this disbursement has been attempted, and false for disbursement exception webhooks.

getSuccess() bool

true if the disbursement was successful.

getExceptionMessage() string

Only present for disbursement exception webhooks. indicates the type of failure:

  • bank_rejected
  • insufficient_funds
  • account_not_authorized
getFollowUpAction() string

Only present for disbursement exception webhooks. Indicates what (if any) action you should take

  • contact_us
  • update_funding_information
  • none