Workflow automation · eSIM.net

Fraud stopped
before it is paid

Stolen cards do not just cost a refund. They take a real SIM out of stock and leave a chargeback behind. So the decision is made before the money moves.

decided at checkout
The problem

A fraudulent eSIM order costs more than the sale

An eSIM is delivered in seconds, so by the time a chargeback arrives the product is gone. The SIM is out of stock, the carrier has been billed, and the fee is ours.

Card testing

Bots try thousands of stolen numbers against any checkout that will answer them.

Stock is consumed

Every fake order claims a real SIM identity that then has to be recovered by hand.

The fix: decide early

Block at the door, challenge what is uncertain, and sweep for anything that slipped through.

Automated fraud & security2 / 8
Step 1 · The foundation

Four checks, at four different moments

No single control catches everything, so each one is placed where it can still do something useful.

1 · On arrival

Every page inherits a network and country block check before it renders a thing.

2 · At payment

Stripe Radar scores the attempt and applies our own rules — block, challenge or allow.

3 · After payment

Scheduled sweeps look for payment patterns our own checkout could not have produced.

4 · On the line

Abused lines are barred and quarantined, and the number is held before it returns to stock.

Everything is written down. Radar's decisions are copied back into our own database and joined to the order, so “which rule stopped this customer, and what were they buying?” is a question with an answer.

Automated fraud & security3 / 8
Step 2 · The automated process

What happens to one payment attempt

1
Visitor arrivesIP and country checked
›
2
Card enteredPayment attempt created
›
3
Radar scores itOur rules run on Stripe
›
4
BlockNever reaches an order
›
5
Or challenge3-D Secure demanded
›
6
Or allowOrder and SIM proceed
›
7
Swept afterHourly checks on what paid

Refuse

A blocked attempt costs nothing: no order, no SIM taken, no carrier call, no chargeback.

Challenge

Where it is uncertain, the bank is asked to verify the cardholder instead of guessing.

Verify afterwards

Anything that paid is still checked, because a rule that has never seen a pattern cannot block it.

Automated fraud & security4 / 8
Step 3 · What the rules do

Most attempts pass. The rest are stopped or challenged.

Radar decisions — August 2026

Allowed10,756 Challenged1,753 Blocked1,428 Manual review14 one month of decisions, as mirrored into our own database

22 rules did the blocking

A small, tuned set — not a wall of rules nobody understands.

Challenge beats refuse

More attempts are sent to 3-D Secure than are blocked outright, so genuine customers keep a route through.

Joined to the order

Each decision is matched to the product, price, country and language of the attempt it stopped.

Automated fraud & security5 / 8
Step 4 · The sweep

The payment that should not exist

Our checkout creates payments one particular way. A charge that arrives by an older route was not made by our site — so an hourly job hunts for exactly that.

How the alarm behaves

● Looks back 24 hours, every hour
● Groups every suspect charge into one email, not one per charge
● CRITICAL if any of them actually succeeded
● WARNING if they all failed — card testing, no delivery risk
● Drops a charge once refunds cover it in full
● Re-alarms if a charge changes status, deliberately biased towards telling you twice rather than going quiet

● CRITICAL · UNEXPECTED PAYMENT ROUTE

To: alarms@esim.net

3 charges in the last 24 hours

Status: succeeded
Action: review the orders, refund if needed

And the refinement that mattered

Refusing every payment of this kind also refused long-standing customers on a saved card. It now only refuses when the customer and the card are both new — the pattern that actually signals fraud.

Automated fraud & security6 / 8
Step 5 · Where AI does the work

Investigating, not deciding

The blocking is rules. The AI layer is for the part that used to take an analyst an afternoon: working out whether a pattern is real, and acting on it once it is.

Find the pattern

getrelatedcustomers links accounts that share a card, a device or an address — one fraudster, many names.

Act on it

addradariprange and getblockedips add or review a whole address range on the block list.

Contain it

quarantineline bars an abused line and holds the number; releasefromquarantine returns it when cleared.

Cap the damage

getspendcaps surfaces lines running up cost before the bill does.

Deliberately not automated: no AI issues a refund or blocks a payment on its own judgement. It gathers, proposes and records — a person approves anything that touches a customer's money.

Automated fraud & security7 / 8
Tools & safeguards

The guards on the guards

Stripe Radar

Rules, decisions and 3-D Secure challenges.

Stripe reporting API

Pulls rules and decisions into our own database.

MCP tool server

Investigation and containment tools, all audited.

Scheduled sweeps

Hourly checks on payments that already succeeded.

What stops the controls going wrong

● Allow rules win — a trusted customer is not blocked by a broad rule

● Never label a customer a fraudster — refunds are never filed under a fraud reason, which would mark them permanently

● Alarm twice rather than never — suppression can repeat, but cannot silence

● Blocks are reversible — ranges and quarantines have a matching remove tool

● Every action is logged — tool, input, result, and who asked

Automated fraud & security8 / 8