---
title: Requirements per rail
slug: concepts/payments/xml-batch-payments/requirements-per-rail
description: Requirements per rail for sending ACH, Fedwire, book transfers, and RTP/FedNow via ISO 20022 XML. Cross River validates files, tracks status, and manages returns/holds.
docTags: 
createdAt: 2024-08-09T11:57:46.910Z
---

## Payment methods

This section describes the XML file requirements for the following payment methods (rails):

- [Book transfers](docId\:jb3Gaaluj-4sHWjTWOiZm) &#x20;
- [ACH push CCD](docId\:jb3Gaaluj-4sHWjTWOiZm)&#x20;
- [ACH push PPD](docId\:jb3Gaaluj-4sHWjTWOiZm)&#x20;
- [Fedwire](docId\:jb3Gaaluj-4sHWjTWOiZm)&#x20;
- [ACH direct debit](docId\:jb3Gaaluj-4sHWjTWOiZm)&#x20;
- [RTP/FedNow](docId\:jb3Gaaluj-4sHWjTWOiZm)&#x20;

For more information on the code structure for each payment method, see the corresponding topic in the XML input file examples section.&#x20;

See [Prepare input XML file](docId\:MeXfr73i11kMnKc7pVFL1) for more details on the blocks and tags used in the XML examples below.

## Book transfers

For book transfers (among 2 accounts within Cross River):

Both the **DbtrAgt** block and the **CdtrAgt** block must contain Cross River's routing number (021214891) in the **MmbId** element.

## 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. We validate 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. We validate 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**'&#x73;**&#x20;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**'&#x73;**&#x20;Cd&#x20;**&#x76;alue must be "URGP".

```xml
<PmtTpInf>
         <InstrPrty>NORM</InstrPrty>
         <SvcLvl>
             <Cd>URGP</Cd>
         </SvcLvl>
</PmtTpInf>
```

## 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”.

```xml
<PmtInf>
    ...
    <PmtMtd>DD</PmtMtd>
    ...
<PmtInf>
```

- 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 we 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>
```

