Skip to main content

NPP โ€” New Payments Platform

Overviewโ€‹

The New Payments Platform (NPP) is Australia's real-time, data-rich payment infrastructure launched in February 2018. It enables near-instant payments 24/7/365 between accounts at participating Australian financial institutions.

  • Operator: NPP Australia Limited (NPPA)
  • Settlement: RBA Fast Settlement Service (FSS)
  • Message Standard: ISO 20022 (MX format)
  • Availability: 24/7/365

NPP Key Featuresโ€‹

FeatureDetail
SpeedTypically < 15 seconds end-to-end
Availability24/7, 365 days/year
Data richnessUp to 280 characters of remittance data
PayIDProxy addressing (phone, email, ABN, org ID)
SettlementReal-time gross via RBA FSS
Amount limitNo mandated cap (FIs may set own limits)

NPP Architectureโ€‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ NPP Australia (NPPA) โ”‚
โ”‚ Basic Infrastructure โ”‚
โ”‚ (BI) โ€” ISO 20022 Hub โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ โ”‚ โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Bank A โ”‚ โ”‚ Bank B โ”‚ โ”‚ Bank C โ”‚
โ”‚ (Direct โ”‚ โ”‚ (Direct โ”‚ โ”‚ (Indirect via โ”‚
โ”‚ Participant) โ”‚ โ”‚ Participant) โ”‚ โ”‚ Bank A) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ RBA Fast โ”‚
โ”‚ Settlement โ”‚
โ”‚ Service (FSS) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

NPP Message Flow (Credit Transfer)โ€‹

Customer A Bank A (Debtor) Bank B (Creditor)
โ”‚ โ”‚ โ”‚
โ”‚โ”€โ”€ Initiate payment โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚
โ”‚ (app/API/pain.001) โ”‚ โ”‚
โ”‚ โ”‚โ”€โ”€ Validate & screen โ”‚
โ”‚ โ”‚โ”€โ”€ Debit account โ”‚
โ”‚ โ”‚โ”€โ”€ Build pacs.008 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚
โ”‚ โ”‚ โ”‚โ”€โ”€ Validate
โ”‚ โ”‚ โ”‚โ”€โ”€ Screen
โ”‚ โ”‚โ—„โ”€โ”€ pacs.002 ACK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚
โ”‚ โ”‚ โ”‚
โ”‚ โ”‚โ—„โ”€โ”€ RBA FSS Settlement โ”€โ”€โ–บโ”‚
โ”‚ โ”‚ (simultaneous) โ”‚
โ”‚ โ”‚ โ”‚โ”€โ”€ Credit account
โ”‚ โ”‚ โ”‚โ”€โ”€ camt.054 โ”€โ”€โ–บ Customer B
โ”‚โ—„โ”€โ”€ Debit notification โ”€โ”€โ”‚
(camt.054)

NPP Overlay Servicesโ€‹

Overlay services are products built on top of NPP infrastructure:

Osko (by BPAY)โ€‹

  • First NPP overlay service
  • Consumer and business payments
  • PayID-enabled
  • Real-time credit transfers

PayTo (launched 2022)โ€‹

  • Agreement-based payments (replaces Direct Debit)
  • Payer authorises a payment agreement stored at NPP
  • Payee can initiate pull-based payments under the agreement
  • Near-real-time, 24/7
  • Replaces BECS Direct Debit for many use cases
PayTo Flow:
1. Biller creates Payment Agreement โ†’ sent to Payer's bank
2. Payer approves agreement (via banking app)
3. Biller initiates debit under agreement (any time)
4. Payer's bank validates agreement โ†’ credits biller

PayIDโ€‹

PayID is a proxy addressing system on the NPP that maps a simple identifier to a BSB/account number.

PayID TypeExample
Phone number0412 345 678
Email address[email protected]
ABN12 345 678 901
Organisation IDAssigned by NPPA

PayID Resolution Flowโ€‹

Sender enters: "[email protected]"
โ”‚
โ–ผ
NPP PayID Directory
โ”‚
โ–ผ
Returns: Jane Smith, BSB 062-000, Acct 12345678
โ”‚
โ–ผ
Sender confirms name match
โ”‚
โ–ผ
Payment proceeds

NPP ISO 20022 Messages Usedโ€‹

MessagePurpose
pacs.008Credit transfer instruction
pacs.002Payment status report
pacs.004Payment return
camt.054Account notification
acmt.023PayID registration
acmt.024PayID lookup response

NPP vs BECS Direct Entryโ€‹

FeatureNPPBECS/DE
Speed< 15 secondsNext business day
Hours24/7/365Business hours, cut-offs
Message formatISO 20022 (MX)Proprietary flat file
Remittance data280 charactersLimited
PayIDโœ…โŒ
SettlementReal-time gross (RTGS-like)Deferred net (DNS)

NPP vs RTGS/HVCSโ€‹

FeatureNPPHVCS/RTGS
Target useRetail/SMEHigh-value wholesale
Value limitNo mandated capLarge (>$250K typical)
Customer visibleโœ…Typically B2B only
Overlay servicesโœ… Osko, PayToโŒ

NPP Participationโ€‹

TypeDescription
Connected Institution (CI)Direct NPP participant with own connection to BI
Identified Institution (II)Participates via a CI (sponsor); has own PayID space
Addressing Service Provider (ASP)Manages PayID on behalf of others

Java Spring Integration Notesโ€‹

@Service
public class NppPaymentService {

@Value("${npp.endpoint}")
private String nppEndpoint;

public NppResult submitPayment(PaymentOrder order) {
// Build pacs.008
Pacs008 pacs008 = pacs008Builder.build(order);

// Validate against NPP-specific rules
nppValidator.validate(pacs008);

// Submit to NPP BI
NppResponse response = nppClient.submit(pacs008);

if (response.isAccepted()) {
order.setStatus(PaymentStatus.SUBMITTED_TO_NPP);
order.setNppTxId(response.getTransactionId());
}

return NppResult.from(response);
}

@Async
public void resolvePayId(String payId) {
PayIdLookupRequest request = new PayIdLookupRequest(payId);
PayIdResponse response = nppClient.lookupPayId(request);
// Cache and return account details
}
}

NPP Error Codesโ€‹

CodeMeaning
AC01Incorrect account number
AC03Invalid creditor account number
NARRFree text error narrative
FF01Invalid file format
AM04Insufficient funds
RR04Regulatory reason (sanctions)

Interview Questions (Senior Level)โ€‹

  1. How do you design NPP payment flows for strict idempotency and sub-15-second SLAs?
  2. What operational controls are critical for PayID resolution and misdirection prevention?
  3. How do you handle NPP participant outages while maintaining customer trust?
  4. Which telemetry should drive real-time alerting for NPP service health?

Short answer guide:

  • Use stable transaction IDs, dedup checks, and deterministic state transitions.
  • Add name-check verification and confirmation UX safeguards.
  • Implement queue/retry/fallback policies with transparent status communication.
  • Monitor latency percentiles, reject codes, settlement lag, and exception rates.
Interview Focus

Highlight sub-15s SLA design with idempotency, participant dependency handling, and observability.

Interview Trap

Assuming real-time rails remove the need for fallback and exception workflows.