open-standards/openpay/crates/op-rails-a2a/vectors/pacs002_rjct_ac03.xml
Transaction Science 70ecd6caa0 Initial import — three open standards under one shelf
Transaction Science open standards monorepo. Each subdirectory is a
self-contained reference protocol with its own README and licence.

- openpay/    Apache-2.0  payment-acceptance stack (Rust, 26 crates)
- smart-byte/ CC-BY-4.0   content-addressed value carrier (spec)
- eoc/        CC-BY-4.0   energy-optimised compute (spec)

The wire format and the right to fork are public. The optional hosted
services are the offer; the protocols are not.
2026-05-23 07:58:09 -04:00

36 lines
1.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Conformance vector: pacs.002.001.10 inbound rejection.
Verified rules:
- TxSts = RJCT
- StsRsnInf is mandatory on rejection
- Rsn.Cd carries an ExternalStatusReason1Code value (here AC03 = invalid
creditor account number — verified in FedNow Service Operating
Procedures v3.2 reason-code matrix)
- AddtlInf carries free-text additional information
This is the shape my parse_pacs002() extracts five fields from:
TxSts, OrgnlUETR, OrgnlEndToEndId, Cd (first), AddtlInf (first).
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.10">
<FIToFIPmtStsRpt>
<GrpHdr>
<MsgId>STSRPT20260517100001002</MsgId>
<CreDtTm>2026-05-17T10:00:01Z</CreDtTm>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>FEDNOW20260517100000002</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.08</OrgnlMsgNmId>
</OrgnlGrpInfAndSts>
<TxInfAndSts>
<OrgnlUETR>87b654c2-3d21-4e09-87f6-1a2b3c4d5e6f</OrgnlUETR>
<OrgnlEndToEndId>INV4243</OrgnlEndToEndId>
<TxSts>RJCT</TxSts>
<StsRsnInf>
<Rsn><Cd>AC03</Cd></Rsn>
<AddtlInf>Invalid creditor account number</AddtlInf>
</StsRsnInf>
</TxInfAndSts>
</FIToFIPmtStsRpt>
</Document>