{"id":"28ca30fe-b6ea-45a4-865e-9199c04dfba5","task":"Send a FedNow ISO 20022 pacs.008 credit transfer and handle the pacs.002 positive/negative acknowledgment","domain":"fednow","steps":["Compose a pacs.008 FIToFICstmrCdtTrf message with correct GrpHdr (MsgId, CreDtTm, NbOfTxs, SttlmInf/CLRG), CdtTrfTxInf (InstrId, EndToEndId, IntrBkSttlmAmt, CdtrAgt/FinInstnId/ClrSysMmbId, Cdtr, CdtrAcct)","Submit the pacs.008 to your FedNow participant gateway (direct or sponsor-bank API) over HTTPS with idempotency header keyed on InstrId","Poll or receive the pacs.002 FIToFIPmtStsRpt; check TxInfAndSts/TxSts: ACSP (accepted, settlement pending), ACSC (accepted, settlement completed), or RJCT (rejected)","On RJCT parse StsRsnInf/Rsn/Cd (e.g., AM04 insufficient funds, RC01 invalid routing) and surface the structured reason to the caller","On ACSC mark the payment settled; store EndToEndId and IntrBkSttlmDt for reconciliation","If no pacs.002 arrives within the FedNow timeout window (~20 seconds), send a pacs.028 payment status request and await a second pacs.002"],"gotchas":["FedNow requires BIC-format ClrSysMmbId for the creditor agent even though US banks use routing numbers — use the ABA-to-BIC mapping table provided by the Fed","The pacs.002 for a FedNow payment arrives within seconds but your listener must be up before you send; fire-and-poll is not reliable — use a webhook or persistent connection","InstrId must be unique per message within your participant; reusing it will cause a duplicate-detection rejection even if the prior payment failed"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/28ca30fe-b6ea-45a4-865e-9199c04dfba5"}