ISO 20022 payment status
CANC: Cancelled
The payment initiation was cancelled after a request for cancellation. ISO reserves it for API-based payment initiation. CANC is a payment status your bank reports in a pain.002 status report (banks report it to each other in pacs.002).
| Code | CANC |
|---|---|
| Name | Cancelled |
| Outcome | Not executed |
| Reported for | a single transaction (TxSts), in pain.002.001.08 and later |
| Messages | pain.002 (bank to customer), pacs.002 (bank to bank) |
What CANC means
The payment initiation was cancelled after a request for cancellation, before it was executed. ISO limits CANC to payment initiation through APIs; in file-based banking a cancellation request (camt.055) is answered with a resolution of investigation (camt.029) rather than with a status in a pain.002.
Through a PSD2 payment initiation API, for example, a future-dated or standing payment that the customer cancels before its execution date ends with CANC. A payment that was already executed cannot be cancelled this way: getting the money back then takes a recall, which the payee’s bank may refuse.
Where CANC appears
A status report answers a payment file (pain.001 or pain.008) at up to three levels: the whole message in OrgnlGrpInfAndSts/GrpSts, a payment block in OrgnlPmtInfAndSts/PmtInfSts, and one transaction in TxInfAndSts/TxSts. CANC may be reported for a single transaction (TxSts), in pain.002.001.08 and later; the Payment File Viewer warns when a status sits at a level its ISO code list does not cover.
<OrgnlGrpInfAndSts>
<OrgnlMsgId>NWT-PAY-20261028-03</OrgnlMsgId>
<OrgnlMsgNmId>pain.001.001.09</OrgnlMsgNmId>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>PMT-20261028-03</OrgnlPmtInfId>
<TxInfAndSts>
<OrgnlEndToEndId>NW-2026-403</OrgnlEndToEndId>
<TxSts>CANC</TxSts>
</TxInfAndSts>
</OrgnlPmtInfAndSts>The transactions are matched to your file by OrgnlEndToEndId (and OrgnlInstrId), the blocks by OrgnlPmtInfId and the file by OrgnlMsgId.
What comes next, and what to do
- What usually follows: Nothing: the payment will not be executed.
- What to do: Make sure nothing else depends on the payment (an invoice marked as paid, for example).
Not every bank sends every status: many report only rejections, or only a few steps of the flow. Your bank’s implementation guide lists the statuses it uses.
Look up CANC 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).
curl -s 'https://iso20022-navigator.com/api/v1/explain?code=CANC&kind=payment_status'