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.

TRANSACTION VOLUME MANUAL INTERVENTION Reconciliation Drift