Chargebacks & fraud15 min readUpdated October 14, 2026

Ecommerce Fraud Prevention: Stop Fraud Before You Ship

Stop fraudulent orders before they ship: card testing, stolen cards, account takeover, risk scores, 3-D Secure, AVS, CVC, velocity rules and manual review.

Article summary

TL;DR

Ecommerce fraud prevention means stopping payments the cardholder never authorized before you ship anything. It works in layers: bot and login controls before checkout, a risk score with AVS, CVC and 3-D Secure at payment, manual review and delayed capture on doubtful orders, then fast refunds when fraud slips through. No single check is enough.

  • Most online fraud runs on stolen card details. A payment the issuer approves can still be fraud.
  • Stripe Radar scores each payment from 0 to 99. By default, 65 and above is elevated risk and 75 and above is high risk, which is blocked.
  • 3-D Secure usually moves fraud liability to the issuer, but Stripe says it's never guaranteed, and early fraud warnings still count against you.
  • Card testing costs you even when nothing ships. Visa monitors merchants that reach both 300,000 enumerated transactions and 20% of authorizations in a month.
  • On a doubtful order, authorize now and capture later (up to 7 days at Stripe), and hold physical shipments 24 to 48 hours.
Want to go further? AskChatGPTClaudePerplexityGrok
On this page

Fraud prevention isn't about catching every fraudster. It's about deciding, order by order, how much proof you need before you ship, and asking for it only when the risk calls for it. Here are the fraud types to plan for, the signals that give them away, and the checks that stop them, from the first visit to the last refund. For supplement and skincare brands: fraud and 3D Secure for supplement brands and fraud and 3D Secure for skincare brands.

This guide is about stopping fraudulent orders and payments. Disputes from real customers, chargeback alerts and Compelling Evidence 3.0 are covered in our guide to preventing chargebacks.

Types of ecommerce fraud

A payment is fraudulent when the cardholder didn't authorize it, and most fraudulent online payments use stolen cards or card numbers.3Stripe Docs, Common types of online fraud The rest of the list is about who uses those cards and how.

Fraud typeHow it shows upFirst defense
Stolen cardA normal-looking order, paid with someone else's card. The issuer approves it because the theft isn't reported yetRisk score, AVS and CVC, 3-D Secure
Card testingBursts of small payments or card saves, mostly declined, with odd names and emailsCAPTCHA, rate limits, velocity rules
Account takeoverA real customer account logs in from a new device, changes the address, then ordersLogin checks, MFA, review of address changes
Friendly fraudThe real cardholder buys, then disputes the chargeClear descriptor and terms, delivery proof (see chargeback prevention)
Refund abuseOverpayment followed by a request to refund the difference another wayRefund only to the original card
Triangulation and reshippingGoods paid with a stolen card, shipped to a third party or a freight forwarderShipping checks, delayed shipment
Promo and account abuseMany new accounts claiming the same first-order discountVelocity limits per device, email and card

Approved doesn't mean authorized

If the cardholder hasn't noticed the theft yet, a stolen card goes through like any other. Even if a payment isn't declined, that doesn't mean the cardholder authorized it.3Stripe Docs, Common types of online fraud

Two schemes catch merchants who think they're being helpful. In overpayment fraud, the buyer pays extra with a stolen card and asks you to pay their "freight company" with the difference; the shipper doesn't exist, and the cardholder's dispute takes the whole amount back. In the alternative refund scam, the buyer overpays, then asks for the excess by check or wire because the card is "closed". Stripe's rule: never refund with a different method than the one used to pay.3Stripe Docs, Common types of online fraud

Warning signs of a fraudulent order

