๐ฆ Banking Domain Knowledge Base
A comprehensive, engineer-focused reference for payment systems, ISO 20022 messaging, core banking concepts, and Australian payment infrastructure. Built for Java/Spring developers working in the payments domain.
What's in This Knowledge Base?โ
| Section | Topics Covered |
|---|---|
| ISO 20022 Messages | pain.001, pain.002, pacs.008, pacs.002, camt.053, camt.054 |
| Payment Flows | Inbound, Outbound, On-Us, Off-Us |
| Payment Rails | NPP, SWIFT, BECS/Direct Debit, BPAY, RTGS, PayTo |
| Parties & Institutions | Debtor, Creditor, FIs, Correspondent Banks |
| Accounting & Posting | Debit/Credit Post, Debit Reversal, Payment Return |
| Clearing & Settlement | DNS, RTGS, ESA, Liquidity |
| Risk & Compliance | Fraud, Sanctions, AML/CTF, KYC |
| Operations | Reconciliation, Exceptions & Investigations, FX |
| Modern Banking | Open Banking/CDR, ISO 20022 Migration, Account Types |
Banking Knowledge Pathโ
Use this path as a guided entry point for learning banking and payments topics in a practical order.
How To Use This Pathโ
- Read each stage in order the first time.
- Use the Role Tracks below after Stage 2 to specialize.
- Keep
payment_lifecycle_101and the glossary open while reading message specs.
Stage 0 - Foundations (Beginner)โ
Start here if you are new to the banking/payments domain language.
Stage 1 - Core Payment Flows (Beginner -> Intermediate)โ
Learn the flow categories and routing decisions.
Stage 2 - ISO 20022 Message Chain (Intermediate)โ
Study messages in execution order:
- pain.001 - customer payment initiation
- pacs.008 - interbank credit transfer
- pacs.002 - status report
- camt.054 - debit/credit notification
- camt.053 - account statement
Then exception messages: 6. pacs.004 - payment return 7. pain.007 and pacs.007 - reversal 8. camt.055 and camt.056 - cancellation/recall 9. pain.004 Clarification - common naming confusion
Stage 3 - Rails and Networks (Intermediate)โ
Stage 4 - Ledger and Core Banking (Intermediate -> Advanced)โ
- Core Banking System
- Account Types
- Debtor
- Debit Posting
- Credit Posting
- Debit Reversal
- Payment Return
- FX in Payments
- Interest and Fees
- FIS
Stage 5 - Risk, Compliance, and Operations (Advanced)โ
- Fraud Detection and Prevention
- Sanctions Screening
- AML, CTF, and KYC
- Payment Exceptions and Investigations
- Reconciliation
- Testing in Banking and Payments
Stage 6 - Modernization and Strategyโ
Role Tracksโ
Developer Trackโ
Follow: Stage 0 -> Stage 1 -> Stage 2 -> Stage 4 -> Stage 5 Focus topics:
- Message schemas and field mapping
- Idempotent posting and retries
- Exception-safe state transitions
Operations / Analyst Trackโ
Follow: Stage 0 -> Stage 1 -> Stage 3 -> Stage 5 Focus topics:
- Status monitoring and exception handling
- Reconciliation and return workflows
- SLA and incident triage
Compliance / Risk Trackโ
Follow: Stage 0 -> Stage 1 -> Stage 5 Focus topics:
- Sanctions, AML/KYC, fraud controls
- Hold/release/return decision points
- Regulatory reporting and evidence
Product / Business Trackโ
Follow: Stage 0 -> Stage 1 -> Stage 3 -> Stage 6 Focus topics:
- Rail capability and customer experience trade-offs
- Pricing/latency/risk considerations
- Modernization opportunities
Quick Revision Path (60-90 minutes)โ
If you need a fast refresh before interviews or design discussions:
- Payment Lifecycle 101
- On-Us Transactions and Off-Us Transactions
- pain.001 -> pacs.008 -> pacs.002
- pacs.004, Debit Reversal, Payment Return
- Reconciliation, Fraud, Sanctions
End-to-End Payment Lifecycleโ
The diagram below shows a complete outbound off-us NPP credit transfer โ the most common domestic payment type in Australia.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ PAYMENT LIFECYCLE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ ORIGINATION DEBTOR BANK CREDITOR BANK โ
โ โ
โ Customer Receive pain.001 Receive pacs.008 โ
โ submits โโโโโโโบ Validate & Auth โโโโโโโบ Validate Schema โ
โ pain.001 Balance Check Duplicate Check โ
โ Sanctions Screen Sanctions Screen โ
โ Fraud Assessment Fraud Assessment โ
โ Debit Posting Account Lookup โ
โ Build pacs.008 Credit Posting โ
โ Submit to NPP โโโโโโโ Send camt.054 โโโบ Cdtr โ
โ Receive pacs.002 (CRDT notification) โ
โ Send camt.054 โโโโโโโบ โ
โ (DBIT notification) Dbtr โ
โ Send pain.002 โโโโโโโบ โ
โ (status report) Customer โ
โ โ
โ SETTLEMENT: RBA Fast Settlement Service (FSS) โ real-time gross โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ISO 20022 Message Chainโ
Customer โโ[pain.001]โโโบ Debtor Bank โโ[pacs.008]โโโบ Network โโ[pacs.008]โโโบ Creditor Bank
โโ[pain.002]โโโ โโ[pacs.002]โโโ โ
[camt.054]
[camt.054]โโโบ Debtor Customer โ
Creditor Customer
If undeliverable:
Debtor Bank โโ[pacs.004]โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Creditor Bank
โโ[camt.054 return]โโโบ Debtor Customer
Key ID Fields โ Traceability Across Messagesโ
Every payment carries a chain of IDs that allow full end-to-end tracing:
| ID | Who Sets It | Lives In | Purpose |
|---|---|---|---|
EndToEndId | Originating customer | pain.001 โ pacs.008 โ camt.054 | Customer's own reference; never changed |
InstrId | Debtor bank | pacs.008, pacs.002 | Bank's instruction reference |
TxId | Debtor bank | pacs.008, pacs.002 | Unique transaction ID for dedup |
MsgId | Each sender | All messages | Message-level dedup |
UETR | Debtor bank | SWIFT messages | Universal tracker for gpi |
AcctSvcrRef | Creditor bank | camt.053, camt.054 | Bank's ledger reference |
MndtId | Creditor/payer | Direct debit messages | PayTo/BECS mandate reference |
Payment Scheme Quick-Selectโ
Is the payment a direct debit (pull)?
โโโบ PayTo (NPP) for new โ BECS DDR for legacy
Is the payment international?
โโโบ SWIFT (MT103 / pacs.008)
Is the payment domestic?
โโ Same bank (both accounts at our institution)?
โ โโโบ On-Us โ internal book transfer, no external network
โ
โโ High-value or time-critical (> ~$250K)?
โ โโโบ RTGS / HVCS
โ
โโ Bill payment with BPAY biller code?
โ โโโบ BPAY
โ
โโ Creditor bank supports NPP?
โ โโโบ NPP / Osko โ real-time, 24/7
โ
โโ Fallback
โโโบ BECS Direct Entry โ next business day
Risk & Compliance Checkpointsโ
Every payment โ inbound or outbound โ passes through these controls:
Payment Instruction
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. DUPLICATE CHECK (TxId / EndToEndId) โ
โ 2. SCHEMA VALIDATION (XSD / business rules) โ
โ 3. AUTHENTICATION (customer / system auth) โ
โ 4. SANCTIONS SCREENING (OFAC, UN, DFAT, AUSTRAC) โ
โ 5. FRAUD ASSESSMENT (rules + ML model) โ
โ 6. AML / TM CHECK (transaction monitoring) โ
โ 7. BALANCE / LIMIT CHECK (outbound only) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
Process Payment
Australian Regulatory Landscapeโ
| Body | Role | Key Obligations |
|---|---|---|
| RBA | Central bank, settlement operator | ESA management, RTGS, NPP FSS |
| APRA | Prudential regulator | ADI licence, capital (Basel III), LCR/NSFR |
| AUSTRAC | AML/CTF regulator | TTR, IFTI, SMR reporting |
| ASIC | Market conduct regulator | Financial services licensing |
| OAIC | Privacy regulator | CDR / Open Banking data rules |
| AusPayNet | Payment scheme operator | BECS, cheque rules |
| NPPA | NPP operator | NPP/Osko/PayTo scheme rules |
Glossary of Common Termsโ
| Term | Definition |
|---|---|
| ADI | Authorised Deposit-taking Institution โ licensed bank/credit union |
| ESA | Exchange Settlement Account โ account at RBA used for final settlement |
| BIC / SWIFT code | Bank Identifier Code โ uniquely identifies a financial institution |
| BSB | Bank State Branch โ 6-digit code identifying an AU bank branch |
| IBAN | International Bank Account Number โ standardised account number |
| PayID | Proxy address (phone/email/ABN) mapped to a BSB/account via NPP |
| UETR | Unique End-to-end Transaction Reference โ UUID used in SWIFT gpi |
| DNS | Deferred Net Settlement โ obligations netted and settled at end of day |
| RTGS | Real-Time Gross Settlement โ each payment settled individually, in real time |
| LCR | Liquidity Coverage Ratio โ APRA regulatory liquidity metric |
| PEP | Politically Exposed Person โ requires enhanced due diligence |
| SAR / SMR | Suspicious Activity/Matter Report โ filed with AUSTRAC |
| TTR | Threshold Transaction Report โ cash transactions โฅ AUD 10,000 |
| IFTI | International Funds Transfer Instruction โ all cross-border transfers |
| ChrgBr | Charge Bearer โ who pays bank fees (DEBT/CRED/SHAR/SLEV) |
| Nostro | "Our" account held at another bank |
| Vostro | "Your" (another bank's) account held at our bank |
| Straight-Through Processing (STP) | Payment processed end-to-end without manual intervention |
| CoP | Confirmation of Payee โ verifying payee name matches account before payment |
Java / Spring Stack Referenceโ
Typical technology choices for a payment processing system:
| Layer | Technologies |
|---|---|
| API | Spring Boot, Spring Web MVC / WebFlux |
| Messaging | Spring Integration, Apache Kafka, IBM MQ, RabbitMQ |
| ISO 20022 Parsing | JAXB, prowide-core, open-banking-java-sdk |
| Database | PostgreSQL / Oracle (transactional), Redis (caching) |
| Security | Spring Security, HSM for key management |
| Scheduler | Spring Batch (batch payments), Quartz |
| Observability | Micrometer, Prometheus, Grafana, ELK Stack |
| Testing | JUnit 5, Mockito, Testcontainers, WireMock |
Contributing & Structureโ
Each page in this knowledge base follows a consistent structure:
- Overview โ What it is and why it matters
- Key concepts โ Definitions, types, tables
- Flow diagrams โ ASCII art showing the process
- Field/code references โ Lookup tables
- Java/Spring notes โ Practical implementation snippets
- Related concepts โ Cross-links to related pages
Interview Questions (Senior Level)โ
- How do you explain banking payment architecture end-to-end to new backend engineers?
- What boundaries should be explicit between payment orchestration and core banking systems?
- Which controls are non-negotiable before allowing straight-through processing?
- How would you measure payment platform maturity beyond transaction throughput?
Short answer guide:
- Teach by lifecycle: initiation, screening, clearing, settlement, notification.
- Keep orchestration stateless and ledger authority centralized.
- Enforce sanctions/fraud/AML gates with strong observability.
- Track failure recovery, exception handling quality, and reconciliation accuracy.
Explain payment systems as lifecycle stages with explicit control, audit, and recovery boundaries.
Discussing rails without distinguishing clearing from settlement and ledger finality.