lomi.

lomi. Radar

Screen incoming card and mobile-money charges with risk assessments, webhooks, and metered billing.

lomi. Radar evaluates incoming charges (card, MTN, Wave) before they complete. It is separate from Disputes (card chargebacks after the fact) and from platform payout controls described in Payouts.

Radar is opt-in per organization. Enable it with PATCH /organization/radar-settings (enabled: true). Default is off for existing merchants.

Enable Radar

curl -X PATCH "https://api.lomi.africa/organization/radar-settings" \
  -H "X-API-KEY: $LOMI_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "enabled": true, "mode": "block" }'
FieldValuesMeaning
enabledtrue / falseTurn screening on or off
modemonitorFlag risky charges but allow them
modeblockReject charges that trigger block rules
stripe_radar_passthroughtrue (default)Merge card-network risk signals after card capture

Built-in rules (v1)

RuleRailsDefault action
high_value_chargecard, MTN, WaveFlag ≥ 500,000 XOF
velocity_charges_1hallBlock > 20 charges / customer / hour
repeat_phone_24hMTN, WaveFlag same phone across customers
card_country_mismatchcardFlag billing country outside WAEMU

List risk assessments

curl "https://api.lomi.africa/risk-assessments?decision=flag&page=1&pageSize=50" \
  -H "X-API-KEY: $LOMI_SECRET_KEY"

Optional filters: decision (allow, flag, block), rail (card, mtn, wave), startDate, endDate.

Example row:

{
  "assessment_id": "…",
  "transaction_id": "…",
  "rail": "mtn",
  "decision": "flag",
  "risk_score": 45,
  "signals": [{ "rule": "repeat_phone_24h", "action": "flag", "detail": "…" }],
  "amount": 10000,
  "currency_code": "XOF"
}

Webhooks

Subscribe to:

  • PAYMENT_RISK_FLAGGED, charge allowed but flagged for review
  • PAYMENT_RISK_BLOCKED, charge blocked when mode is block

Payload includes assessment_id, transaction_id, rail, decision, risk_score, signals, amount, and currency_code.

Disputes vs Radar vs payout controls

DisputesRadarPayout controls
TimingAfter chargebackBefore/during chargeAt withdrawal
APIGET /disputesGET /risk-assessmentsNone (internal)
DashboardSettings → Support → DisputesTransactions risk badgeWithdrawal error message

Metering

When Radar is enabled and a radar_screen meter is configured, each screening emits a usage event billed through Usage billing.

On this page