No single signal proves fraud. Several at once, on the same order, usually do.2Stripe Docs, Identifying potential fraud

  1. Many declined attempts, each with a different card, then one successSomeone found a card that worksTreat the successful payment as high risk, review before shipping
  2. Several cards, one shipping addressOne person cycling through stolen cardsBlock or review, check the address on a map
  3. Shipping address changed after the orderA clean address got the payment through, the real one comes laterHold the order and verify with the customer
  4. Overnight shipping on a first order of your priciest itemsThe buyer wants the goods before the card is reportedReview, delay shipment
  5. Card country, IP country and shipping country all differHigher risk, though travelers and gifts existReview, ask for 3-D Secure
  6. Gibberish email, fake phone, scripted messagesFalse identitySearch the message text, contact the customer
  7. Shipping and billing addresses differ, nothing else oddOften a giftFulfill, keep the AVS result on file

Stripe adds a few that are easy to miss: requests to split a large order across cards with different billing details, requests to process a card manually so it runs from your IP, and shipping to a freight forwarder.2Stripe Docs, Identifying potential fraud Shopify's fraud analysis shows the same kind of indicators on each order (AVS and CVV results, whether the customer's location matches the card, unusual device or network activity, more than one card tried) and rolls them into a low, medium or high recommendation. Shopify warns that the indicators alone don't give the order's overall risk.13Shopify Help Center, Fraud analysis

The layers of a fraud prevention stack

Each check sees a different moment of the order. Stack them so that what one misses, the next one catches.

Fig. 1Where each check acts

  1. Before checkoutCAPTCHA, login, rate limits on card and account creation
  2. At paymentRisk score, AVS and CVC, rules, 3-D Secure if risky
  3. After authorizationReview queue, capture later
  4. Before shippingAddress checks, 24 to 48 hour delay on doubtful orders
  5. After the saleEarly fraud warnings, refund as fraud, block lists

one order, five chances to stop it

Order of checks for a card payment on an online store. Source: Stripe Docs, fraud prevention and Radar documentation.

The payment layer does most of the work, but it depends on what you send it. Stripe's card testing models and Radar improve with every field your checkout passes along: device data from its fraud detection script, IP address, email, name and billing address.4Stripe Docs, Protect yourself from card testing A billing postal code isn't always needed to take a card payment, but without it the issuer can't verify it, and a dispute is harder to win.1Stripe Docs, Best practices for preventing fraud

How risk scoring works

A risk score turns hundreds of signals into one number your rules can act on. In Stripe Radar, the model looks at hundreds of risk factors on each payment, plus data from across Stripe's network, and learns from the payments you mark as fraudulent.5Stripe Docs, Transaction risk prevention (Radar risk evaluation)

Radar scoreRisk levelDefault actionWhat you can add
75 to 99HighBlockedAllow-list a customer you know is legitimate
65 to 74ElevatedAllowed; sent to review on plans with manual reviewRequest 3-D Secure, or block above an amount
0 to 64NormalAllowedRules for your own patterns (amount, country, prepaid cards)

The thresholds are Stripe's defaults; other tools use their own scales. Shopify, for example, gives a low, medium or high recommendation instead of a number.13Shopify Help Center, Fraud analysis

Rules on top of the score

Rules let you encode what you know about your business: a product fraudsters target, a country you don't ship to, a card type that keeps getting disputed. Radar runs them in a fixed order: requests for 3-D Secure first, then allow, then block, then review. The first match wins, so an allow rule overrides every block rule and the default model.7Stripe Docs, Radar rules reference

Where rules help

  • A pattern you've seen in your own disputes: a SKU, an amount, a card type
  • Hard limits: countries you don't serve, prepaid cards above an amount
  • Velocity: too many cards per customer, too many customers per IP
  • 3-D Secure only where the risk is: new cards, high amounts, elevated score

Where they hurt

  • A broad block like "card country isn't US" stops good customers too
  • Allow rules bypass the model, including on high-risk payments
  • A review rule that's too wide floods your team and slows customers down
  • Rules don't learn: fraudsters adapt, the rule stays the same

Practical rule

Start every new rule as a review rule, not a block. Stripe tests a rule against your last 6 months of payments, and lets you roll it out to a share of traffic, or to 0% to see what it would have done without acting.6Stripe Docs, Fraud prevention rules Add and :risk_level: != 'highest' to any allow rule so high-risk payments stay blocked.

