dodoshield Start test
v0 experiment · for Dodo Payments sellers

Don’t let a $30 dispute end your Dodo account.

Dodo Shield watches every payment.succeeded, flags stolen cards, card-testers and sketchy emails — then alerts you or auto-refunds (your choice) before the bank files.

No code · test key stays in your browser · free while it’s an experiment

sample · not real data
buyer@mailinator.com · $49
disposable-email + 4 fails → success
ALERT
Email alert → auto-refund $49
under your $100 cap · one refund per payment
SENT
No bank filing · no $30 fee
you kept the account in good standing
AVOIDED 🎉
$30

per dispute on Dodo — including ones Visa RDR “resolves” for you. Source: Dodo docs, Sep 2026.

0.9%

Visa dispute-ratio tripwire. Cross it (or 100 disputes/mo) and fines scale toward $50k+/mo.

$1

per manual refund, within 30 days. A $1 refund before filing beats a $30 fee after it.

The flow

Suspicious in. Dispute never out.

Three moves, seconds apart. You choose per rule whether step two is a tap-to-refund alert or a capped auto-refund.

1 · Payment with suspicious email

buyer@mailinator.com pays $49 after 4 failed attempts. The disposable-domain + card-test rules trip on payment.succeeded.

2 · Alert + your refund choice

Email lands instantly. Alert-only? One click opens the Dodo payment. Auto-refund ON and under your cap? POST /refunds fires itself.

3 · Dispute avoided 🎉

No bank filing, no $30 fee, no ratio hit. The ledger logs rule, amount and receipt — proof you acted first.

Honest limits: RDR auto-saves still cost $30 · refunds only within 30 days and need available balance · Dodo owns the network case as Merchant of Record, you own evidence within 10 days. This tool wins before filing — nothing can un-file a dispute.
Why it matters

Your first dispute can bench you.

New Dodo sellers feel this the worst: two bad payments in your first fifty orders is already a 4% ratio — four times the tripwire. Sellers on Stripe learned this with lifetime bans; Dodo sellers have woken up to suspension banners and platform-wide auto-refunds with no warning. One card-tester at 3 a.m. is all it takes.

What a card-tester does at night

01:12 · $9 fails → 01:13 · $9 fails → 01:14 · $129 succeeds with a throwaway email. Without rules, that $129 becomes your most expensive order ever: product gone, $30 fee, ratio dented. With rules, it’s a $1 refund and a log line.

How it works

Three steps, five minutes.

No code. No dashboard spelunking. Pattern borrowed from the best in the space, rebuilt for Dodo.

Connect test

Paste a Dodo test key, copy one webhook URL, tick payment.*, dispute.*, refund.*. Green badge, done.

Arm 4 rules

Disposable email, velocity, failed→succeeded, first-payment high-ticket. Thresholds editable, saved instantly.

Choose refund mode

Alert-only default, or opt-in capped auto-refund per rule. Over-cap and edge cases always fall back to manual.

Live demo

Break it here, not on real money.

The rule engine below runs entirely in your browser. Try the throwaway email, then flip on auto-refund and watch the outcome change.

Rules

Refund mode (your choice)
Default is alert-only. Opt in per rule and capped payments refund themselves.

Guardrails: test key first · any opted-in rule fires · one refund per payment · 30-day + balance checks · full log. Demo simulates.

Stored in localStorage only. Switch them all off and we’ll warn you.

Test payment

Simulator only — nothing touches Dodo. Real wiring is documented below.

Prevented-feed ledger

Quiet. Run a test above and this ledger fills.

Connect

Test mode in a minute.

Webhook URL — paste in Dodo Dashboard → Developer → Webhooks → Add endpoint:

https://dodo-shield-api.aqeelbrh65.workers.dev/webhooks/dodo

Subscribe to payment.succeeded, payment.failed, dispute.opened, dispute.won, dispute.lost, refund.succeeded · receiver verifies webhook-id / signature / timestamp, dedupes by webhook-id, then runs your rules. Backend status: live, alert-first (auto-refund server-disabled until enabled). After creating the endpoint, copy its signing secret into the receiver to activate.

Subscribe to payment.succeeded, payment.failed, dispute.opened, dispute.won, dispute.lost, refund.succeeded · verified via webhook-id / signature / timestamp (Standard Webhooks).

POST /refunds   ← fires only for opted-in rules under your cap
{ "payment_id": "pay_...", "reason": "shield: disposable-email + velocity" }
Pricing

Cheaper than one dispute.

Experiment pricing, stated plainly. No charge in v0 — these are the hypotheses we’ll test next.

Test drive
$0
  • All 4 rules, unlimited test payments
  • Alert-only + simulated auto-refund
  • Ledger + honest docs
Start free
Solo · planned
$19
  • 2,000 protected payments / mo
  • Live alerts + capped auto-refund
  • Saved-fee report each month
Join the test list
Studio · planned
$49
  • 10,000 protected payments / mo
  • All rules + multi-product feed
  • Priority rule tuning help
Join the test list

One prevented dispute ($30 fee + ratio hit) pays for months. “Planned” means hypothesis — we measure willingness with a real pay button before charging anyone.

FAQ

Asked, answered.

Does this replace Dodo’s fraud protection or RDR?

No — it sits in front. Dodo screens velocity, geography and failed attempts, and RDR auto-resolves Visa disputes under $100. We add seller-visible rules and act before the bank files. Note RDR resolutions still bill the $30 fee.

Alert-only or auto-refund?

Your call, per rule. Default is alert-only with a one-click path into Dodo. Enable auto-refund with a max-amount cap and qualifying hits refund themselves; over-cap and edge cases always stay manual. Live firing needs the Phase-12 backend that holds your key — the demo simulates.

Can it still miss a dispute?

Yes. Friendly fraud (“forgotten subscription”) looks identical to a happy customer until the bank letter arrives. Nothing prevents 100% — the goal is catching the cheap, obvious ones first.

What data do you keep?

In v0: nothing server-side. Rules, settings and the test ledger live in your browser’s localStorage. No invented testimonials, no invented user counts — the proof here is the demo you just ran.

Why Dodo-first instead of Stripe?

Stripe already has ByeDispute, Radar and a crowded shelf. Nobody builds the pre-dispute rule layer for Dodo’s indie sellers — the fastest-growing, least-served corner.

Sleep through your next launch night.

Arm four rules in five minutes. The next card-tester meets a $1 refund, not a $30 dispute and a suspension banner.

Protect my first payment