How to send Stripe refund alerts to Slack
Set up Stripe refund alerts in Slack in three steps. Then decide who reads each refund, how to reconcile partial refunds, and why you should never refund a disputed charge.
The ChargeBell Team
Updated October 1, 2026. 7 min read.

To send Stripe refund alerts to Slack, connect Stripe and Slack in ChargeBell, keep the refund sent alert on, route it to a channel that finance and support both read, and send a test alert. ChargeBell listens for refund.created and charge.refunded. The alert means a refund was started. It does not mean the customer has the money yet, and ChargeBell does not alert on refund.failed.
- 1
Connect Stripe and Slack
Give ChargeBell read-only access to Stripe, then add it to your Slack workspace.
- 2
Route the refund sent alert
The alert is on by default. Point it at a channel both teams read, such as #refunds or #finance.
- 3
Test it, then check a real refund
Send a test alert. When a real refund arrives, compare its amount and reason with the refund record in Stripe.
Short answer
Finance records the refunded amount and checks the fee treatment. Support tells the customer when to expect the money. Founders watch for repeat refunds and spikes. If the charge is already disputed, check Stripe before anyone refunds it.
What a Stripe refund alert in Slack tells you
Each refund alert shows the amount, the customer, and the reason. Read all of them before anyone acts, because each team cares about a different line.
- The amount. Stripe lets you refund a charge in full or in parts, and you can issue several partial refunds until they add up to the original charge. Reconcile the amount of this refund, not the charge it came from.
- The reason. Stripe refunds carry a
reasonofrequested_by_customer,duplicate, orfraudulent. The reason tells you which team should look first. - The customer. The name or email, when Stripe has one, tells support who to contact.
ChargeBellAPP
↩️ Refund sent: $49.00
to lena@example.com
Reason: Requested by customer · View in Stripe
ChargeBellAPP
↩️ Refund sent: $312.00
to ops@acmecorp.com
Reason: Duplicate · View in Stripe
Partial refunds are easy to misread
A $312 partial refund on a $900 charge should go in the books as $312. If a report shows the charge amount instead, you will overstate refunds. See the glossary entry on partial refunds for how Stripe tracks them.
What finance should do
For finance, a refund is money leaving the account. The goal is that month-end holds no surprises.
- Record the refunded amount against the original charge. One charge can have more than one partial refund, so expect several entries.
- Check the fee treatment. Whether Stripe returns its processing fee depends on your region, the payment method, and your terms. Use Stripe's pricing page and the balance transaction for the real figure.
- Watch for failed refunds in Stripe. Stripe sends
refund.failedwhen a refund can't complete. ChargeBell does not alert on it, so check refund status in Stripe before you arrange another way to pay the customer back. - Review the week's refunds together. One refund tells you little. Five refunds on the same product in one week is worth raising with the team.
What support should do
For support, a refund usually closes a complaint. Handle it well and the customer may come back.
- Close the ticket that caused it. If support issued the refund, confirm it to the customer. If someone else did, check for an open conversation that should hear about it.
- Tell the customer how long it takes. Stripe says customers usually see the credit 5 to 10 business days after the refund, depending on their bank. Saying so up front prevents follow-up tickets.
- Explain a refund the customer can't see. A refund issued soon after the charge can show up as a reversal. The original charge disappears from the statement and no separate credit appears. Give the customer the refund reference from Stripe so their bank can trace it.
- Ask one question. A short note asking what you could have done better turns a lost sale into feedback.
What founders should watch
Founders don't need to act on every refund. They need to spot the ones that point at a bigger problem.
- Refunds marked `fraudulent`. A payment went through that shouldn't have. Check whether the same customer, card, or email made other recent payments.
- Repeat refunds for one customer. Serial refund requests are an early sign of refund abuse.
- Spikes after a release or price change. A cluster of
requested_by_customerrefunds usually means customers expected something the product didn't deliver.
ChargeBellAPP
↩️ Refund sent: $1,200.00
to priya@example.com
Reason: Fraudulent · View in Stripe
Digital products need extra care here. The customer gets the product the moment they pay, so you have no shipping delay to catch a stolen card. A fraudulent refund is often the first sign of trouble.
Refunds and disputes
A refund usually costs less than a dispute. Disputes add a fee and a response deadline, so refunding an unhappy customer before they call their bank is often the right move. Once a charge is disputed, the rules change.
- Check for an open dispute before refunding. If the customer disputes the charge while a refund is pending, Stripe can fail the refund. Stripe recommends accepting or challenging the dispute instead, so you don't pay the customer back twice.
- Handle a disputed charge in the dispute flow. In a formal dispute the customer's bank has already credited them. Respond in Stripe's dispute flow, not with a refund.
Disputes have their own deadline. How to send Stripe dispute alerts to Slack covers what to do once one opens.
Who reads which refund
| Refund | First reader | Action |
|---|---|---|
| requested_by_customer | Support | Confirm timing and ask what went wrong |
| duplicate | Finance | Reconcile both charges and find out why it happened |
| fraudulent | Founder | Check the customer's other payments |
| Partial refund | Finance | Record the refunded portion, not the charge |
| Refund failed | Finance, then support | Find another way to pay the customer back |
Which Slack channel refund alerts should go to
Don't post refunds in the same channel as every successful payment. A channel full of sales gets muted, and then nobody sees the refund spike. Send refunds to a channel finance and support both read, like #refunds or #billing-ops. ChargeBell routes each alert type to its own channel, so refunds can go there while new sales go to #wins. The Stripe refund alert page shows the full setup, and which Stripe alerts go to finance, support, and founders has a routing plan for every alert type.
ChargeBell has read-only access to Stripe. It alerts you when a refund is created. It can't issue, cancel, or edit a refund, and the alert doesn't confirm the customer received the money. Check the final status in Stripe.
Key takeaways
- Route the refund sent alert to a channel that finance and support both read.
- Reconcile the refunded amount, not the original charge.
- Tell customers to expect the credit in 5 to 10 business days. Early refunds can appear as a reversal instead.
- Watch for
fraudulentreasons, repeat refunds, and spikes after a release. - Don't refund a disputed charge. Respond in Stripe's dispute flow so you don't pay twice.
Set up the alert
Key terms
Frequently asked questions
How do I send Stripe refund alerts to Slack?
Connect Stripe and Slack in ChargeBell, keep the refund sent alert on, and route it to a channel such as #refunds. ChargeBell posts an alert when Stripe sends refund.created or charge.refunded. No code or webhook setup is needed.
How long does a Stripe refund take to reach the customer?
Stripe says customers usually see the credit 5 to 10 business days after the refund, depending on their bank. A refund issued soon after the charge can appear as a reversal instead. The original charge disappears from the statement and no separate credit shows up.
What happens if a Stripe refund fails?
Stripe sends refund.failed when a refund can't complete. ChargeBell does not alert on that event. Check the refund's final status in Stripe, and ask the customer for another way to pay them back if needed.
Should I refund a charge that's already disputed?
No. In a formal dispute the customer's bank has already credited them. If a customer disputes while a refund is pending, Stripe can fail the refund. Stripe recommends accepting or challenging the dispute instead, so you don't pay the customer back twice.
Does the alert show the partial refund amount?
Yes. The refund sent alert uses the amount of the refund itself, not the original charge. For a $312 partial refund on a $900 charge, record $312. One charge can have several partial refunds, so expect more than one alert.
Can ChargeBell issue or reverse a refund from Slack?
No. ChargeBell connects to Stripe with read-only access. It reads refund events to send alerts, but it can't issue, cancel, or change a refund, or move money. Every action happens in Stripe.