Two details matter for subscription brands. Radar's models score only the first payment of a Stripe Billing subscription, though your rules still run on every renewal.5Stripe Docs, Transaction risk prevention (Radar risk evaluation) And in the EU, the Geo-blocking Regulation limits blocking customers based in other member states, so check before you write country rules.6Stripe Docs, Fraud prevention rules

AVS, CVC and 3-D Secure: what each check proves

All three are run by the card issuer, not by you. They answer different questions.8Stripe Docs, Card verification checks

CheckWhat the issuer verifiesWhat it stopsLimits
CVCThe 3 or 4 digit code on the cardCard numbers stolen in a data breach, since merchants can't store the CVCNothing if the physical card or the full details were stolen; not sent with Apple Pay or off-session payments
AVSThe postal code and street address match the issuer's recordsBuyers who don't know the cardholder's addressFails for real customers who moved or made a typo; street checks mainly on US, Canadian and UK cards
3-D SecureThe cardholder, through the issuer's app, a code or biometrics, when the issuer asksMost stolen card use, and usually liability for fraud disputesAdds a step; not available for every card or wallet

A payment can be approved even when the CVC or postal code check fails: the issuer weighs other factors.6Stripe Docs, Fraud prevention rules That's why Radar lets you block payments that fail those checks, unless its model rates them low risk, and leaves alone payments where the check couldn't be done.6Stripe Docs, Fraud prevention rules A strict "must pass" rule would also block wallet payments, which don't send a CVC.7Stripe Docs, Radar rules reference

3-D Secure and liability shift

EMV 3-D Secure exists to help issuers and merchants prevent card-not-present fraud. Most transactions go through without the customer doing anything; on higher-risk ones the issuer can ask for a one-time code, a question or biometrics.10EMVCo, EMV 3-D Secure In Europe, Strong Customer Authentication makes it mandatory unless an exemption applies, and Stripe triggers it automatically.9Stripe Docs, Authenticate with 3D Secure (disputes and liability shift)

Successful 3DS authentication doesn't guarantee liability shift. You can expect liability shift for successfully authenticated payments that later receive eligible fraud disputes, but it isn't guaranteed for any specific payment or dispute.

Stripe Docs, Authenticate with 3D Secure

Three limits to plan around, from the same page:9Stripe Docs, Authenticate with 3D Secure (disputes and liability shift)

  • Early fraud warnings still arrive on authenticated payments, and they count in card network monitoring programs.
  • Only fraud is covered. A "product not received" dispute follows the normal process.
  • The shift can be lost. A merchant enrolled in a fraud monitoring program can lose it, and an unanswered inquiry on a 3-D Secure payment can turn into a chargeback that voids it.

Asking for 3-D Secure on every payment costs conversion, so ask where the risk is: a new card, an elevated score, a high amount. Stripe's own example rule requests it when the risk level isn't normal and the amount is above 25 USD.6Stripe Docs, Fraud prevention rules More on liability shift in our glossary.

Card testing and velocity rules

Card testing is someone checking which stolen card numbers still work. Scripts run large batches of card saves or small payments through your checkout and keep the cards that pass, to use elsewhere or resell.4Stripe Docs, Protect yourself from card testing Nothing ships, but you still pay for it.

  1. Disputes

    Some test payments succeed. Cardholders spot them and report fraud: early fraud warnings, then disputes and their fees.

  2. More declines for real customers

    A flood of declines tied to your store makes issuers see all your payments as riskier, even after the attack stops.

  3. Fees and noise

    Authorization fees on some pricing plans, load on your servers, and fake "new customers" in your numbers.

The card networks watch it too. Visa's VAMP places a merchant in enumeration monitoring when it reaches both thresholds in a month: 300,000 enumerated transactions, approved and declined, and an enumeration ratio of 20% of authorization attempts.11Visa, Visa Acquirer Monitoring Program fact sheet, 2025 Stripe notes that Visa doesn't fine merchants for enumeration, but the monitoring itself puts your account under watch.

