Guide to Local Hong Kong Payments

A quick guide for getting started with payments to Hong Kong

Hong Kong is one of the world's major financial centers and as such has multiple payment systems. Besides global SWIFT connectivity and having banks that offer multi-currency accounts that can hold 10+ currencies by default, Hong Kong's local payment systems support transactions in multiple currencies, specifically HKD, USD, and CNY.

The two main payment systems are FPS and CHATS. FPS supports local HKD and CNY currencies, multiple types of identifying recipient information (bank code + account number, user phone number, etc.), and works 24/7. CHATS supports USD and CNY currencies, works via SWIFT bank identification codes and account numbers, and works from 9am-5pm HKT (same as SWIFT hours).

Today, Reap facilitates payments using both systems - FPS for HKD local transactions, and CHATS for USD local transactions. Please note that HKD, USD, and CNY are all available for transactions via SWIFT, and in the future we plan on expanding our local CNY payment capabilities with these systems.

For HKD payments via FPS, here are some key details to know:

  • The payment bank country must be HK
  • If using an account number to identify the recipient's bank account, then we also need to identify the bank
    • The bank code, sometimes called the clearing code, can be found here, it is a 3-digit code
    • The bank code needs to be added as the networkIdentifierwhen creating a payment
    • The account_number should be written without the bank code in front of it (our system validates that this input is between 6-16 characters) - this should be outlined in the documentation associated with the payment
  • If using an alias:
    • If phone number, the format must be "+852-xxxxxxxx", inclusive of the "+" and the "-" characters
    • If email, it must include the "@"
    • If fps_id, the length must be either 7 characters or 9 characters

For USD payments via CHATS, here are some key details to know:

  • The payment bank country must be HK
  • The SWIFT code must be that of a HK bank
  • The account number shouldn't include any bank or branch code information (as the SWIFT code is already sufficient for bank identification) - this should be outlined in the documentation associated with the payment. We validate that this input is between 6-16 characters

Please note that even if the bank code (3 characters) is provided in the account_number as one joint number, the bank code should be added in the networkIdentifierparameter (and the actual account number should be the only input in the account_number parameter).


Did this page help you?