Stripe refund alert in Slack (charge.refunded)
A Stripe refund alert in Slack posts the amount and reason of each refund. Partial refunds show the amount of that refund, not the full charge.
ChargeBell product team
Updated October 1, 2026. 6 min read.
A Stripe refund alert in Slack tells finance and support that a refund has started. ChargeBell reads refund.created and charge.refunded and posts one alert per refund with the amount, the reason when Stripe gives one, and the customer when Stripe includes it. The alert means the refund was created. Check its status in Stripe before you tell a customer the money has arrived.
What charge.refunded means
Stripe sends charge.refunded whenever a charge is refunded, including partial refunds. One charge can send it several times, because you can issue more than one partial refund until the total reaches the original amount.
Stripe also sends refund.created once for each new refund, with that refund's own amount. ChargeBell reads both events and keys the alert on the refund ID, so each refund posts once. Two related events are easy to mix up. refund.updated reports status changes on a refund, including a failure. charge.refund.updated covers refund updates on some payment methods. ChargeBell does not alert on either.
How partial refunds show up
The alert shows the amount of the refund that just happened. It does not show the full charge or Stripe's running amount_refunded total. If you refund $120 of a $300 charge, the alert says $120. A second refund of $50 posts a second alert for $50.
Why send Stripe refund alerts to Slack
- Finance can reconcile sooner. The alert marks when the refund started, and the final status is in Stripe.
- Support can answer the customer. They can confirm the refund was issued and check Stripe for when it completes.
- Odd reasons stand out. A refund marked
fraudulentorduplicateis worth a second look.
What the Slack alert shows
The title reads "Refund sent" with the amount. Below it is the customer and, when Stripe gives one, the refund reason. A View in Stripe button opens the payment when ChargeBell has the PaymentIntent ID.
ChargeBellAPP
↩️ Refund sent: $49.00
to Lena at Fernworks
Reason: requested by customer
ChargeBellAPP
↩️ Refund sent: $120.00
to marcus@acmecorp.io
Reason: duplicate
Fields ChargeBell can include
- The amount of this refund and its currency
- The refund reason when Stripe gives one, such as requested by customer, duplicate, or fraudulent
- The customer name or email, when Stripe includes it
- A View in Stripe button that opens the payment
Route refunds to finance or support
ChargeBell sends all refund alerts to one Slack channel. It does not split refunds by reason. If finance and support both need them, use a shared channel and mention the other team in a thread. For a suggested split of all alert types, see which Stripe alerts go to finance, support, and founders.
When the customer gets the money
A refund usually goes back to the original payment method. Arrival time and fee treatment depend on the country and payment method. Check Stripe's refund guide and the refund's status before you give a customer a date.
How to set up a Stripe refund alert in Slack
- 1
Connect Stripe
Approve ChargeBell's read-only Stripe app. It reads refund events and cannot issue or cancel refunds.
- 2
Check the refund sent alert
It is on by default and covers both
refund.createdandcharge.refunded. - 3
Pick a channel
Choose one channel for refunds, such as a shared #billing channel.
- 4
Send a test alert
Check the message in Slack before the next real refund.
For a response checklist, read how to send Stripe refund alerts to Slack. For every supported event, see the Stripe Slack integration.
Related Stripe alerts
- Stripe dispute alert for
charge.dispute.created - Stripe successful payment alert for
payment_intent.succeeded - Stripe failed payment alert for
payment_intent.payment_failed
Key terms
Frequently asked questions
Which Stripe event fires on a refund?
Stripe sends charge.refunded when a charge is refunded, including partial refunds, and refund.created once for each new refund. ChargeBell reads both and posts one Slack alert per refund.
Does the alert show partial refunds correctly?
Yes. The alert shows the amount of that refund. A $120 partial refund of a $300 charge reads $120, and it does not use Stripe's running amount_refunded total.
Can I route refunds to finance and support separately?
No. All refund alerts go to one channel. If both teams need them, use a shared channel and mention the other team in a reply.
What is the difference between charge.refunded and refund.updated?
charge.refunded fires when a charge is refunded. refund.updated fires when a refund's status changes later, for example when it fails. ChargeBell alerts when a refund is created, so check the final status in Stripe.
Does ChargeBell need write access to Stripe?
No. ChargeBell connects through a read-only Stripe app. It reads refund events to build alerts and cannot issue, edit, or cancel refunds.
Primary sources
We checked event definitions and comparison details against these provider docs and pricing pages.