How to stop card testing

Stripe is blunt about it: a filter on a single signal, like IP addresses, is usually not enough, because testers use many techniques at once.4Stripe Docs, Protect yourself from card testing

  1. Spot it. A spike in failed or blocked payments, in declined requests, or in small payments with nonsensical names and emails.
  2. Refund what got through. Test payments that succeeded will turn into fraud reports. Refund them before they do.
  3. Put a CAPTCHA on every endpoint that saves a card or takes a payment, checked on the server side. Stripe's own Checkout and Payment Element include one.
  4. Make the payment form harder to reach. Require a login or a session before payment instead of an open guest form.
  5. Rate-limit. For example, cap how many customers one IP address can create in a day, or how many cards one account can add.
  6. Add velocity rules on cards, emails and IPs over an hour or a day.
  7. Retry carefully. Don't keep retrying cards saved during an attack: that repeats it. Aggressive renewal retries with low success can look like card testing too.

Source: Stripe Docs, Protect yourself from card testing. On a plugin or hosted platform, most of these need your developer or vendor.

Velocity rules count earlier attempts over a window. In Radar they're attributes like total_charges_per_customer_hourly or total_charges_per_email_daily, with windows from hourly to all-time; the count excludes the payment being checked.7Stripe Docs, Radar rules reference Keep your secret API key private as well: testers who get it can create payments directly.4Stripe Docs, Protect yourself from card testing

Inside Tagada

See every payment's route, processor by processor

Set the order your processors are tried in, per store, per country or per product.

See how routing works

Manual review: what to check before you ship

Review is for the gray zone: orders your score and rules flag but don't block. In Stripe, a payment in review is still charged unless you capture separately, so the review has to happen before fulfillment.1Stripe Docs, Best practices for preventing fraud

Fig. 2An order worth a second look

Order · Alex MorganFirst order, $1,240, three units of the same item
Risk level
Elevated
CVC check
Pass
Postal code check
Fail
Card country / IP country
US / Netherlands
Shipping
Overnight, to a freight forwarder
Earlier attempts
2 declined cards in 10 minutes

Illustrative record.

no single field proves fraud

Illustrative example, built from the review checks Stripe recommends.
  1. Compare the addresses. Does billing match shipping? Did AVS pass, and does the billing address match the card's country?
  2. Check the identity. Does the email look like the cardholder's name? Are there other orders with the same email and a different name?
  3. Look at the attempts. Several cards from the same IP, or declined attempts before this one?
  4. Look up the address. On a map: a storage unit or a mail-forwarding service is a common drop for stolen goods.
  5. Contact the customer by phone or email when you're unsure. Refund if they can't confirm.

Source: Stripe Docs, Best practices for preventing fraud and Identifying potential fraud.

Two tools buy you time for this. Authorize now and capture later: at Stripe you can capture up to 7 days after authorization, and an uncaptured authorization can't be disputed. See our guide to pre-authorization holds. And hold physical shipments 24 to 48 hours on doubtful orders: the cardholder may report the fraud first, and you keep the goods.1Stripe Docs, Best practices for preventing fraud

Price the overnight option high

Stripe's suggestion: offer overnight or same-day shipping at a price far above your other options. A fraudster paying with someone else's card doesn't care what it costs. Review every order that picks it.1Stripe Docs, Best practices for preventing fraud

Account takeover and refund abuse

Some fraud doesn't need a stolen card. It uses a real account, or your own refund process.

  1. Protect the login

    Watch for repeated failed logins, logins from a new device or location, and password or address changes right before an order. Offer multi-factor authentication on accounts that store cards.

  2. Re-check saved cards

    A taken-over account pays with a card that's already on file. Ask for 3-D Secure or the CVC again when the address changes or a new device places a large order.

  3. Refund to the original card only

    A card can be refunded even after it's closed: the customer gets the money back through their bank. Never send a refund by check, wire or another card.3Stripe Docs, Common types of online fraud

  4. Cap first-order promos

    Limit welcome discounts per device, card and address, not only per email. New accounts are free; cards and addresses aren't.

