Skip to content

WooCommerce · Stripe

Your store and Stripe keep two copies of the truth. Nothing checks they still agree.

Driftproof is a WooCommerce plugin that scans your Stripe account against your orders and tells you what disagrees — with the money beside it. Orders Stripe was paid for that still say unpaid. Authorizations about to lapse. Charges taken twice. Subscriptions that will fail their next renewal.

Free plan, no card No API keys to paste Scanning never changes anything
The Driftproof findings screen: AUD 6,955.25 at stake across twenty-two findings, grouped into severity buckets, each expanding to its evidence

Real output from a live test account, not a mock-up.

The arithmetic

What one of these costs, once

Priced at a $75 average order, because that is the only input this needs. Each of these is one instance of one check — not a projection, not an industry average.

One hold that lapsed

$75gone

The card was authorized and the capture never happened. After about seven days the hold expires and the money cannot be recovered — not by you, not by Stripe, not by asking the customer. Nothing else in your stack tells you the window is closing.

S1

One charge taken twice

$150taken

A redirect racing a webhook, or a renewal retried after a timeout. If you find it, you refund $75 and apologise. If the customer finds it first it arrives as a chargeback instead — the amount, your gateway's dispute fee, and a deadline.

S1

One subscription that stopped

$174and counting

A $29 plan whose renewal date sits in the past with nothing scheduled. It does not fail, alert, or churn — it just stops earning, and the customer keeps the access. Six months before anyone notices is normal, because nothing is looking.

S2

Nobody can tell you how many of these your store has. Not us, and not a vendor quoting an industry average — no such figure is published for a dropped webhook or a lapsed hold, and one invented for a sales page would be worth nothing. The scan is free, reads only, and prices every finding it makes. Solo is $190 a year; three lapsed holds, or one subscription that quietly stopped, is the whole licence.

Scan your store free

How it works

Most of what goes wrong here is silent

Nothing errors. No order turns red. The webhook returned 200 and the money is somewhere it should not be — and you find out from a customer, a chargeback, or a month-end that will not reconcile.

Today

  1. A webhook is missed, retried, or matched to nothing.
  2. WooCommerce and Stripe quietly stop agreeing.
  3. Nothing in WordPress ever compares them.
  4. You find out weeks later, from someone who is annoyed.

With Driftproof

  1. It lists every relevant Stripe record for the window — about ten requests.
  2. It joins them against your orders and subscriptions in memory.
  3. Twelve checks run. Anything that cannot run says so.
  4. You get a list, worst first, with the money beside each line.
12checks, free forever
836automated tests
~10API calls per scan
0copies of your data

The checks

All twelve, on every plan including free

Each one comes from a failure documented in the WooCommerce field notes — a real symptom, with a real cause, that a real store hit. Every finding links back to the note that explains it.

Money on the table

S1
Authorization about to lapse
A hold expires after about seven days and the money cannot be recovered. Nothing else warns you.
S1
Paid at Stripe, unpaid here
The webhook returned 200 and the order never moved.
S1
Charged twice for one order
A redirect racing a webhook, a retried renewal, a migrated server.
S1
Dispute not recorded
A chargeback with a deadline, on an order that still reads as a completed sale.
S1
Charged a different amount
Including the 100× case, where a zero-decimal currency is handled as if it had decimals.
S2
Refunded there, not here
Your reports, totals and tax figures are all overstated until it is recorded.

Subscriptions — the half nothing else covers

S1
No saved card
Active, renewing, and nothing to charge. It fails at the renewal and you hear about it from a churned customer.
S1
Card detached at Stripe
The id is saved; Stripe no longer holds that card for that customer.
S1
Out of step with Stripe
Cancelled at Stripe while you keep fulfilling — or cancelled here while Stripe keeps charging.
S2
Renewal overdue, nothing scheduled
The quietest failure of all. The date sits in the past forever and the subscription silently stops earning.

Configuration and identity

S1
Test and live keys mixed up
A live store holding a test key rejects every real payment. The reverse charges real cards for orders you think are simulated.
S2
Customer no longer exists
A subscription linked to a Stripe customer that was deleted, merged, or lost in a migration.

Run all twelve, free Nothing to paste, nothing changed, no card.

Read first

The drift guide

Thirteen pages on all twelve checks and what each one costs when it goes unnoticed, why a check that could not run is never reported as a pass, and how repair works — dry run first, money last, everything logged. The screenshot in it is a real scan of a live test account, not a mock-up.

Download the PDF

13 pages · Letter · 338 KB · no email required

The guide open at its cover and at the findings screen, showing eleven findings and the money at stake

What makes it trustworthy

A scanner you can believe is worth more than one that finds everything

Every finding is priced

