The moment it happens
Get emailed when a Braintree dispute opens
Each new chargeback triggers an email with the amount, reason and reply-by date.
- Runs
- The moment it happens
- Apps
- Braintree
- AI
- Not needed
- Access
- Control Panel webhook destination; API key to parse
Send this to your assistant
Create a ClickRuntime automation: when Braintree reports a new dispute, email finance@mystore.com the disputed amount, the reason, the transaction ID and the date we must reply by.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a cardholder disputes a charge, the card network starts a countdown. In Braintree you have a limited window to upload evidence such as shipping confirmation, the order record and customer correspondence, and if you miss it the chargeback is lost automatically. The notice for a new dispute sits in the control panel, and a shop owner who checks it weekly can discover a case with only a couple of days left.
When Braintree opens a dispute, it sends a webhook with a signed bt_signature and bt_payload. ClickRuntime parses that payload with your API key, extracts the dispute details and emails you immediately. The email gives you the earliest possible start on gathering evidence while the deadline is still comfortable.
Small merchants and subscription businesses without a dedicated payments team get the most from it.
What you get out of it
Evidence is submitted before the deadline
Learning of a dispute on day one rather than day twelve leaves enough time to pull the order record, tracking number and customer messages. Every dispute you respond to in time is a chance to keep the money.
Chargebacks are not lost by default
Disputes that go unanswered are typically decided against the merchant. Prompt notice turns what would have been an automatic loss into a case you can actually contest with documents. That is often the difference between a contested case and a written-off sale.
The cause is investigated while memory is fresh
Looking into a dispute within hours means staff still remember the order, the conversation and any delivery problems. Details recovered quickly make for a stronger response. A support lead can ask the customer a simple question before the dispute hardens.
Patterns of fraud or confusion show up
A cluster of disputes on the same product or from the same region points to fraud, a confusing billing descriptor or a shipping problem. Seeing each in your inbox as it opens makes the pattern easier to spot.
A dated record for finance and accounting
Each email shows when a dispute was opened and for how much. Bookkeepers can reserve funds against it, and anyone reviewing losses later has a timeline to refer to. Accountants can set aside funds against the case straight away.
How it works
What happens, step by step
When a customer opens a dispute in Braintree, Braintree tells ClickRuntime straight away.
ClickRuntime checks the message really came from Braintree and reads the dispute details.
You get an email with the amount, the reason, the transaction and the date you must reply by.
Before it runs live
- Connect Braintree
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Braintree steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, notify
import braintree
from urllib.parse import parse_qs
def gateway():
return braintree.BraintreeGateway(braintree.Configuration(
braintree.Environment.Production, merchant_id=credentials.secret("BRAINTREE_MERCHANT_ID"),
public_key=credentials.secret("BRAINTREE_PUBLIC_KEY"), private_key=credentials.secret("BRAINTREE_PRIVATE_KEY")))
def parse(event):
form = parse_qs(event.body)
return gateway().webhook_notification.parse(form["bt_signature"][0], form["bt_payload"][0])
@on_event
def handle(event):
n = parse(event)
if n.kind != braintree.WebhookNotification.Kind.DisputeOpened:
return {"emailed": False}
d = n.dispute
notify.email_me(f"Braintree dispute: {d.currency_iso_code} {d.amount_disputed}",
f"Amount: {d.currency_iso_code} {d.amount_disputed}\nReason: {d.reason}\n"
f"Transaction: {d.transaction.id}\nReply by: {d.reply_by_date}")
return {"dispute": d.id}FAQ
Common questions
What does the email contain?
Why does it need my API key?
Does it also notify me when a dispute is won or lost?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Hear in Slack when a Braintree payout fails
A failed disbursement is posted to Slack with Braintree's exception message and the follow-up it asks for.
See how it worksPost failed Braintree renewals to Slack
When a subscription renewal charge fails, Slack shows the subscription ID, plan and amount.
See how it worksGet yesterday's settled Braintree volume each morning
A morning email lists the transactions that settled the previous day and their total.
See how it worksKeep exploring
Set up “Get emailed when a Braintree dispute opens” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.