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
- The 26 uppercase Latin letters
-
customerReferenceis required for all payment types. It must be unique and must not exceed 16 characters. -
paymentDetailsis sent to the beneficiary as unstructured remittance information across 2 lines of 70 characters. -
receiver.nameis required for all payment types and must not exceed 140 characters. It is not restricted to the SWIFT character set. -
receiver.address.cityandreceiver.address.countryare required for all payment types, as enforced by Standard Chartered Bank. -
receiver.address.line1is required forTTonly. It is optional for every other payment type. -
The
line2,state, andpostalCodeaddress fields are optional.line1andline2accept up to 70 SWIFT characters,stateup to 35, andpostalCodeup to 16. -
receiver.localRoutingIdentifieris the 3-digit HKICL bank clearing code. -
purposeCodeis not required for any SCB Hong Kong payment type. -
bankChargeBearerdefaults toSHAREDwhen omitted. OnBKTRit is alwaysSHARED, whatever value is supplied. -
For
HK_FPS_PROXYandHK_FPS_ACCOUNT, Acme setspaymentDateto the current date in theAsia/Hong_Kongtimezone.
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: Yheader, so the beneficiaryaddress.city(town name) andaddress.countryare 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
customerReferenceandpaymentDetailson SCB Hong Kong payments. - A
customerReferenceover 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
paymentDetailsvalue 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.bankandreceiver.localRoutingIdentifiermust not be provided. The proxy identifies the beneficiary bank.receiver.proxyValueformat depends onreceiver.proxyType:FPS_ID: at most 9 digits.HKID: 1 or 2 uppercase letters, then 6 digits, then a digit or the letterA.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.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| currency | HKD or CNY | 3 | M |
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | Free text | 140 | M |
| receiver.proxyType | FPS_ID, HKID, MOBILE, or EMAIL | M | |
| receiver.proxyValue | Depends on receiver.proxyType | M | |
| receiver.address.city | SWIFT | 35 | M |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |
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.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| currency | HKD or CNY | 3 | M |
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | Free text | 140 | M |
| receiver.localRoutingIdentifier | Numeric HKICL clearing code | 3 | M |
| receiver.bankAccountNumber | Numeric | 34 | M |
| receiver.address.city | SWIFT | 35 | M |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |
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.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| currency | HKD or CNY | 3 | M |
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | Free text | 140 | M |
| receiver.localRoutingIdentifier | Numeric HKICL clearing code | 3 | M |
| receiver.bankAccountNumber | Numeric | 34 | M |
| receiver.address.city | SWIFT | 35 | M |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |
HK_CHATS
Clearing House Automated Transfer System. A same-day high-value RTGS transfer.
receiver.bankis required.receiver.localRoutingIdentifiermust not be provided.- Each CHATS currency clears through a different set of participant banks. Confirm the beneficiary bank supports the currency being sent.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| currency | HKD, CNY, USD, or EUR | 3 | M |
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | Free text | 140 | M |
| receiver.bank | Alphanumeric | 11 | M |
| receiver.bankAccountNumber | Numeric | 34 | M |
| receiver.address.city | SWIFT | 35 | M |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |
BKTR
Book Transfer. An intra-SCB transfer between two accounts at SCB Hong Kong (SCBLHKHHXXX).
receiver.bankandreceiver.localRoutingIdentifiermust not be provided. SCB routes the payment to itself.bankChargeBeareris alwaysSHAREDon this payment type.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| currency | ISO 4217 currency code | 3 | M |
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| receiver.name | Free text | 140 | M |
| receiver.bankAccountNumber | Numeric | 34 | M |
| receiver.address.city | SWIFT | 35 | M |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |
TT
Telegraphic Transfer. A cross-border SWIFT transfer.
receiver.bankis required.receiver.address.line1is required on this payment type only.
| field | pattern / charset | max length | mandatory/optional |
|---|---|---|---|
| currency | ISO 4217 currency code | 3 | M |
| customerReference | SWIFT | 16 | M |
| paymentDetails | SWIFT | 140 | O |
| bankChargeBearer | SENDER or RECEIVER or SHARED | O | |
| receiver.name | Free text | 140 | M |
| receiver.bank | Alphanumeric | 11 | M |
| receiver.bankAccountNumber | Free text | M | |
| receiver.address.line1 | SWIFT | 70 | M |
| receiver.address.city | SWIFT | 35 | M |
| receiver.address.country | ISO 3166-1 alpha-2 | 2 | M |