thinkhard.SI

Prompt repository Customer support & success

Reply to a customer who says they were charged twice or the wrong amount

A customer reports a duplicate or wrong charge, and you need to explain what the account shows and what happens next, within your billing policy.

Registry no.
SUP-031
Collection
Customer support & success
Laid out for
Any chat model
Score
10 out of 10
Blanks to fill
7
Added

Customer support & successAny chat

The prompt

Score 10 of 10, Excellent

Use it when A customer reports a duplicate or wrong charge, and you need to explain what the account shows and what happens next, within your billing policy.

  • {{customer_name}}
  • {{channel}}
  • {{customer_message}}
  • {{billing_records}}
  • {{billing_policy}}
  • {{action_taken}}
  • {{agent_name}}
Full prompt and why it works
Prompt
Write a reply to {{customer_name}}, who says they were charged twice or charged the wrong amount, to send by {{channel}}. A customer who sees an unexpected charge is worried about their money first, so the reply has to say plainly what our records show, what we are doing about it and when they will see the result, so that they do not need to write back or call their bank.

The customer's message:
"""
{{customer_message}}
"""

What the billing system shows (charges, dates, amounts, refunds already issued, pending authorizations):
"""
{{billing_records}}
"""

Our billing and refund policy for this situation:
"""
{{billing_policy}}
"""

What I have already done or decided, if anything: {{action_taken}}

Structure the reply:
1. One sentence that acknowledges the concern in their terms, without repeating their whole message back.
2. What the records show, charge by charge, with the date and amount of each, in plain words. If one is a pending authorization rather than a completed charge, explain the difference in one sentence.
3. What we are doing: the refund, correction or explanation the policy allows, with the timing the policy states. For example: "The refund of [amount] was issued today and usually appears within [time from policy], depending on your bank." That example shows the form only.
4. What they need to do, if anything, as a short numbered list.
5. How to reach us if the amounts still do not match.

Keep it under 170 words, signed "{{agent_name}}". The tone should be calm and exact, like someone who has the account open and has checked every line.

Do not:
- Promise a refund, credit, fee waiver or timing that is not in the policy or in what I have already done.
- Blame the customer's bank or card provider, or suggest the customer misread their statement.
- Ask for a full card number, security code or password. To identify a charge, ask only for the last four digits of the card and the date.

If the records do not match what the customer describes, for example they report two charges and the system shows one, do not guess which is right. Say what our records show, ask for the date, amount and the name on their statement for the charge they mean, and add a first line "FOR THE AGENT: records do not match the customer's report; check before sending." If the policy does not cover this case, write [POLICY NEEDED: what to offer] where the offer would go.

Variables

{{customer_name}}
The customer's first name.
{{channel}}
How the reply will be sent, for example "email" or "live chat".
{{customer_message}}
The customer's message about the charge, pasted in full.
{{billing_records}}
What your billing system shows for this customer: each charge with date and amount, refunds issued, pending authorizations.
{{billing_policy}}
Your policy on duplicate charges, billing errors and refund timing.
{{action_taken}}
What you have already done, for example "refunded the second charge today". Write "nothing yet" if nothing.
{{agent_name}}
The name the reply is signed with.

Why it works

  • What to avoid. Refunds, credits and timings come only from the policy or from what you already did, because a promised refund that never arrives turns a billing question into a chargeback.
  • If unsure. When the records and the customer's report disagree, the reply says what the system shows, asks for the statement details and warns the agent before sending.
  • Format. Each charge is listed with its date and amount, and pending authorizations are explained, which answers the question most of these tickets are really asking.

How to use it

  1. Press Fill in variables and type your details into each blank. What you type stays in this browser.
  2. Copy the filled prompt into the AI tool you already use, such as ChatGPT, Claude or Gemini, or open it in the Grader or the Prompt Tester here.
  3. Before you rely on it, try it on three or four real examples. The Prompt Tester runs them all at once and shows which ones go wrong.
Use it from code

Get this prompt as JSON from the free REST API, with your own text in the blanks, or let an AI assistant fetch it through the MCP server. No key.

curl -s https://thinkhard.si/api/v1/prompts/charged-twice-reply

With the MCP server added to Claude, ChatGPT, Cursor or VS Code, call get_prompt with {"prompt": "charged-twice-reply"}, or just ask for it by name.