# Acme Deutsche Bank Singapore Payments (/guides/db-sg-payments)



This describes validations / allowed data formats for Acme payments going
through Deutsche Bank 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 <code style="{whiteSpace: 'pre'}"> </code>

## General notes [#general-notes]

* The beneficiary country (`receiver.address.country`) must be an uppercase 2-letter ISO 3166 country code (e.g. `SG` for Singapore).
* The format for BIC (used in `receiver.bank` and `receiver.intermediaryBank`) is strictly validated using `[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?`
  (as specified in [ISO20022 BICFIIdentifier](https://www.iso20022.org/standardsrepository/type/BICFIIdentifier)).

## FAST [#fast]

| field                      | pattern / charset | max length   | mandatory/optional |
| -------------------------- | ----------------- | ------------ | ------------------ |
| customerReference          | SWIFT             | 25           | M                  |
| paymentDetails             | SWIFT             | 140          | 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                                                                                                                                     | 25           | M                  |
| paymentDetails                       | SWIFT                                                                                                                                     | 140          | 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             | 25           | M                  |
| paymentDetails             | SWIFT             | 140          | O                  |
| receiver.name              | SWIFT             | 35           | M                  |
| receiver.bank              | Alphanumeric      | 11           | M                  |
| receiver.bankAccountNumber | Alphanumeric      | 34           | M                  |
| receiver.address           | SWIFT             | 35 chars x 3 | O                  |

## ACT - not supported [#act---not-supported]

This type is not supported.

## MEPS [#meps]

| field                      | pattern / charset                  | max length   | mandatory/optional |
| -------------------------- | ---------------------------------- | ------------ | ------------------ |
| customerReference          | SWIFT                              | 25           | M                  |
| paymentDetails             | SWIFT                              | 140          | O                  |
| bankChargeBearer           | `SENDER` or `RECEIVER` or `SHARED` |              | O                  |
| receiver.name              | SWIFT                              | 35           | M                  |
| receiver.bank              | Alphanumeric                       | 11           | M                  |
| receiver.bankAccountNumber | Alphanumeric                       | 34           | M                  |
| receiver.address           | SWIFT                              | 35 chars x 3 | O                  |

## TT [#tt]

| field                           | pattern / charset                  | max length   | mandatory/optional |
| ------------------------------- | ---------------------------------- | ------------ | ------------------ |
| customerReference               | SWIFT                              | 25           | M                  |
| paymentDetails                  | SWIFT                              | 140          | O                  |
| bankChargeBearer                | `SENDER` or `RECEIVER` or `SHARED` |              | O                  |
| receiver.name                   | SWIFT                              | 35           | M                  |
| receiver.bank                   | Alphanumeric                       | 11           | M                  |
| receiver.intermediaryBank       | Alphanumeric                       | 11           | O                  |
| receiver.localRoutingIdentifier | Alphanumeric                       | 35           | O                  |
| receiver.bankAccountNumber      | Alphanumeric                       | 34           | M                  |
| receiver.address                | SWIFT                              | 35 chars x 3 | O                  |
| receiver.address.country        | uppercase ISO country code         | 2            | M                  |
