Enrichment · Early Access

Every transaction, resolved to a real merchant

Raw network descriptors are cryptic. Astrada Enrichment matches each transaction to a verified business — persistent identity, clean name and logo, precise category, exact location, and risk signals — fast enough to use at authorization.

From descriptor to verified business

We don't just clean up messy strings. Each transaction is matched against a database of verified businesses — so the record you receive describes the merchant, not the processor's abbreviation of it.

POST /webhooks — transaction.enriched
// what the network sends
"descriptor": "TST* HNK 042 NEW YO", "mcc": "5812"

// what your platform receives
{
    "merchant": {
      "id": "mch_8f3ka92",              // persistent across MIDs & rebrands
      "name": "Hanoi Kitchen",
      "logo": "https://cdn…/hanoi-kitchen.png",
      "website": "hanoikitchen.nyc"
    },
    "industry": "Restaurants › Vietnamese",   // not MCC-based
  "third_party": { "name": "Toast", "type": "platform" },
    "location": {
      "address": "114 Ludlow St", "city": "New York",
      "lat": 40.7191, "lng": -73.9883
    },
    "risk": { "high_risk_entity": false, "card_acceptance_history": "extensive" },
  "match_score": 98.4
}
Verified merchant identity Non-MCC categorization Exact geolocation Risk signals Real time, in the auth flow

What enrichment returns

Every field below arrives on the same API as your real-time network feed — no second integration, no second vendor.

Merchant identity

A persistent, unified merchant ID for every business — stable across MIDs, locations, channels, and rebrands. Use it for spend analytics, merchant-level controls, and allow/block lists that don't break when a descriptor changes.

Categorization beyond MCC

A custom category tree up to four tiers deep — with IDs and iconography — that doesn't rely on self-assigned MCC codes. Every transaction gets a category, matched or not.

Third-party extraction

When an intermediary is involved — a POS platform, marketplace, delivery service, or BNPL provider — it's identified and returned separately from the underlying merchant, so both sides of the transaction are visible.

Location precision

Physical transactions resolve to an exact geolocation: street address, city, region, postal code, and latitude/longitude — not just a city guess. Built for receipt matching and location-based risk checks.

Logos, websites & contact info

Brand logos, merchant websites, and phone numbers on matched transactions — the details that make a feed instantly recognizable and cut "what is this charge?" tickets.

Normalization on everything

Even unmatched transactions come back cleaned: normalized capitalization and structure, noise removed, misplaced data sorted into the right fields. Nothing raw ever reaches your UI.

Merchant risk, scored before you authorize

Enrichment returns in real time — fast enough to sit inside the authorization decision, not after it. Pair these signals with spend controls to stop bad transactions before they settle.

SignalWhat it flags
high_risk_entityMerchants previously alleged of fraud or scams — the transactions most likely to be disputed
irregular_web_presenceRisky content on the merchant's site, like warnings not to charge back
negative_online_sentimentPoor consumer sentiment associated with the merchant — a step-up confirmation candidate
risky_industryIndustries correlated with elevated dispute rates, based on our categorization — not MCC
card_acceptance_historyHow long the merchant has accepted card payments, from extensive to very_limited

Who was paid — and what was bought

Merchant-level data and line-item detail land on the same transaction record: recognizable to users, itemized for the books.

Level 2/3 Data

What was bought

Line-item settlement detail, itemized on transactions that support it — straight from the network.

Line items with quantities and unit prices
Tax amounts and rates per transaction
GL coding and policy at the line-item level
Same webhook, same transaction record

What platforms build with it

Recognizable spend feeds

Clean names, logos, and locations mean users recognize their purchases — fewer support tickets, faster approvals, shorter dispute cycles.

Accurate coding & analytics

Persistent merchant IDs and four-tier categories make GL coding, policy rules, and merchant-level reporting reliable — no regexes on descriptors.

Controls at authorization

Real-time enrichment puts merchant identity and risk signals inside the auth decision — block high-risk entities, lock cards to merchants, enforce category policy in real time.

Know every merchant. In real time.

Enrichment ships on the same API as your network feed. Turn it on with a config change — no second integration.