Money movement and the risk map
Follow a payment from a tap on a screen to a settled obligation.
Maya buys a $40 lamp from a marketplace called Lantern. The app shows a cheerful check mark. Behind that check mark, several firms now have promises to keep. One may ship a lamp, another may owe money, and another may face a dispute weeks later. Risk engineering starts by asking what the check mark actually means. Lantern and all people, amounts, thresholds, and records in this book are fictional teaching examples.
Messages are not money
A payment message describes an instruction or a state. A ledger records obligations. Settlement discharges obligations through the relevant system. These events can occur at different times. Treating all three as one success flag makes support, reconciliation, and risk reporting disagree.
For Lantern, keep the order state separate from the payment state. An accepted authorization can justify a stock reservation without proving that cash reached the merchant. Give each state a named owner and a clear event that changes it. The useful question is not whether the API returned green. It is which obligation changed, for whom, and on what evidence.
Lantern sells a £100 ticket for a merchant. The customer sees a success screen, the merchant sees an order, and the platform sees a payment identifier. Those three observations may describe the same purchase, but none alone proves that the merchant can withdraw £100. Fees, settlement timing, reserves, and other obligations can change the amount and timing of available funds. A risk engineer follows each claim back to the system that can support it.
This is why a payment model usually needs several state machines. The order can be cancelled while the payment is captured. A refund can be accepted for processing while the customer has not yet received it. Collapsing these facts into one green status makes a screen simple and an investigation difficult. Each state needs an owner, an event that changes it, and a defined effect on money.
- InstructionCustomer asks to pay
- ObligationParties record what they owe
- SettlementRelevant accounts exchange value
- API accepted
- Request passed an interface check
- Funds settled
- Evidence supports a financial state
Lantern payment record
Illustrative data; not a real customer record or a prescribed policy.
- Orderlamp-104
Commercial reference
- Paymentauthorized
Payment state only
- Deliverynot shipped
Separate fulfillment state
Settlement and delivery still need their own evidence
The authorization was accepted. Settlement and delivery still need their own evidence.
- Failure mode 1avoid
- The merchant received final cash. Authorization does not establish this.
- Failure mode 2avoid
- The customer cannot dispute. Later rights depend on rail and rules.
- Failure mode 3avoid
- The lamp was delivered. A payment event says nothing about delivery.
Map the participants
A card payment can involve a customer, merchant, gateway, processor, acquirer, network, and issuer. A fintech may fill more than one role, or outsource parts of a role. Brand names are less useful than responsibilities. Draw the legal and operational chain before assigning a loss.
Use a responsibility map with four questions: who authenticates the actor, who authorizes the payment, who holds the balance, and who handles a return or dispute? Add contracts as evidence. A vendor that performs screening does not automatically own the customer relationship or every compliance duty. Missing ownership is an operational defect, even when every individual service works.
- CustomerInitiates a purchase
- MerchantSupplies the product
- Financial partnersAuthorize and move value
- Provider function
- Work a service performs
- Accountability
- Duty retained under law and contract
Partner map extract
Illustrative data; not a real customer record or a prescribed policy.
- Gatewaymessage routing
Does not imply deposit custody
- Issuercard account
Customer relationship
- Acquirermerchant acceptance
Merchant-side role
It connects the function to its accountable owner
A responsibility map tied to agreements. It connects the function to its accountable owner.
- Failure mode 1avoid
- A list of logos. Branding does not allocate duties.
- Failure mode 2avoid
- The fastest API response. Latency does not establish ownership.
- Failure mode 3avoid
- The largest team. Headcount does not define the contract.
Separate the risk families
Fraud asks whether an actor or claim is deceptive. Credit asks whether an obligation will be paid. Liquidity asks whether available funds arrive in time. Compliance asks whether the activity meets applicable duties. Operational risk includes failures in people, systems, and process. The same event can enter several families.
A merchant that sells concert tickets may be honest, profitable on paper, and still unable to refund customers after a cancellation. Labeling that entire loss fraud hides the funding problem. Assign a primary loss cause and record contributing causes separately. This helps teams choose controls that address the cause instead of improving a dashboard label.
A useful loss map separates the cause, the immediate exposure, and the final bearer of loss. A stolen credential can cause a fraudulent purchase; a contract can allocate the resulting loss to a merchant; a failed merchant can leave the platform with credit exposure. The risk families overlap because they describe different parts of this chain. Classifying the event once and hiding the other links can send it to the wrong control owner.
- EventDescribe what happened
- CauseIdentify the loss mechanism
- ControlTarget that mechanism
- Fraud loss
- Deception drives the event
- Credit loss
- An obligation remains unpaid
Cancelled festival exposure
Illustrative data; not a real customer record or a prescribed policy.
- Intentno deception established
Avoid unsupported fraud labels
- Obligationrefund tickets
Money still owed
- Cashalready spent
Liquidity and credit concerns
Failure to pay does not require deception
Credit and liquidity exposure. Failure to pay does not require deception.
- Failure mode 1avoid
- Only identity fraud. The facts do not show a false identity.
- Failure mode 2avoid
- Only network latency. The problem persists after messages arrive.
- Failure mode 3avoid
- No risk because the seller is honest. Honesty does not fund obligations.
Locate the point of no easy return
Controls become less useful when they run after the action they were meant to stop. A pre-payment check, a shipment hold, a payout delay, and a post-event investigation act at different points. Choose a control time from the harm you want to prevent.
Draw a timeline with the customer promise above it and the money movement below it. Mark the last practical moment for each intervention. A recall request after an instant payment is not a guaranteed reversal. Even when settlement is final, legal claims and investigations can continue. Technical finality and legal resolution answer different questions.
- Before actionPrevent or request evidence
- During exposureLimit shipment or payout
- After lossInvestigate and seek recovery
- Prevention
- Acts before the harmful transfer
- Recovery
- Attempts to reduce an existing loss
Illustrative intervention clock
Illustrative data; not a real customer record or a prescribed policy.
- 09:00payee added
Verification opportunity
- 09:02payment sent
Value leaves sender
- 09:08recall requested
Recovery is uncertain
The check must precede the action it controls
Before release. The check must precede the action it controls.
- Failure mode 1avoid
- After a monthly report. The money may already be gone.
- Failure mode 2avoid
- Only after a complaint. That is detection after harm.
- Failure mode 3avoid
- At the next annual review. The timing misses the payment.
Write a decision contract
A risk decision needs an action, reason, scope, expiry, and owner. The word review without a queue owner is a polite way to lose a transaction. Define what the customer can do while the decision is pending and what happens if evidence never arrives.
A small contract might contain decision_id, payment_id, action, reason_codes, policy_version, decided_at, and expires_at. Store money in integer minor units with an explicit currency. Separate internal reasons from approved customer wording. A good decision record supports replay, support, audit, and appeal without exposing private signals to every reader.
- InputIdentify the transaction and evidence
- DecisionRecord action and policy version
- Follow-throughAssign owner and expiry
- Bare score
- A number without an action contract
- Decision record
- An action with reasons and lifecycle
Decision specimen
Illustrative data; not a real customer record or a prescribed policy.
- Actionreview
No automatic shipment
- Ownermerchant-risk queue
Named responsibility
- Expiry30 minutes
Illustrative service target
Someone must act within a defined lifecycle
A queue owner and expiry. Someone must act within a defined lifecycle.
- Failure mode 1avoid
- A decorative risk badge. It does not route work.
- Failure mode 2avoid
- Only the model score. A score does not assign responsibility.
- Failure mode 3avoid
- The customer device color. It does not resolve ownership.
Chapter connections
Continue with Cards, authorization, and disputes to follow the next part of the system. Use the glossary for terminology and risk mathematics for formulas and worked calculations.