Payments advisory
The architecture for systems that must not fail.
We design the settlement logic, reconciliation paths, and failure modes for platforms where downtime represents existential risk.
The Output
Artefact: Decision Record
A sample constraint definition. We move the complexity from the code to the configuration, defining ownership before the first line is written.
Filename: decision-record.yaml
decision: "refund_timing_policy"
owners:
policy: "Risk"
execution: "Operations"
evidence: "Finance"
constraints:
refund_window_days:
value: 14
source_of_truth: "ledger"
failure_mode: "route_to_manual_review"
settlement_state_required:
value: ["CAPTURED", "SETTLED"]
failure_mode: "reject_refund_request"
evidence:
required_fields:
- capture_id
- settlement_state
- refund_id
audit_log: "immutable_event_stream"
Focus areas
Focus areas that de‑risk delivery
Architecture + flows
Define the flow boundaries, dependencies, and failure modes across bank, PSP, schemes, and internal systems.
Operating model
Clarify who owns what. Controls, escalation, evidence, and day-two responsibilities.
Scheme / partner readiness
Align incentives and obligations. Reduce ambiguity before it becomes an incident.
The Cost of Ambiguity
Generic models leak margin.
When ownership is unclear, the cost shows up in the unit economics: trapped liquidity, manual reconciliation, and increased dispute ratios.