GLOBAL PAYMENTS KNOWLEDGEISO 20022 / SWIFT / SEPA / MT / MX

SEPA / Learning brief

ACK, NACK, and the Payment Status Report (pacs.002)

Your notes

What this means in plain language

An ACK (acknowledgement) confirms a message was accepted and a NACK (negative acknowledgement) reports it was rejected, while the pacs.002 payment status report tells the sender whether the payment itself was accepted, rejected, or is still pending, with reason codes.

When a payment message is sent, the sender needs to know two different things: was the message received correctly, and was the payment itself accepted. An ACK (acknowledgement) is a positive reply that a message was received and passed basic checks; a NACK (negative acknowledgement) is the opposite, reporting that the message was rejected, usually with an error code explaining why. These operate at the network level and say nothing about whether the payment will succeed. The pacs.002, or PSR (payment status report), works at the business level. Sent in reply to a payment such as a pacs.008, it reports the payment's status, accepted, accepted and settled, pending, or rejected, and when something is rejected it carries a reason code drawn from a shared list. Keeping the two apart is important: a message can be acknowledged by the network yet still be rejected by the receiving bank for a reason such as a closed account. The pacs.002 is where that outcome is reported.

Understand the full idea, step by step

Think of posting a parcel. The counter clerk confirming they received your parcel is one kind of yes. The recipient signing for it days later is another kind entirely. Payments have exactly this split: a confirmation that a message was received and readable, and a separate verdict on whether the payment itself was accepted. Mixing the two up is how operations teams tell customers the wrong thing.

ACK / NAKacknowledgement / negative acknowledgement

At the network layer, an ACK (acknowledgement) confirms that a message was received and passed technical validation — it is well-formed, authenticated, and accepted for onward handling. A NAK (negative acknowledgement) says the message was refused at that technical level: malformed, failed a structural check, or otherwise unprocessable. Both are about the envelope, not the payment. An ACK means "your message is good", never "your payment is done".

Payment status reportthe business verdict on the payment, carried by pacs.002

The pacs.002 payment status report is the business layer answer: was the payment itself accepted, rejected, or still pending? Its status field carries values such as ACCP (accepted) or RJCT (rejected), and when rejected it names a reason code. This is the verdict that tells Bank Alfa whether Asha Traders' money will actually reach the supplier — a different question from whether the message was well-formed.

Network acknowledgement vs payment status report
ACK / NAKpacs.002 status report
LayerNetwork / technicalBusiness / payment
Question answeredWas the message received and readable?Was the payment accepted or rejected?
Typical valuesACK, NAKACCP, RJCT, PDNG (pending)
A negative meansThe message could not be processedThe payment was refused — with a reason code
What a positive provesTransport succeededThe payment reached that business status

ISO 20022 — ILLUSTRATIVE, NON-PRODUCTION

This pacs.002 is the business verdict. Its status field is what Maya reads to know the payment's fate; when the value is RJCT rather than accepted, a reason code accompanies it. The message references the original payment so the status attaches to the right transaction — it carries a verdict, never money.

Can a payment be accepted by the network yet still rejected as a payment?

Yes — and this is the whole point of keeping the layers apart. The network can ACK a message because it is perfectly well-formed and authenticated, while the pacs.002 that follows says RJCT because a control flagged the payment, the account cannot be credited, or a scheme rule blocks it. "The message went through" and "the payment went through" are two different facts. A clean ACK with a later RJCT is an ordinary, correct sequence, not a contradiction.

COMMON CONFUSION

We got an ACK, so the payment succeeded — tell the customer it is done.

An ACK only confirms the message was received and readable. The payment's fate is a separate answer that arrives in the pacs.002 status report. Treating an ACK as success is how a customer gets told "paid" for a payment that a later RJCT actually refused.

REMEMBER IT

Two yeses, two questions. ACK answers "did my message arrive?" — the envelope. pacs.002 ACCP answers "was my payment accepted?" — the contents. You need both, and you never let the first stand in for the second.

FOR NOW, REMEMBER

  • ACK/NAK live at the network layer: they confirm a message was received and readable, or refused as unprocessable.
  • The pacs.002 payment status report lives at the business layer: it says the payment was accepted (ACCP), rejected (RJCT), or pending.
  • A payment can be network-accepted (ACK) yet business-rejected (RJCT) — the two layers answer different questions.
  • Never report a payment as successful on the strength of an ACK alone; wait for the business status.

TRY IT YOURSELF

Bank Alfa's system shows an ACK for Asha Traders' payment message, and minutes later a pacs.002 with status RJCT and a reason code. What is the accurate reading?

The message was received and technically valid, but the payment itself was rejected; the customer should be told it did not complete, with the reason.

Correct — Correct. The ACK confirms the envelope was fine; the pacs.002 RJCT is the business verdict on the payment. Both are true at once, and the payment's real outcome is the rejection.

The two messages contradict each other, so the status is unknown until one is retracted.

Not this one — There is no contradiction: an ACK is about transport and a pacs.002 is about the payment. A clean ACK followed by an RJCT is a normal, coherent sequence, not an error to resolve.

The ACK already confirmed success, so the pacs.002 must be a duplicate that can be ignored.

Not this one — An ACK never confirms payment success — only message receipt. Ignoring the pacs.002 would hide the actual rejection and mislead the customer about whether they were paid.

These status messages become even more consequential when there is no overnight batch to hide a slow answer in. Next: SEPA Instant, where acceptance, settlement, and the final yes all have to happen in seconds, any hour of any day.

KEEP GOING

Three things to remember

  1. 01

    An ACK (acknowledgement) and NACK (negative acknowledgement) report whether a message was received and well-formed, not whether the payment succeeded.

  2. 02

    The pacs.002 payment status report (PSR) reports the business outcome, accepted, settled, pending, or rejected, of a submitted payment.

  3. 03

    Rejections carry a reason code from a shared external list, so both banks read the cause the same way.

Where you would use this

USE CASE 01

A payments operations team watches for a NACK to learn immediately that a message was malformed and must be corrected and resent.

USE CASE 02

A bank reads the pacs.002 status to update a customer on whether a transfer was accepted, settled, or rejected.

USE CASE 03

A reconciliation process uses pacs.002 reason codes to route rejected payments to the right repair or return workflow.

Put the idea into a real situation

Illustrative example: a fictional bank, Meridian Trust, submits a pacs.008 customer credit transfer of EUR 9,750.00 to a fictional beneficiary bank, Kestrel Union Bank. The network first returns an ACK confirming the message was well-formed. Kestrel Union Bank then checks the beneficiary account, finds it was closed, and replies with a pacs.002 payment status report carrying the status RJCT (rejected) and the reason code AC04 (closed account). Because the payment had not yet settled, this is a reject rather than a return. Meridian Trust routes the EUR 9,750.00 to a repair queue, contacts the payer for corrected details, and resubmits a new pacs.008 the same day.

Evidence & review

REVIEWED 2026-07-13

ISO 20022 payment messaging generally; illustrated with the SEPA context. Exact acknowledgement mechanics depend on the network and clearing system.

What this brief simplifies: Treats the network/technical acknowledgement and the business pacs.002 as two clean layers. In practice the specific acknowledgement message and where each check runs vary by infrastructure; status and reason code values follow the ISO 20022 external code set.

Sources for this brief4
  1. Official requirement

    ISO 20022 Catalogue of messagesISO 20022 Registration Authority · pacs.002 FIToFI payment status report; status codes ACCP/RJCT/PDNG

    Defines the current versions of all ISO 20022 message definitions, including the pain, pacs, and camt messages taught on this site. · Checked 2026-07-12

    Each message set is described by a Message Definition Report; earlier versions remain available in the ISO 20022 messages archive.

  2. Official requirement

    ISO 20022 External code setsISO 20022 Registration Authority · Transaction status and reason codes

    Defines the externally maintained code lists (for example category purpose, status reason, and return reason codes) referenced by ISO 20022 payment messages. · Checked 2026-07-12

    Updated quarterly (end of February, May, August, and November) in XLSX, XSD, and JSON formats; always check the latest published version for valid codes.

  3. Official requirement

    Business application header (BAH)ISO 20022 Registration Authority · Business Application Header and message-level acknowledgement handling

    Defines the head.001 Business Application Header that carries sender, receiver, message identification, and business-context data alongside ISO 20022 business messages. · Checked 2026-07-12

    Several BAH versions exist (head.001.001.01 through .03); each usage community, such as CBPR+, specifies which version applies.

  4. Simplified educational illustration

    Payments Signal editorial teaching modelsPayments Signal

    This site's own simplified teaching models. · Checked 2026-07-12

    Used wherever diagrams, scenarios, figures, or example values are didactic constructions rather than sourced facts; every such use carries a simplifications disclosure. All people, companies, banks, and list entries in examples are fictional.

Learn this properly

Related briefs

View SEPA archive

SEPA Payments Schemes

Defines the difference between a payment scheme and a processing system before introducing SEPA's four principal rule sets.

READ BRIEF