Acme OCBC Bank Singapore Payments (H2H)
This describes validations / allowed data formats for Acme payments going through OCBC 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
-
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
- The 26 uppercase Latin letters
-
BIC11:
- 11-character Bank Identifier Code
General notes
- The beneficiary country (
receiver.address.country) must be an uppercase 2-letter ISO 3166 country code (e.g.SGfor Singapore). - The format for BIC (used in
receiver.bankandreceiver.intermediaryBank) is strictly validated using[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?(as specified in ISO20022 BICFIIdentifier).
Currency
- ACT, MEPS, FAST, GIRO, PAYNOW (FAST), and PAYNOW_GIRO payments must be in
SGD.
Payment date
- For GIRO and PAYNOW_GIRO, the
paymentDatemust be at least one business day after today (Asia/Singapore time).
Amount
- FAST and PAYNOW (FAST) payments must not be more than SGD 200,000 in amount.
FAST / GIRO
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| receiver.name | SWIFT | 140 | M |
| receiver.bank | BIC11 | 11 | M |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
| receiver.address | SWIFT | 35 chars x 3 | O |
PAYNOW (FAST)
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| receiver.name | SWIFT | 140 | M |
| receiver.proxyType | MOBILE or UEN or NRIC or VPA | M | |
| receiver.proxyValue for MOBILE | + followed by 1 to 15 digits | 16 | M |
| receiver.proxyValue for UEN | 1 to 35 digits and uppercase letters A-Z | 35 | M |
| receiver.proxyValue for NRIC | First letter S, T, F, G, or M, followed by 7 digits, then an uppercase check letter | 9 | M |
| receiver.proxyValue for VPA | 1 to 21 characters from +, #, digits, and uppercase letters A-Z | 21 | M |
| receiver.address | SWIFT | 35 chars x 3 | O |
PAYNOW_GIRO
VPA is not a valid receiver.proxyType for PAYNOW_GIRO.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| receiver.name | SWIFT | 140 | M |
| receiver.proxyType | MOBILE or UEN or NRIC | M | |
| receiver.proxyValue for MOBILE | + followed by 1 to 15 digits | 16 | M |
| receiver.proxyValue for UEN | 1 to 35 digits and uppercase letters A-Z | 35 | M |
| receiver.proxyValue for NRIC | First letter S, T, F, G, or M, followed by 7 digits, then an uppercase check letter | 9 | M |
| receiver.address | SWIFT | 35 chars x 3 | O |
ACT
Also known as IFT (Internal Funds Transfer) or Book Transfer.
The receiver.bank is not required because it's a transfer within the same bank (OCBC).
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| receiver.name | SWIFT | 35 | M |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
| receiver.address | SWIFT | 35 chars x 3 | O |
MEPS
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | SWIFT | 35 | M |
| receiver.bank | BIC11 | 11 | M |
| receiver.intermediaryBank | BIC11 | 11 | O |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
| receiver.address | SWIFT | 35 chars x 3 | O |
TT
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | SWIFT | 35 | M |
| receiver.bank | BIC11 | 11 | M |
| receiver.intermediaryBank | BIC11 | 11 | O |
| receiver.localRoutingIdentifier | Alphanumeric | 35 | O |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
| receiver.address | SWIFT | 35 chars x 3 | M |
| receiver.address.country | uppercase ISO country code | 2 | M |