Skip to main content

Acme UOB Malaysia Payments

This describes validations / allowed data formats for Acme payments going through UOB Malaysia. 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 beneficiary country (payments[N].receiver.address.country) is mandatory for all payment types, and must be a valid, uppercase 2-letter ISO country code (ISO 3166 Alpha-2) e.g. MY, SG, AU, US, etc.
  • The format for BIC (used in payments[N].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).
  • Payment date (paymentDate) cannot be in the past (validated against Malaysia time zone * Asia/Kuala_Lumpur).
  • All payments require:
    • payments[N].receiver.transactorRelationship: Must be RELATED or NOT_RELATED
    • payments[N].receiver.residencyStatus: Must be RESIDENT or NON_RESIDENT

TT

Important
  • Payment details (payments[N].paymentDetails) is mandatory. Refer to UOB additional payment details for details.
  • Purpose code (payments[N].purposeCode) is mandatory. Please contact the bank for the latest BNM purpose codes.
  • Purpose of payment (payments[N].purposeOfPayment) is mandatory.
  • Address is mandatory including country and city fields.
  • Clearing code (payments[N].receiver.localRoutingIdentifier) may be required for TT payments to certain countries or currencies. Refer to UOB clearing codes for details.
  • Extra allowed characters: + ' - . , ( ) / : ? # $ % & * = _ ` { | } " ; < > @ [ \ ]
fieldpattern / charsetmax lengthmandatory/optional
payments[N].customerReferenceSWIFT16M
payments[N].paymentDetailsSWIFT
See UOB additional payment details.
Details will appear on the payment advice email.
140M
payments[N].purposeCodeAlphanumeric Example: 00001
Please contact the bank for the latest BNM purpose codes.
5M
payments[N].bankChargeBearerSENDER or RECEIVER or SHARED. Default to SHARED if not provided.O
payments[N].purposeOfPaymentSWIFT60M
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
50 per email (max 1 email)O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.localRoutingIdentifierAlphanumeric35C (Required for certain countries/currencies. See UOB clearing codes.)
payments[N].receiver.intermediaryBankAlphanumeric11O
payments[N].receiver.address.line1SWIFT35M
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35M
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M
payments[N].receiver.transactorRelationshipRELATED or NOT_RELATEDM
payments[N].receiver.residencyStatusRESIDENT or NON_RESIDENTM

MY_RENTAS

Important
  • Currency must be MYR only.
  • Purpose code (payments[N].purposeCode) is mandatory. Please contact the bank for the latest BNM purpose codes.
  • Purpose of payment (payments[N].purposeOfPayment) is mandatory.
  • Address is mandatory including country field.
  • Extra allowed characters: / - ? : ( ) . , ' + # $ % & * = _ ` { | } " ; < > @ [ \ ]
fieldpattern / charsetmax lengthmandatory/optional
payments[N].currencyMYR only3M
payments[N].customerReferenceSWIFT35M
payments[N].paymentDetailsSWIFT
Details will appear on the payment advice email.
140O
payments[N].purposeCodeAlphanumeric Example: 00001
Please contact the bank for the latest BNM purpose codes.
5M
payments[N].purposeOfPaymentSWIFT60M
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
50 per email (max 1 email)O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.localRoutingIdentifierAlphanumeric35O
payments[N].receiver.intermediaryBankAlphanumeric11O
payments[N].receiver.address.line1SWIFT35M
payments[N].receiver.address.line2SWIFT35O
payments[N].receiver.address.citySWIFT35O
payments[N].receiver.address.stateSWIFT35O
payments[N].receiver.address.postalCodeSWIFT16O
payments[N].receiver.address.countryISO 3166-1 alpha-22M
payments[N].receiver.transactorRelationshipRELATED or NOT_RELATEDM
payments[N].receiver.residencyStatusRESIDENT or NON_RESIDENTM

MY_IBG

Important
  • Currency must be MYR only.
  • Purpose code (payments[N].purposeCode) is mandatory. Please contact the bank for the latest BNM purpose codes.
  • Purpose of payment (payments[N].purposeOfPayment) is mandatory.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].currencyMYR only3M
payments[N].customerReferenceSWIFT30M
payments[N].paymentDetailsSWIFT
Details will appear on the payment advice email.
140O
payments[N].purposeCodeAlphanumeric Example: 00001
Please contact the bank for the latest BNM purpose codes.
5M
payments[N].purposeOfPaymentSWIFT60M
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
50 per email (max 1 email)O
payments[N].receiver.nameSWIFT20M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.transactorRelationshipRELATED or NOT_RELATEDM
payments[N].receiver.residencyStatusRESIDENT or NON_RESIDENTM

