Read for the problem, not the tone
Before you write, find the one thing the customer needs: a refund, a fix, an explanation or an apology. Anger often hides it in the third paragraph.
Do not take the tone personally. The customer is upset with the situation, and you are the first person who can do something about it.
Open with the acknowledgement, once
Say plainly what went wrong from their side, in your own words: “You were charged twice and nobody answered your first email.” That shows you read it. One clear acknowledgement works better than three apologies.
Apologise for what you or the company actually did. If it wasn't your fault, you can still say you're sorry it happened without accepting blame you can't back up.
Lead with the fix
Put what you have done or will do near the top, with a date or time where you can. “I've refunded the second charge. It shows on your statement in 5 to 10 days” is better than a paragraph of context.
If you can't fix it, say what you can do and what you can't. A clear no with a reason is easier to accept than a vague maybe.
Keep it short and concrete
Long replies read as defensive. Aim for a short acknowledgement, the fix, what happens next and how to reach you. Avoid jargon, policy numbers and phrases like “as per our terms” in the first reply.
- Avoid “calm down” and “as I already said”
- Avoid blaming the customer, another team or the system
- Avoid promises you don't control, such as exact delivery dates
Know when to hand off
Hand the ticket to a more senior person when the customer asks for one, when a refund or exception is above your limit, or when the message includes a threat or abuse. Write the handoff note so the customer doesn't have to repeat the story.
Abusive language aimed at you is not something you have to absorb. Set a clear boundary politely, and follow your team's policy on ending the conversation.
Follow up
If the fix takes time, tell the customer when you'll write again, and do it even if there is no news. A short “still working on it, here's where it stands” prevents a second angry message.