Requirements for XML Files per Rail
This section describes the XML file requirements for the following payment methods (rails):
-
Book transfers
-
ACH Push CCD
-
ACH Push PPD
-
Fedwire
-
ACH Direct debits
-
RTP send (push) funds
For more information on the code structure for each payment method, see the corresponding topic in the XML Examples section.
See Preparing Your Transaction XML File for more details on the blocks and tags used in the XML examples below.
Book Transfers
For book transfers (among 2 accounts within CR):
Both the DbtrAgt block and the CdtrAgt block must contain CR's routing number (021214891) in the MmbId element.
When sending funds from one of your COS Partner bank accounts to another of your COS Partner bank accounts, Unicorn will transfer the funds with an internal book transfer.
ACH Push CCD
For ACH Push CCD transfers, the PmtTpInf block must be according to the following example:
XML
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>NURG</Cd>
</SvcLvl>
<LclInstrm>
<Prtry>CCD</Prtry>
</LclInstrm>
</PmtTpInf>
All the above fields are required. Unicorn looks for these fields in order to know what type of transaction you are requesting. If it can’t find any of these, it will cause an error.
ACH Push PPD
For ACH Push PPD transfers, the PmtTpInf block must be according to the following example:
XML
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>NURG</Cd>
</SvcLvl>
<LclInstrm>
<Prtry>PPD</Prtry>
</LclInstrm>
</PmtTpInf>
All the above fields are required. Unicorn looks for these fields in order to know what type of transaction you are requesting. If it can’t find any of these, it will cause an error.
Fedwire
For Fedwire payments:
-
The CdtrAgt's MmbId value must be different than CR's routing number (021214891).
XML
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>USABA</Cd>
</ClrSysId>
<MmbId>123456789</MmbId>
</ClrSysMmbId>
<Nm>THE BANK OF NEW YORK MELLON</Nm>
<PstlAdr>
<Ctry>US</Ctry>
</PstlAdr>
</FinInstnId>
</CdtrAgt>
-
The PmtTpInf's Cd value must be "URGP".
ACH Direct Debits (ACH Pull)
For ACH direct debits:
-
The file type must be: XML pain.008.001.02 ISO 20022.
XML
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02">
-
The Payment Method (PmtMtd) value must be “DD”.
-
The Creditor Agent (CdtrAgt)'s Member ID (MmbId) value must always be CR's routing number (021214891).
XML
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<MmbId>021214891</MmbId>
</ClrSysMmbId>
...
</FinInstnId>
</CdtrAgt>
-
The Payment Type Information must include the Service Level Code of “NURG” and the Local Instrument Proprietary value, which is the ACH Pull type (“CCD” or “PPD”).
XML
<PmtTpInf>
<SvcLvl>
<Cd>NURG</Cd>
</SvcLvl>
<LclInstrm>
<Prtry>CCD</Prtry>
</LclInstrm>
</PmtTpInf>
For example:
XML
<PmtInf>
...
<PmtMtd>DD</PmtMtd>
...
<PmtTpInf>
<SvcLvl>
<Cd>NURG</Cd>
</SvcLvl>
<LclInstrm>
<Prtry>CCD</Prtry>
</LclInstrm>
</PmtTpInf>
...
<CdtrAgt>
...
<MmbId>021214891</MmbId>
...
</CdtrAgt>
...
</PmtInf>
All the fields shown above for Direct Debit are required so that Unicorn can identify the payment type and details.
RTP send (push) funds
This is how you should structure your XML for sending funds using RTP.
XML
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>URNS</Cd>
</SvcLvl>
<LclInstrm>
<Prtry>rtp</Prtry>
</LclInstrm>
</PmtTpInf>