Stripe dispute alert in Slack (charge.dispute.created)

A Stripe dispute alert in Slack posts the disputed amount, the reason, and Stripe's respond-by date as soon as charge.dispute.created arrives.

ChargeBell product team

Updated October 1, 2026. 6 min read.

How we check provider claims

A Stripe dispute alert in Slack tells your team about a chargeback while there is still time to respond. ChargeBell listens for charge.dispute.created and posts the disputed amount, the reason, and the respond-by date from Stripe. It marks the alert critical, so it posts during quiet hours and adds an @channel mention by default.

What charge.dispute.created means

Stripe sends charge.dispute.created when a customer disputes a charge with their bank. A new chargeback usually has the status needs_response, which means Stripe is waiting for your evidence. An inquiry that the bank later turns into a formal dispute also sends this event.

When a dispute opens, Stripe takes the disputed amount and a dispute fee from your balance. That happens before anyone looks at the case.

Dispute vs chargeback

A chargeback is the bank reversing a card payment at the cardholder's request. Stripe calls this a dispute. An inquiry is an earlier step where the bank asks for information without reversing the money yet. Both appear as Dispute objects in Stripe.

Why a Stripe dispute alert needs to be fast

Each dispute has a deadline set by the card network. Stripe stores it in evidence_details.due_by. If you submit evidence before then, the bank reviews your case. If you miss it, you lose the dispute. The window depends on the card network and country, so use the date Stripe gives you.

  • The deadline is fixed. You cannot reopen a dispute after evidence_details.due_by passes.
  • The money is already gone. Stripe takes the amount and fee when the dispute opens.
  • It is easy to miss. Stripe emails the account, and that inbox may not belong to the person who handles disputes.

What the Slack alert shows

The title reads "A $X charge was disputed." Below it is the reason Stripe reports, such as "fraudulent" or "product not received." A Respond by field shows the evidence deadline in your organization's time zone. A View evidence in Stripe button opens the dispute.

# disputes

ChargeBellAPP

🚨 A $312.00 charge was disputed

@channel

a customer · "product not received"

Respond by: Fri, Jul 3, 9:00 AM

Disputes have hard deadlines. Respond in Stripe as soon as you can.

Fields ChargeBell can include

  • The disputed amount and currency
  • The reason Stripe reports, such as fraudulent or product_not_received
  • The respond-by date from evidence_details.due_by
  • A View evidence in Stripe button that opens the dispute

Stripe's dispute webhook does not include the customer's name or email, so the alert usually says "a customer." Open the dispute in Stripe to see who it is.

One alert, no reminders

ChargeBell posts once when the dispute opens. It does not send reminders as the deadline gets closer. You submit evidence in the Stripe Dashboard.

Why ChargeBell marks disputes critical

ChargeBell holds most alerts during quiet hours and posts them as one batch in the morning. Critical alerts skip that hold. Disputes are critical by default, along with failed payments and failed payouts. They also add an @channel mention, which you can turn off in settings. Send disputes to a channel like #disputes or #founders where someone owns the response.

How to set up a Stripe dispute alert in Slack

  1. 1

    Connect Stripe

    Approve ChargeBell's read-only Stripe app. It reads dispute events and cannot submit evidence or move money.

  2. 2

    Connect Slack and pick a channel

    Add the ChargeBell Slack app and choose where disputes post. A dedicated #disputes channel keeps them visible.

  3. 3

    Check the charge disputed alert

    It is on by default and critical, so it posts during quiet hours with an @channel mention.

  4. 4

    Send a test alert

    Check that the message reaches the right people before a real dispute arrives.

For the full process, read how to send Stripe dispute alerts to Slack. To plan your evidence, use the Stripe dispute evidence checklist.

Key takeaways

  • charge.dispute.created fires when a customer disputes a charge, and Stripe takes the amount and fee right away.
  • The deadline is evidence_details.due_by. Miss it and you lose the dispute.
  • ChargeBell posts the amount, reason, and respond-by date, during quiet hours, with an @channel mention by default.
  • ChargeBell sends one alert. You respond in the Stripe Dashboard.

Frequently asked questions

Which Stripe event fires when a customer disputes a payment?

charge.dispute.created. Stripe sends it when a customer disputes a charge with their bank. ChargeBell listens for it and posts a critical Slack alert.

Where do I find the dispute deadline?

Stripe stores it in evidence_details.due_by on the dispute. ChargeBell shows it in the alert as a Respond by date in your organization's time zone. You also see it on the dispute in the Stripe Dashboard.

Does ChargeBell remind me as the deadline gets closer?

No. ChargeBell posts one alert when the dispute opens. It does not send reminders or countdowns.

Will the alert reach me during quiet hours?

Yes. Disputes are critical in ChargeBell, so the alert posts right away during quiet hours. It also adds an @channel mention by default.

Does ChargeBell need write access to Stripe?

No. ChargeBell connects through a read-only Stripe app. It reads dispute events to build alerts and cannot submit evidence, move money, or change the dispute.

Primary sources

We checked event definitions and comparison details against these provider docs and pricing pages.