Chargeback evidence packs, built for you
When a dispute opens on your Stripe account, RefundRadar assembles the evidence Stripe scores for that specific dispute reason, renders the PDF, and files it through the Dispute API. Structured, reason specific evidence, on every dispute, without anyone remembering to do it.
It runs on your own server. Your Stripe keys never leave it.
Request a licenseWe answer every request.
How it works
-
A dispute opens
Stripe sends a
charge.dispute.createdevent to your RefundRadar instance. The signature is verified against your webhook secret before anything else happens, so a forged event goes nowhere. -
The pack is assembled
RefundRadar pulls the charge, customer, and payment context, then keeps only the fields Stripe actually weighs for that dispute reason. Irrelevant fields are dropped rather than padded in. Everything is rendered into one PDF exhibit.
-
It is filed, or staged for you
The pack is attached to the dispute through the Dispute API. By default it is staged, not submitted, so a person reviews it and clicks submit in the Stripe Dashboard. Turn auto submit on once you trust it on your own traffic.
What is in the pack
- Reason routed evidence. A distinct field set per dispute reason: fraudulent, product not received, product unacceptable, subscription canceled, unrecognized, duplicate, and credit not processed.
- Customer identity and purchase context. Name, email, billing address, and purchase IP where your charge data carries them.
- Delivery and access proof. Tracking number, carrier, shipping date and address, or an access activity log for anything digital.
- Policy disclosures. Refund and cancellation policy text, plus the refusal explanation where the reason calls for it.
- A written rebuttal. Generated from the charge facts, or replaced with your own wording.
- One PDF exhibit. Every field above laid out in a single document, uploaded to Stripe as dispute evidence.
- A guardrail. A thin packet, one missing the critical proof for its reason, is never auto submitted. Dispute submissions are one shot and cannot be amended.
Pricing
$89 one time license
- Self hosted: runs on your server, your Stripe keys stay with you
- Includes the n8n workflow template
- Full Node service source, tests included
- Docker image and one file deploy config
- No seat count, no per dispute fee, no subscription
We answer every request.
Questions
Where does it run?
On infrastructure you control. It ships as a small Node service with a Dockerfile and a Railway config, so a container host, a VPS, or your existing cluster all work. There is no hosted tier and no traffic routed through us.
What Stripe permissions does it need?
A Stripe secret key able to read charges, create files, and update disputes, plus
the signing secret for a webhook endpoint subscribed to
charge.dispute.created. Nothing else. Start in test mode with a
restricted key and confirm the packets look right before pointing it at live traffic.
Will it submit evidence without asking me?
Not unless you turn it on. Auto submit is opt in and off by default: packets are assembled and attached, then wait for a human to submit them in the Stripe Dashboard. Even with auto submit enabled, a packet that is missing the critical proof for its dispute reason is held back for review.
Does it guarantee I win disputes?
No, and anyone claiming otherwise is selling you something. Card networks decide disputes, not tooling. What RefundRadar does is make sure every dispute gets structured, reason specific evidence filed on time, instead of a rushed packet or none at all.
Is this legal advice?
No. RefundRadar is software for assembling and filing dispute evidence. It is not legal, financial, or accounting advice, and it does not replace counsel for your particular situation.
How do I get a license?
Email [email protected] and tell the team a little about your Stripe volume and stack. We answer every request.