Skip to main content

pacs.002

pacs.002 communicates payment processing status updates between financial institutions.

Overview

pacs.002 (FIToFIPaymentStatusReport) is used to acknowledge and report the processing status of a payment instruction, usually in response to pacs.008, pacs.009, pacs.004, or cancellation messages.

It is not a funds movement message; it is a status and exception signal.

Why It Matters

  • Gives sending bank visibility into accepted, pending, or rejected instructions
  • Supports operational monitoring and customer status updates
  • Drives exception workflows and retries
  • Provides structured reason codes for failure handling

Status Lifecycle (Typical)

Status usage varies by scheme. Some rails only emit subsets.

Message Structure (High Level)

pacs.002
โ”œโ”€โ”€ GrpHdr (message metadata)
โ””โ”€โ”€ OrgnlGrpInfAndSts
โ”œโ”€โ”€ OrgnlMsgId / OrgnlMsgNmId
โ”œโ”€โ”€ OrgnlNbOfTxs / OrgnlCtrlSum (optional)
โ””โ”€โ”€ TxInfAndSts (per transaction status)
โ”œโ”€โ”€ OrgnlInstrId / OrgnlEndToEndId / OrgnlTxId
โ”œโ”€โ”€ TxSts
โ””โ”€โ”€ StsRsnInf (reason code + narrative)

Common Reason Codes

CodeMeaning
AC01Invalid account number
AC04Closed account
AC06Account blocked
AM04Insufficient funds
AG01Transaction forbidden
FF01File or format error
NARRNarrative explanation

Engineering Guidance

  • Persist each status transition as an immutable event
  • Correlate by original IDs (MsgId, InstrId, EndToEndId)
  • Handle duplicate pacs.002 safely (idempotent updates)
  • Separate technical ACK from business outcome in customer messaging
  • Build timeout logic for missing status responses

pacs.002 vs pacs.004

  • pacs.002 = status/ack/rejection report
  • pacs.004 = actual return of funds after previous acceptance

A rejected payment may only have pacs.002 and never produce pacs.004.

๐Ÿ“–
Track Page Progress0 / 635 Read
Knowledge Base Completion0%