Skip to main content

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
  • 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

  • customerReference must 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.
fieldpattern / charsetmax lengthmandatory/optional
customerReferenceSWIFT35O * Acme auto-generate if not provided
paymentDetailsSWIFT140O
purposeCode^[A-Za-z0-9]4$4M
receiver.nameSWIFT35M
receiver.bankAlphanumeric (BIC/SWIFT code)11M
receiver.bankAccountNumberAlphanumeric34M

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 BKTR type for In-house Book Transfer within CIMB SG.
fieldpattern / charsetmax lengthmandatory/optional
customerReferenceSWIFT19O * Acme auto-generate if not provided
receiver.bankAccountNumberAlphanumeric34M

Example payload:

{
"senderAccountId": "intacc_XXXXXXXXXXXXX",
"type": "BKTR",
"amount": 100,
"currency": "SGD",
"receiver": {
"bankAccountNumber": "1234567890"
},
"paymentDetails": "In House Transfer for INV002",
"customerReference": "0SR5123967T"
}