Bank payment rules

Acme Standard Chartered Bank Hong Kong Payments (API)

This describes validations / allowed data formats for Acme payments going through Standard Chartered Bank (SCB) Hong Kong (SCBLHKHHXXX) over the SCB Open Banking API. These will be validated by Acme and further validated by the bank. These rules may be stricter than what the bank requires.

Supported types: HK_FPS_PROXY, HK_FPS_ACCOUNT, HK_ACH, HK_CHATS, BKTR, TT.

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
  • customerReference is required for all payment types. It must be unique and must not exceed 16 characters.

  • paymentDetails is sent to the beneficiary as unstructured remittance information across 2 lines of 70 characters.

  • receiver.name is required for all payment types and must not exceed 140 characters. It is not restricted to the SWIFT character set.

  • receiver.address.city and receiver.address.country are required for all payment types, as enforced by Standard Chartered Bank.

  • receiver.address.line1 is required for TT only. It is optional for every other payment type.

  • The line2, state, and postalCode address fields are optional. line1 and line2 accept up to 70 SWIFT characters, state up to 35, and postalCode up to 16.

  • receiver.localRoutingIdentifier is the 3-digit HKICL bank clearing code.

  • purposeCode is not required for any SCB Hong Kong payment type.

  • bankChargeBearer defaults to SHARED when omitted. On BKTR it is always SHARED, whatever value is supplied.

  • For HK_FPS_PROXY and HK_FPS_ACCOUNT, Acme sets paymentDate to the current date in the Asia/Hong_Kong timezone.

ISO 20022 migration: SCB address requirements

  • SCB is migrating to the ISO 20022 message standards. The beneficiary address requirements on this page are part of this migration. Refer to ISO 20022 at Standard Chartered for an overview.
  • Acme sends SCB Hong Kong the Address-Validation: Y header, so the beneficiary address.city (town name) and address.country are mandatory for all payment types. Acme validates this on every payment.

customerReference and paymentDetails are validated by the bank

  • Acme does not pre-validate the length or character set of customerReference and paymentDetails on SCB Hong Kong payments.
  • A customerReference over 16 characters, or a non-SWIFT character in either field, is rejected by Standard Chartered Bank after submission rather than by the Acme API.
  • A paymentDetails value over 140 characters is silently truncated to 140 before submission — the payment succeeds and the beneficiary sees the clipped text. Keep both fields within the limits stated above.

HK_FPS_PROXY

Faster Payment System transfer addressed to a registered proxy rather than an account number.

  • receiver.bank and receiver.localRoutingIdentifier must not be provided. The proxy identifies the beneficiary bank.
  • receiver.proxyValue format depends on receiver.proxyType:
    • FPS_ID: at most 9 digits.
    • HKID: 1 or 2 uppercase letters, then 6 digits, then a digit or the letter A.
    • MOBILE: must start with + followed by digits, and must carry a country code Acme can parse.
    • EMAIL: accepted without a format check by Acme. Standard Chartered Bank validates it.
fieldpattern / charsetmax lengthmandatory/optional
currencyHKD or CNY3M
customerReferenceSWIFT16M
paymentDetailsSWIFT140O
bankChargeBearerSENDER or RECEIVER or SHAREDO
receiver.nameFree text140M
receiver.proxyTypeFPS_ID, HKID, MOBILE, or EMAILM
receiver.proxyValueDepends on receiver.proxyTypeM
receiver.address.citySWIFT35M
receiver.address.countryISO 3166-1 alpha-22M

HK_FPS_ACCOUNT

Faster Payment System transfer addressed to a bank clearing code and account number.

receiver.bank must not be provided. receiver.localRoutingIdentifier routes the payment.

fieldpattern / charsetmax lengthmandatory/optional
currencyHKD or CNY3M
customerReferenceSWIFT16M
paymentDetailsSWIFT140O
bankChargeBearerSENDER or RECEIVER or SHAREDO
receiver.nameFree text140M
receiver.localRoutingIdentifierNumeric HKICL clearing code3M
receiver.bankAccountNumberNumeric34M
receiver.address.citySWIFT35M
receiver.address.countryISO 3166-1 alpha-22M

HK_ACH

Hong Kong Automated Clearing House transfer. A batched, non-urgent local transfer.

receiver.bank must not be provided. receiver.localRoutingIdentifier routes the payment.

fieldpattern / charsetmax lengthmandatory/optional
currencyHKD or CNY3M
customerReferenceSWIFT16M
paymentDetailsSWIFT140O
bankChargeBearerSENDER or RECEIVER or SHAREDO
receiver.nameFree text140M
receiver.localRoutingIdentifierNumeric HKICL clearing code3M
receiver.bankAccountNumberNumeric34M
receiver.address.citySWIFT35M
receiver.address.countryISO 3166-1 alpha-22M

HK_CHATS

Clearing House Automated Transfer System. A same-day high-value RTGS transfer.

  • receiver.bank is required. receiver.localRoutingIdentifier must not be provided.
  • Each CHATS currency clears through a different set of participant banks. Confirm the beneficiary bank supports the currency being sent.
fieldpattern / charsetmax lengthmandatory/optional
currencyHKD, CNY, USD, or EUR3M
customerReferenceSWIFT16M
paymentDetailsSWIFT140O
bankChargeBearerSENDER or RECEIVER or SHAREDO
receiver.nameFree text140M
receiver.bankAlphanumeric11M
receiver.bankAccountNumberNumeric34M
receiver.address.citySWIFT35M
receiver.address.countryISO 3166-1 alpha-22M

BKTR

Book Transfer. An intra-SCB transfer between two accounts at SCB Hong Kong (SCBLHKHHXXX).

  • receiver.bank and receiver.localRoutingIdentifier must not be provided. SCB routes the payment to itself.
  • bankChargeBearer is always SHARED on this payment type.
fieldpattern / charsetmax lengthmandatory/optional
currencyISO 4217 currency code3M
customerReferenceSWIFT16M
paymentDetailsSWIFT140O
receiver.nameFree text140M
receiver.bankAccountNumberNumeric34M
receiver.address.citySWIFT35M
receiver.address.countryISO 3166-1 alpha-22M

TT

Telegraphic Transfer. A cross-border SWIFT transfer.

  • receiver.bank is required.
  • receiver.address.line1 is required on this payment type only.
fieldpattern / charsetmax lengthmandatory/optional
currencyISO 4217 currency code3M
customerReferenceSWIFT16M
paymentDetailsSWIFT140O
bankChargeBearerSENDER or RECEIVER or SHAREDO
receiver.nameFree text140M
receiver.bankAlphanumeric11M
receiver.bankAccountNumberFree textM
receiver.address.line1SWIFT70M
receiver.address.citySWIFT35M
receiver.address.countryISO 3166-1 alpha-22M

On this page