Knowledgebase

Architecture for Financial Systems Print

  • fintechpaymentsystems, fintech, database, performance, billing, guide, howto, solution
  • 0

Designing for money.

WHAT DISTINGUISHES IT

Correctness matters absolutely State must be auditable Failures must not lose or duplicate money External systems are unreliable and slow

WHAT TO BUILD AROUND

An immutable ledger as the source of truth.

WHY

Every balance, statement and report derives from it consistently.

WHAT TO SEPARATE

The ledger from business logic Payment provider integration from everything else Read models from the write path

WHY PROVIDER SEPARATION MATTERS

Providers change, and provider-specific logic spread through a system prevents that.

WHAT TO MAKE ASYNCHRONOUS

Anything depending on an external system.

WHY

External calls fail and hang, and a synchronous chain fails entirely.

WHAT THAT REQUIRES

Explicit state for in-flight operations Background resolution Visibility of what is pending

WHAT TO AVOID

Distributed transactions across services Business logic in database triggers Balances computed in several places

WHAT TO ENFORCE

Every money movement through one path.

WHY

Several paths diverge, and reconciliation cannot then be trusted.

WHAT TO LOG

Every state change, with cause and actor.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot