Skip to content

ISO 20022 reason code

UPAY: Undue payment

The payment was not due. UPAY is an ISO 20022 reason code used as a status reason, a return reason and a cancellation reason: you will see it in pain.002, pacs.004, camt.053 and camt.056.

UPAY at a glance
CodeUPAY
NameUndue payment
ISO code listsExternalStatusReason1Code (status reason); ExternalReturnReason1Code (return reason); ExternalCancellationReason1Code (cancellation reason)
WhereStsRsnInf/Rsn/Cd; RtrRsnInf/Rsn/Cd (pacs.004), TxDtls/RtrInf/Rsn/Cd (camt); CxlRsnInf/Rsn/Cd

What UPAY means

The payment was not justified: nothing was owed. A payer uses it to cancel or recall a payment made without a reason to pay, such as an invoice paid by mistake or a subscription already ended; UPAY also exists as a status and a return reason.

Not to be confused with: UPAY is a payment that was not due at all; AM09 is a due payment with the wrong amount, and DUPL one sent twice.

A reason code always comes with a status or an action: on its own it says why, not what happened. In a status report look at the status next to it (RJCT means the payment will not be executed); on a statement the returned entry tells you the money has come back.

Where UPAY appears

UPAY belongs to three of the ISO 20022 reason code lists, so it can arrive in these places:

  • Status reason (ExternalStatusReason1Code): in a payment status report (pain.002 from a bank to its customer, pacs.002 between banks) that rejects or holds a payment.
  • Return reason (ExternalReturnReason1Code): in a payment return (pacs.004) after the money has moved, and the returned entry on the account statement (camt.053) or notification (camt.054).
  • Cancellation reason (ExternalCancellationReason1Code): in a request to cancel or recall a payment (camt.055 from a customer, camt.056 between banks).

In a cancellation (recall) request, UPAY says why the payment should be cancelled or returned:

camt.056.001.08 · a recall between banks
<Undrlyg>
  <TxInf>
    <CxlId>RCL-2026-0007</CxlId>
    <OrgnlEndToEndId>INV-2026-0042</OrgnlEndToEndId>
    <CxlRsnInf>
      <Rsn>
        <Cd>UPAY</Cd>
      </Rsn>
    </CxlRsnInf>
  </TxInf>
</Undrlyg>

What to do about UPAY

  • If you sent the payment or the collection: Ask your bank to recall it, and explain to the payee why the payment was not due.

Your bank’s implementation guide and the scheme’s rulebook (for SEPA, the EPC rulebooks) say exactly when it may use UPAY; banks do not all apply a code the same way.

Look up UPAY from a script or an AI agent

Scripts and AI agents get this code’s name, definition, where it sits and the address of this page from GET /api/v1/explain, keyless, or from the explain_code tool of the MCP server (API and MCP docs; add it to Claude, Cursor or VS Code).

REST · curl
curl -s 'https://iso20022-navigator.com/api/v1/explain?code=UPAY&kind=status_reason'