MY_IAFT

Important
  • Currency must be MYR only.
  • Purpose code (payments[N].purposeCode) is mandatory. Please contact the bank for the latest BNM purpose codes.
  • Purpose of payment (payments[N].purposeOfPayment) is mandatory.
  • Both sender and receiver accounts must be with UOB Malaysia (book transfer).
fieldpattern / charsetmax lengthmandatory/optional
payments[N].currencyMYR only3M
payments[N].customerReferenceSWIFT30M
payments[N].paymentDetailsSWIFT
Details will appear on the payment advice email.
140O
payments[N].purposeCodeAlphanumeric Example: 00001
Please contact the bank for the latest BNM purpose codes.
5M
payments[N].purposeOfPaymentSWIFT60M
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
50 per email (max 1 email)O
payments[N].receiver.nameSWIFT20M
payments[N].receiver.bankAccountNumberAlphanumeric34M
payments[N].receiver.transactorRelationshipRELATED or NOT_RELATEDM
payments[N].receiver.residencyStatusRESIDENT or NON_RESIDENTM

MY_DUITNOW

Important
  • Currency must be MYR only.
  • Use payments[N].receiver.proxyType + payments[N].receiver.proxyValue instead of bank account numbers.
  • Purpose code (payments[N].purposeCode) is conditionally mandatory if payments[N].receiver.residencyStatus = NON_RESIDENT.
  • Purpose of payment (payments[N].purposeOfPayment) is conditionally mandatory if payments[N].receiver.residencyStatus = NON_RESIDENT.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].currencyMYR only3M
payments[N].customerReferenceAlphanumeric40M
payments[N].paymentDetailsSWIFT140O
payments[N].purposeCodeAlphanumeric Example: 00001
Please contact the bank for the latest BNM purpose codes.
5C (required if payments[N].receiver.residencyStatus = NON_RESIDENT)
payments[N].purposeOfPaymentSWIFT60C (required if payments[N].receiver.residencyStatus = NON_RESIDENT)
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
100 per email (max 5 emails)O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.proxyTypeNRIC or PASSPORT or ARMY or MOBILE or BUSINESS_REGM
payments[N].receiver.proxyValue
for NRIC
NRIC / Malaysian Identification Number34M
payments[N].receiver.proxyValue
for PASSPORT
Passport Number + Alpha-3 country code of the country of issuance. E.g: given a passport number E394029340V and country code of Singapore (SGP), the value will be E394029340VSGP.34M
payments[N].receiver.proxyValue
for ARMY
Army Number34M
payments[N].receiver.proxyValue
for MOBILE
+ followed by 7 to 34 digits
Example: +60121234567
34M
payments[N].receiver.proxyValue
for BUSINESS_REG
Business Registration Number (BRN)
Example: 202201234565
34M
payments[N].receiver.transactorRelationshipRELATED or NOT_RELATEDM
payments[N].receiver.residencyStatusRESIDENT or NON_RESIDENTM

MY_IBFT

Important
  • Currency must be MYR only.
  • Proxy identifiers are NOT supported, use bank account number instead.
  • Purpose code (payments[N].purposeCode) is conditionally mandatory if payments[N].receiver.residencyStatus = NON_RESIDENT.
  • Purpose of payment (payments[N].purposeOfPayment) is conditionally mandatory if payments[N].receiver.residencyStatus = NON_RESIDENT.
fieldpattern / charsetmax lengthmandatory/optional
payments[N].currencyMYR only3M
payments[N].customerReferenceAlphanumeric40M
payments[N].paymentDetailsSWIFT140O
payments[N].purposeCodeAlphanumeric Example: 00001
Please contact the bank for the latest BNM purpose codes.
5C (required if payments[N].receiver.residencyStatus = NON_RESIDENT)
payments[N].purposeOfPaymentSWIFT60C (required if payments[N].receiver.residencyStatus = NON_RESIDENT)
payments[N].paymentAdviceEmails[N]Valid email address
Example: ["finance@company.com"]
100 per email (max 5 emails)O
payments[N].receiver.nameSWIFT140M
payments[N].receiver.bankBIC1111M
payments[N].receiver.bankAccountNumberNumeric34M
payments[N].receiver.transactorRelationshipRELATED or NOT_RELATEDM
payments[N].receiver.residencyStatusRESIDENT or NON_RESIDENTM