When fraud gets through: refund, report, respond

Some fraud will get past every layer. What you do next decides whether it also becomes a dispute.

An early fraud warning is the card issuer telling you a payment was reported as fraud. Stripe found that about 40% of Visa and Mastercard warnings turn into disputes when you don't refund, and that refunding pays off on charges up to about the dispute fee.12Stripe Docs, How disputes work (early fraud warnings) If you're sure an order is fraud, refund it: a full refund can't be disputed, while a partial one can, for the full amount.1Stripe Docs, Best practices for preventing fraud The exception is a payment covered by 3-D Secure, where the issuer usually takes the loss.

Refund as fraud, not just refund

In Stripe, refund with the reason "fraudulent". It tells Radar the payment was fraud, and adds the card and email to your default block lists, so the same buyer can't try again.5Stripe Docs, Transaction risk prevention (Radar risk evaluation)

When you're not sure, Stripe suggests refunding more readily when the order hasn't shipped yet, your dispute rate is already high, you're in a monitoring program, or you process fewer than about 100 payments a month, where one dispute moves your rate a lot.1Stripe Docs, Best practices for preventing fraud When a dispute does arrive, see chargeback vs refund for what you can still do, and our rebuttal letter template to answer it.

Fraud thresholds that put your account at risk

Fraud doesn't need to become a chargeback to count. Visa's monitoring ratio adds fraud reports (TC40) to disputes (TC15), divided by settled card-absent transactions.11Visa, Visa Acquirer Monitoring Program fact sheet, 2025

1.5%

Visa VAMP 'Excessive' merchant ratio in the US, Canada, EU and Asia-Pacific since April 1, 2026

1,500

Fraud reports plus disputes in a month before a merchant can be flagged in those regions

20%

Enumeration ratio threshold: card-testing attempts over all authorization attempts

300,000

Enumerated transactions threshold under VAMP

That's why a store with few chargebacks can still get flagged: fraud you refunded after an early fraud warning was still reported. Fraud reports covered by Compelling Evidence 3.0 and disputes resolved through pre-dispute services are left out.11Visa, Visa Acquirer Monitoring Program fact sheet, 2025 If your business already sits on a high-risk MCC, you have less room before a processor reacts.

How to measure your fraud prevention

Fraud loss is only half the score. Every good order you block is revenue lost too, and it doesn't show up in your dispute reports.

MetricHow to read itWhen to act
Fraud rateEarly fraud warnings and fraud disputes over paymentsRising: your rules miss a new pattern
Block ratePayments blocked by your rules and the modelRising while fraud stays flat: you're blocking good customers
Review rate and outcomeShare of orders reviewed, and how many end in a refundMost reviews approved: the rule is too broad. Most refunded: turn it into a block
3-D Secure completionAuthentications completed over requestedHigh completion and little fraud: the rule may only add friction
Authorization rateApproved over attempted paymentsFalling after card testing: issuers have hardened on your store

Stripe's own rule guidance follows the same logic: if blocks go up and fraud doesn't go down, the rule is blocking good customers; if a review rule mostly ends in refunds or disputes, make it a block.6Stripe Docs, Fraud prevention rules Radar also estimates the false positive rate of your block rules.6Stripe Docs, Fraud prevention rules

Fraud prevention with more than one processor

Many merchants route payments across several processors. Each processor's fraud model only sees the payments you send it, so the history that makes a risk score useful gets split.

Fig. 3One store, split fraud history

Your checkoutOrders, devices, addresses, refunds
  1. StripeScores only the payments routed to it
  2. Checkout.comIts own rules, its own block lists
  3. Your order dataThe only place that sees every attempt

each model sees a slice

Illustrative example.

