Agent Wranglers

ECM-39Recommended

Hold risky orders before the label is bought

Score each order on shipping signals as well as the payment risk score, and hold orders above a set score before a label is bought. Review each held order within one business day.

How to do it

The provider scores the card, as Screen risky payments before fulfilment describes. You know more about the parcel. Add points for a delivery address far from the billing country, a known parcel forwarder, and express shipping on a first order. Add points for resold goods such as electronics and gift cards, and several cards tried on one order. Feed the new-account score from Score every sign-up for risk. Store the signals with the score so a reviewer sees why. A held order keeps its stock reserved, as Reserve stock at checkout and release it on timeout describes, with an expiry that covers the review. Card testing is stopped earlier, by Stop card testing on your checkout.

Examples

TypeScript example

const SIGNAL_POINTS = { forwarderAddress: 40, countryMismatch: 25, expressOnFirstOrder: 15, resaleCategory: 15, cardsTried: 10 };
const HOLD_AT = 50;

export function shippingRisk(signals: Record<keyof typeof SIGNAL_POINTS, boolean>) {
  const score = Object.entries(signals).reduce((sum, [name, on]) => sum + (on ? SIGNAL_POINTS[name] : 0), 0);
  return { score, hold: score >= HOLD_AT, signals };
}

Python example

SIGNAL_POINTS = {"forwarder_address": 40, "country_mismatch": 25, "express_on_first_order": 15, "resale_category": 15, "cards_tried": 10}
HOLD_AT = 50

def shipping_risk(signals: dict[str, bool]) -> dict:
    score = sum(points for name, points in SIGNAL_POINTS.items() if signals.get(name))
    return {"score": score, "hold": score >= HOLD_AT, "signals": signals}

How to check

A test order with a forwarder address and a card from another country is held, and no label is bought for it. A daily query finds no held order older than one business day without a decision.

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/ecommerce/fraud-and-delivery-proof/order-fraud-signals">Agent Wranglers e-commerce and fulfilment playbook</a>. In code you write, add a comment next to it with the same link.