Stop card testers before the charge goes through

Doorman scores each order from signals your checkout already has, such as payment attempts, card and IP country, account age, device velocity and shipping, and tells you to capture, review or cancel, with the signal that decided it.

Start free

Free for 1,000 checks a month. Paid plans from $12. No card required.

Example: Doorman screening checkout, each judged in under half a second and delivered or kept out with the reason.

Sound familiar?

Card testing costs you twice

Bots run hundreds of small charges to check stolen cards. You pay the fees, and your processor notices.

Stolen cards come back as chargebacks

Gift cards and prepaid credit ship instantly; the dispute arrives weeks later, with a fee.

Blocking whole countries loses real customers

Blunt rules turn away the travelling customer and the expat along with the fraudster.

Check the order before you capture it

  • From your server: call /v1/check with the order and the signals you have, before capturing payment or fulfilling.
  • Act on it: deliver → capture. hold → capture manually after a look. drop → cancel, with the reason on record.
  • Every call explained: e.g. “Orders from this device in the last hour: 9”, so your team can check it in seconds.
  • No card data: Doorman never sees card numbers: only the signals you choose to send. Works with any payment provider.

Read the docs

Before capture (Node)
const r = await doorman.check({
  kind: "checkout",
  email: order.email,
  order: { items: "5× Gift card $100", total_usd: 500 },
  signals: {
    card_country: "US", ip_country: "NG",
    attempts: 4, device_orders_last_hour: 1, account_age_days: 0,
  },
});
// r.action: "deliver" → capture · "hold" → review · "drop" → cancel

Checked, not guessed

Every decision comes from Doorman's models reading the submission, in milliseconds, with the reason attached.

16/16fraudulent orders dropped in our labelled checkout set
0genuine orders dropped; 19 of 25 captured straight through, 6 held for a look
~200 msto score an order, inline in your checkout

Labelled checkout set: invented orders to a fictional SaaS checkout (card testing, stolen-card patterns and genuine orders), judged live. Questions were not tuned to it. Store examples above are live verdicts on example orders.

Questions

Does Doorman see card numbers?

No. You send signals you already have, such as countries, attempt counts and account age. No card numbers or payment details are sent to Doorman.

Does this replace my payment provider's fraud tools?

It complements them. Your processor sees card-network data; Doorman reads your store's own signals and tells you why. Many stores will use both.

Is there a Shopify app?

Not yet. Today you call the API from your own checkout or order webhook, before capturing or fulfilling.

How much does it cost?

Free for 1,000 checks a month. Pro is $12 a month for 25,000 and Business is $49 a month for 250,000. Every plan gets the same models. See pricing.

Try it on your own checkout

Free for your first 1,000 checks every month. Start in watch mode and see every call before you trust it.