Skip to content

NZ faster payments and A2A integration

ID MOD-122
System SD04
Repo bank-payments
Build status Deployed
Deployed Yes
Last commit 088500e

Purpose

Provides NZ interbank payment capability via the Payments NZ clearing framework. Handles outbound Account2Account (A2A) credit transfers, inbound credit receipts, settlement batch participation, and return payment processing. Operates under the Payments NZ rules and through the bank's sponsor banking relationship (ADR-005). NZ only — AU interbank payments (NPP/Osko) are handled by MOD-120.

Jurisdiction: New Zealand only. Feature flag: payments.nz_interbank.enabled.

Compliance rationale

Payments NZ Rules (nz-payments-nz-rules) govern interbank credit transfers, including same-day settlement obligations, return payment handling, and participant conduct. PAY-002 (Settlement Risk Policy) requires that settlement exposure is monitored and that the bank participates in the Payments NZ settlement model via its sponsor bank. The Payments NZ Rules also impose obligations on banks to credit inbound payments promptly — typically within 2 hours of receipt during business hours.

Commercial rationale

NZ interbank transfers are the foundation of everyday banking. Customers need to send money to accounts at other NZ banks — to pay rent, pay tradespeople, pay family members. Without NZ interbank capability, the platform cannot serve as a primary bank account in New Zealand.

Payment types supported

  • Standard credit transfer (BSB-equivalent in NZ: bank code + branch code + account number + suffix)
  • Batch credit (multiple credits to different accounts in one submission — for SME payroll)
  • Same-day settlement (for payments submitted before the daily cut-off)

Data model

-- payments.nz_interbank_payments
CREATE TABLE payments.nz_interbank_payments (
  payment_id         UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  direction          TEXT NOT NULL CHECK (direction IN ('outbound','inbound')),
  account_id         UUID NOT NULL REFERENCES core.accounts(account_id),
  beneficiary_bank   TEXT NOT NULL,  -- NZ bank code
  beneficiary_branch TEXT NOT NULL,
  beneficiary_account TEXT NOT NULL,
  beneficiary_suffix TEXT,
  beneficiary_name   TEXT NOT NULL,
  amount             NUMERIC(18,2) NOT NULL,
  currency           TEXT NOT NULL DEFAULT 'NZD',
  particulars        TEXT,  -- NZ payment reference fields
  code               TEXT,
  reference          TEXT,
  payment_date       DATE NOT NULL,
  status             TEXT NOT NULL DEFAULT 'pending' CHECK (status IN ('pending','submitted','cleared','settled','returned','disputed')),
  clearing_reference TEXT,  -- Payments NZ clearing reference
  settlement_batch   TEXT,
  returned_at        TIMESTAMPTZ,
  return_reason_code TEXT,
  posting_id         UUID,
  created_at         TIMESTAMPTZ NOT NULL DEFAULT now()
);

Key operations

1. Outbound payment

Customer enters bank/branch/account/suffix in payment initiation (MOD-071). System validates format using the NZ account number validation algorithm. MOD-020 pre-payment validation runs → MOD-023 fraud score applied → debit posted via MOD-001 → submitted to sponsor bank API → clearing_reference recorded. Payments submitted before the daily cut-off (typically 3pm NZST) settle same day. Payments submitted after cut-off settle the next business day.

2. Inbound payment

Sponsor bank delivers an inbound credit notification. Module resolves the notification to the destination account. Credit posted via MOD-001. Customer notified via MOD-063 within 60 minutes of receipt during business hours, meeting the Payments NZ obligation for prompt crediting.

3. Returns

If an outbound payment returns (invalid account, account closed, beneficiary bank reject): credit posted back to the originating account via MOD-001, status set to returned, notification dispatched via MOD-063 with the return reason expressed in plain language.

4. Settlement reconciliation

Daily: MOD-081 reconciles the settlement batch against the sponsor bank's settlement statement. Any discrepancies are flagged to operations for investigation.

5. NZ account number format

NZ accounts use the format XX-XXXX-XXXXXXX-XX (bank-branch-account-suffix). This module validates format and performs the Payments NZ account number validation checksum before any submission to the clearing network.

Requirements

FR-553 through FR-556.


Module dependencies

Depends on

Module Title Required? Contract Reason
MOD-001 Double-entry posting engine Required Interbank payment debits and inbound credits are posted via the double-entry engine.
MOD-020 Pre-payment validation suite Required Pre-payment validation runs before every outbound NZ interbank submission.
MOD-023 Transaction fraud scorer Required Transaction fraud scorer screens all NZ interbank payments.
MOD-081 Payment reconciliation engine Optional NZ interbank settlement batches will be reconciled via MOD-081 in v2; v1 defers NZ_INTERBANK rail reconciliation (V1_MATCH_RAILS env var governs which rails MOD-081 processes).
MOD-063 Notification orchestration Required Payment confirmation, return, and alert notifications are dispatched via notification orchestration.
MOD-103 Neon database platform bootstrap Required Neon database and schema provisioned by MOD-103 must exist before this module can read or write Postgres (payments.nz_interbank_payments).
MOD-104 AWS shared infrastructure bootstrap Required AWS shared infrastructure provisioned by MOD-104 (EventBridge buses, API Gateway, Lambda execution role) is required before this module can be deployed.

Required by

(No modules in this wiki currently declare a dependency on this module.)


Policies satisfied

Policy Title Mode How
PAY-001 Payment Operations Policy GATE All outbound NZ interbank payments pass pre-payment validation (balance, sanctions, daily limits) before submission to the Payments NZ clearing network.
PAY-002 Settlement Risk Policy LOG Every NZ interbank payment instruction, clearing confirmation, and settlement batch entry is logged to the payment audit trail for settlement risk management purposes.
PAY-005 Payment Fraud Prevention Policy AUTO NZ interbank payments pass through the transaction fraud scorer before submission; high-risk payments trigger a review hold.
PAY-009 Payment Exceptions, Returns & Reversals Policy AUTO Returned payments (invalid account, account closed) are credited back to the originating account automatically with a customer notification.
REP-005 Data Quality & Assurance Policy LOG All interbank payment data is logged with Payments NZ clearing references for data quality and reconciliation purposes.

Capabilities satisfied

(No capabilities mapped)


Part of SD04 — Payments Processing Platform Compiled 2026-05-22 from source/entities/modules/MOD-122.yaml