Once you're set up to receive webhooks, you can collect information from them to create reports based on different triggers. For example, you could collect the information on notifications for:
- Subscription Canceled to create a report for customer subscription cancelations
- Dispute Opened and compare that to your transactions sales to create a report on your chargeback ratio
- Disbursement to create a funding report
General workflow
- Set up at least one destination URL to receive webhooks from the gateway
- Parse the contents of the webhook notifications
- Create logic to store the details of the
WebhookNotification
objects for a specific kind of trigger
Disbursements
Disbursement webhooks are a bit different from other webhooks. Each disbursement or disbursement exception webhook includes a disbursement object. This object can't be retrieved from the gateway in any other way, unlike transactions or subscriptions.
Transactions associated with a disbursement
To find all transactions associated with a given disbursement, you can parse the disbursement webhook notification and use the data in the payload to perform a transaction search:
PHP
$webhookNotification = $gateway->webhookNotification()->parse(
$btSignature,
$btPayload
);
$transactions = $webhookNotification->disbursement->transactionIds();
$collection = $gateway->transaction()->search([
Braintree\TransactionSearch::ids()->in(
$transactions
)
]);
See Search Results for more information.