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)โ€‹

Sender bank sends pacs.008
-> Receiver validates message
-> Receiver returns pacs.002 status:
ACTC (accepted technical)
ACCP (accepted customer profile/process)
ACSP (accepted settlement in process)
ACSC (accepted settlement completed, where used)
RJCT (rejected)
PDNG (pending/manual review)

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.