Skip to main content

Acme Citibank US Payments

This describes validations / allowed data formats for Acme payments going through Citibank US. These will be validated by Acme and further validated by the bank. These rules may be stricter than what the bank requires.

Common Definitions

  • SWIFT Character Set:

    • The 26 uppercase Latin letters A-Z
    • The 26 lowercase Latin letters a-z
    • The 10 digits 0-9
    • Forward slash /
    • Hyphen -
    • Question mark ?
    • Colon :
    • Left and right parentheses ( )
    • Full stop .
    • Comma ,
    • Single quote '
    • Plus sign +
    • Space  
  • Citi restrictions:

    • For SWIFT character set: do not start a field with any of the following characters: /, -, :

US_ACH

fieldpattern / charsetmax lengthmandatory/optional
subtype (at batch level)CCD or PPDM
customerReferenceSWIFT (uppercase only)15M
paymentDetailsSWIFT80O
instructionForSenderBankSWIFT35O
receiver.nameSWIFT22M
receiver.bankAccountNumberNumeric17M
receiver.bankNameSWIFT35M
receiver.accountTypeCHECKING or SAVINGSM
receiver.localRoutingIdentifierNumeric (routing number)9M
receiver.addressSWIFT35 chars x 3O

Note: CCD subtype is for sending to corporate accounts, it can only send to CHECKING account type. PPD subtype is for sending to personal accounts, it can use either CHECKING or SAVINGS.

Example:

{
"type": "US_ACH",
"subtype": "CCD",
"currency": "USD",
"payments": [
{
"amount": 100,
"customerReference": "REF 01",
"receiver": {
"name": "Recipient Name",
"bankName": "Test Bank",
"localRoutingIdentifier": "123456789",
"bankAccountNumber": "987654321",
"accountType": "CHECKING"
}
},
{
"amount": 200,
"customerReference": "REF 02",
"receiver": {
"name": "Recipient Two",
"bankName": "Test Bank",
"localRoutingIdentifier": "123456789",
"bankAccountNumber": "967854321",
"accountType": "CHECKING"
}
}
]
}