Acme CIMB (API) Payments
This describes validations / allowed data formats for Acme payments going through CIMB API integration. 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 format for BIC (used in
receiver.bank) is strictly validated using[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?(as specified in ISO20022 BICFIIdentifier).
FAST
customerReferencemust be uniquely defined to serve as the end-to-end identifier.- 4 letter purpose code is required for SG FAST payment. Refer to this list from ABS Singapore for the list of official purpose codes supported.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 35 | O * Acme auto-generate if not provided |
| paymentDetails | SWIFT | 140 | O |
| purposeCode | ^[A-Za-z0-9]4$ | 4 | M |
| receiver.name | SWIFT | 35 | M |
| receiver.bank | Alphanumeric (BIC/SWIFT code) | 11 | M |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
Example payload:
{
"senderAccountId": "intacc_XXXXXXXXXXXXX",
"type": "FAST",
"amount": 100,
"currency": "SGD",
"receiver": {
"bankAccountNumber": "0123456789",
"name": "Acme Technology Pte. Ltd.",
"bank": "DBSSSGSGXXX"
},
"purposeCode": "OTHR",
"paymentDetails": "FAST xfer to DBS for INV001",
"customerReference": "0FR4123968T"
}
BKTR
- Use
BKTRtype for In-house Book Transfer within CIMB SG.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| customerReference | SWIFT | 19 | O * Acme auto-generate if not provided |
| receiver.bankAccountNumber | Alphanumeric | 34 | M |
Example payload:
{
"senderAccountId": "intacc_XXXXXXXXXXXXX",
"type": "BKTR",
"amount": 100,
"currency": "SGD",
"receiver": {
"bankAccountNumber": "1234567890"
},
"paymentDetails": "In House Transfer for INV002",
"customerReference": "0SR5123967T"
}