Two practical effects. Block lists don't travel: a card you blocked on one processor can still pay on another. And evidence tied to one processor's history stays there: for Visa Compelling Evidence 3.0, Stripe can't check eligibility or submit evidence for payments processed elsewhere.1Stripe Docs, Best practices for preventing fraud Keep your own record of every attempt, device and refund at the checkout level, apply your velocity limits and block lists there, and use each processor's tools on top. Some tools also separate the checks: Stripe, for example, can run 3-D Secure on a payment that another provider processes.9Stripe Docs, Authenticate with 3D Secure (disputes and liability shift) For how routing works, see what payment orchestration is.

How Tagada helps

Payments that follow the card network rules

Tagada follows Visa and Mastercard rules and the laws that apply to payments. TagadaPay runs native 3DS2, device intelligence and a rules engine, and payments route across Stripe, Adyen and TagadaPay with one logic. See pricing for plans.

Nick Bonnassies

CMO at Tagada

CMO at Tagada. Before Tagada, Nick built direct-to-consumer brands that generated over $115M in sales, raised over $25M in crowdfunding and sold two of them. He also works as a fractional CMO on marketing operations and AI systems.

Frequently asked questions

What is ecommerce fraud prevention?

It's the set of checks that stop payments the cardholder didn't authorize, and orders placed to abuse your store, before you lose the goods. It covers bot and login controls, a risk score on each payment, card checks like AVS, CVC and 3-D Secure, manual review of doubtful orders, and refunding fraud quickly when it gets through.

What are the most common types of ecommerce fraud?

Stolen card payments come first: most fraudulent online payments use stolen cards or card numbers, according to Stripe. Around them: card testing, where bots check which stolen cards still work; account takeover; friendly fraud, where the real cardholder disputes a purchase; refund and promo abuse; and triangulation or reshipping schemes that hide who receives the goods.

How does risk scoring work in fraud prevention?

A model scores each payment from the card, device, location, amount and history, then your rules act on the score. In Stripe Radar, scores run from 0 to 99. By default, 65 and above is elevated risk, sent to review on plans that support it, and 75 and above is high risk, which Radar blocks.

Does 3-D Secure stop fraud?

It makes stolen cards harder to use, because the issuer can ask the cardholder to authenticate. When a payment is authenticated, liability for most fraud disputes usually moves to the issuer. Stripe says that shift is never guaranteed, early fraud warnings still arrive, and disputes about delivery or quality aren't covered.

How do I stop card testing on my store?

Look for a spike in declined payments, often small amounts with odd names and emails. Then add a CAPTCHA on every endpoint that saves a card or takes a payment, require a login or session before payment, rate-limit by IP, set velocity rules, and refund any test payments that went through. A single IP block rarely works.

Should I refund an order I think is fraud?

If you're sure, yes, unless 3-D Secure covers it: you save the dispute fee and keep it off your dispute rate. If you're unsure, Stripe suggests refunding more readily when the order hasn't shipped, your dispute rate is already high, or your volume is small. A full refund can't be disputed; a partial one can.

Sources

Checked October 14, 2026
  1. Stripe Docs, Best practices for preventing fraud
  2. Stripe Docs, Identifying potential fraud
  3. Stripe Docs, Common types of online fraud
  4. Stripe Docs, Protect yourself from card testing
  5. Stripe Docs, Transaction risk prevention (Radar risk evaluation)
  6. Stripe Docs, Fraud prevention rules
  7. Stripe Docs, Radar rules reference
  8. Stripe Docs, Card verification checks
  9. Stripe Docs, Authenticate with 3D Secure (disputes and liability shift)
  10. EMVCo, EMV 3-D Secure
  11. Visa, Visa Acquirer Monitoring Program fact sheet, 2025
  12. Stripe Docs, How disputes work (early fraud warnings)
  13. Shopify Help Center, Fraud analysis

TagadaPay

Tightening fraud rules? Keep a second processor ready

Tell us what you sell and how you sell it. Each application is underwritten, and approval is not guaranteed.

  1. 01Tell us what you sell and how
  2. 02Underwriting reviews your business
  3. 03Process through TagadaPay alongside your other processors