Not a severity badge and a shrug. The amount at stake, in your currency, on every line — and a total you can act on rather than a score you have to interpret.

It tells you what it could not check

A check that could not read the data it needs is not evidence your store is clean. Every scan says how many ran, how many could not, and why — because reporting a pass it did not earn is the one thing this plugin must never do.

Nothing to paste

It reads the credentials your Stripe gateway already holds and proves they work before claiming detection. Rotate your key and it follows, because no second copy is stored.

Dry run is the default

Everywhere. The plan it prints is exactly what running it would do.

Money moves last

Capturing and refunding are confirmed separately, never bulk, never on a schedule.

A record of everything

Every repair logged with what changed and who ran it — including the ones it declined.

Compare

Why not the tools you already have

How Driftproof compares to checking by hand and to abandoned-order recovery plugins
  By hand Order-status plugins Driftproof
Asks Stripe what actually happenedIf you go lookingNo — reads your own order statusEvery check
Finds an order paid at Stripe but unpaid hereOne at a timeEmails the customer to pay againYes
Warns before an authorization lapsesNoNoYes
Audits for duplicate charges after the factNot realisticallyNoYes
Checks subscriptions before the renewal failsNoNoFour checks
Tells you what it could not check—NoAlways
Repairs it, with a dry run firstBy hand, per orderNoYes
Your data leaves the site—DependsNever
  • Free forever, no card. All twelve checks, every scan, every finding priced.
  • 14 days on any paid plan. No card to begin, and nothing charged if you stop.
  • Scanning never changes anything. It reads. A restricted, read-only Stripe key is enough.
  • Repair is never automatic. You choose each one. Dry run first, money last, every action logged.

Pricing

Finding it is free. Fixing it is not.

All twelve checks, every scan, every finding priced — on the free plan, forever. What you pay for is Driftproof doing something about them.

Free

$0

  • All twelve checks
  • Every finding priced
  • Scan by hand, any time
  • Read-only, always
  • Accepts a restricted Stripe key
  • WP-CLI included

Solo

$1916/mo

  • One site
  • Repair what it finds
  • Full repair audit trail
  • Daily scans
  • Email when something is new
  • Export it all as CSV
Most stores

Store

$4941/mo

  • Five sites
  • Everything in Solo

Agency

$9983/mo

  • Unlimited sites
  • Everything in Solo
  • For agencies and hosts

Every paid tier has the same features; what changes is how many sites the licence covers. Annual billing is ten months for twelve. Every paid plan starts with a 14-day trial and takes no card to begin.

Questions

The ones worth asking first

Do I need to paste Stripe API keys?

No. Driftproof reads the credentials your existing WooCommerce Stripe gateway already stores, and proves they work against Stripe before claiming anything. If you would rather narrow its access, you can supply a Stripe restricted key instead — it will tell you up front which repairs that rules out, rather than failing halfway through one.

Will it change anything on my store?

Not unless you ask it to, twice. Scanning is read-only and free forever. Repairs are a paid feature, a dry run is the default everywhere, and anything that emails a customer or moves money is confirmed separately from the harmless fixes. Nothing irreversible ever runs on a schedule.

What happens if a check cannot run?

It says so, on the screen, next to the findings. A check that could not read the data it needs is not evidence your store is clean, and reporting it as a pass is the one thing this plugin must never do. Every scan tells you how many checks ran and how many could not, with the reason for each.

Does it work with WooPayments?

It detects WooPayments and then tells you plainly that it cannot scan it. WooPayments never exposes Stripe API access, so there is nothing for Driftproof to compare your orders against. Saying so is more useful than quietly reporting no findings for that account.

How much does a scan cost me in API calls?

About ten requests for a thousand-order month. Driftproof lists each Stripe resource once across the window and joins it against your orders in memory, rather than looking up each order individually — which is what makes it usable on a store with tens of thousands of orders rather than only on a small one.

Does it work with WooCommerce Subscriptions?

Yes, and that is the half nothing else covers. Four checks look at subscriptions whose saved card Stripe no longer holds, that have no customer recorded at all, that Stripe has cancelled while WooCommerce keeps billing, and whose renewal date has passed with nothing scheduled to run it. If WooCommerce Subscriptions is not installed, those four decline rather than reporting your store clean.

Is my payment data sent anywhere?

No. Driftproof runs entirely inside your WordPress installation and talks only to Stripe. There is no third-party service in the path, and no copy of your credentials is stored — the key is read from your gateway at the moment it is needed, so rotating it takes effect immediately.

Find out what your store is not telling you

Every one of these twelve is already either happening or not, and today you have no way to tell which. The first scan on a store with any history behind it usually finds something; it takes a few minutes, changes nothing, and costs nothing. The worst outcome is a clean bill.