# Acme Citibank Singapore Payments (/guides/citi-sg-payments)



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

### Common Definitions [#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: `/`, `-`, `:`

## FAST [#fast]

| field                      | pattern / charset      | max length   | mandatory/optional |
| -------------------------- | ---------------------- | ------------ | ------------------ |
| customerReference          | SWIFT (uppercase only) | 35           | M                  |
| paymentDetails             | SWIFT                  | 140          | O                  |
| instructionForSenderBank   | SWIFT                  | 35           | O                  |
| receiver.name              | SWIFT                  | 35           | M                  |
| receiver.bank              | Alphanumeric           | 11           | M                  |
| receiver.bankAccountNumber | Alphanumeric           | 34           | M                  |
| receiver.address           | SWIFT                  | 35 chars x 3 | O                  |

## PAYNOW [#paynow]

| field                                | pattern / charset                                                                                                                         | max length   | mandatory/optional |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ------------------ |
| customerReference                    | SWIFT (uppercase only)                                                                                                                    | 35           | M                  |
| paymentDetails                       | SWIFT                                                                                                                                     | 140          | O                  |
| instructionForSenderBank             | SWIFT                                                                                                                                     | 35           | O                  |
| receiver.proxyType                   | `MOBILE` or `UEN` or `VPA`                                                                                                                |              | M                  |
| receiver.proxyValue <br />for MOBILE | + followed by 7 to 15 digits                                                                                                              | 16           | M                  |
| receiver.proxyValue <br />for UEN    | 9 to 13 alphanumeric characters                                                                                                           | 13           | M                  |
| receiver.proxyValue <br />for VPA    | Mobile followed by `#` and 4 alphanumeric characters <br /> or <br /> `UEN` followed by UEN followed by `#` and 4 alphanumeric characters | 21           | M                  |
| receiver.address                     | SWIFT                                                                                                                                     | 35 chars x 3 | O                  |

## GIRO [#giro]

| field                      | pattern / charset      | max length | mandatory/optional |
| -------------------------- | ---------------------- | ---------- | ------------------ |
| customerReference          | SWIFT (uppercase only) | 15         | M                  |
| paymentDetails             | SWIFT                  | 105        | O                  |
| instructionForSenderBank   | SWIFT                  | 35         | O                  |
| receiver.name              | SWIFT                  | 35         | M                  |
| receiver.bank              | Alphanumeric           | 11         | M                  |
| receiver.bankAccountNumber | Alphanumeric           | 34         | M                  |

## ACT [#act]

| field                      | pattern / charset      | max length   | mandatory/optional |
| -------------------------- | ---------------------- | ------------ | ------------------ |
| customerReference          | SWIFT (uppercase only) | 15           | M                  |
| paymentDetails             | SWIFT                  | 140          | O                  |
| instructionForSenderBank   | SWIFT                  | 35           | O                  |
| receiver.name              | SWIFT                  | 35           | M                  |
| receiver.bankAccountNumber | Alphanumeric           | 34           | M                  |
| receiver.address           | SWIFT                  | 35 chars x 3 | O                  |

## MEPS [#meps]

| field                      | pattern / charset                  | max length   | mandatory/optional |
| -------------------------- | ---------------------------------- | ------------ | ------------------ |
| customerReference          | SWIFT (uppercase only)             | 15           | M                  |
| paymentDetails             | SWIFT                              | 140          | O                  |
| instructionForSenderBank   | SWIFT                              | 35           | O                  |
| bankChargeBearer           | `SENDER` or `RECEIVER` or `SHARED` |              | M                  |
| receiver.name              | SWIFT                              | 35           | M                  |
| receiver.bank              | Alphanumeric                       | 11           | M                  |
| receiver.bankAccountNumber | Alphanumeric + Dash                | 34           | M                  |
| receiver.address           | SWIFT                              | 35 chars x 3 | O                  |

## TT [#tt]

| field                      | pattern / charset                  | max length   | mandatory/optional |
| -------------------------- | ---------------------------------- | ------------ | ------------------ |
| customerReference          | SWIFT (uppercase only)             | 15           | M                  |
| paymentDetails             | SWIFT                              | 140          | O                  |
| instructionForSenderBank   | SWIFT                              | 35           | O                  |
| bankChargeBearer           | `SENDER` or `RECEIVER` or `SHARED` |              | M                  |
| receiver.name              | SWIFT                              | 35           | M                  |
| receiver.bank              | Alphanumeric                       | 11           | M                  |
| receiver.intermediaryBank  | Alphanumeric                       | 11           | O                  |
| receiver.bankAccountNumber | Alphanumeric + Dash                | 34           | M                  |
| receiver.address           | SWIFT                              | 35 chars x 3 | O                  |
