Skip to content

Unified Error Code Center

About This Page

What: All error codes, status codes, and rejection reason codes across all banks in the deposit/withdrawal system — organized by bank, with meaning and handling instructions for each code Audience: Anyone who needs to quickly look up the meaning and handling of an error code or status code Prerequisites: None — refer to this page anytime How to use: Ctrl+F to search by error code number or keyword, or jump via the index below Reading time: Reference-style, search as needed Owner: Deposit & Withdrawal Product Team

Quick Jump:

Search by Scenario:


1. Airstar BST

Airstar Capability Overview

Airstar connects via the Mandate authorization model. Error code prefix meanings: 140600 = authorization request, 140630 = Futu-initiated transfer, 140670 = bank-initiated transfer, 140870 = bank authorization callback.

1.1 Futu-to-Bank Transfer Error Codes

Rejection codes returned by Airstar when users initiate BST deposit/withdrawal via moomoo.

Error CodeMeaningDescription & HandlingCustomer Service Script
140630001Transfer parameter errorRequest parameter validation failed; check parameters, contact engineering"The system encountered a temporary issue. Please try again later; if it persists, contact support."
140630002Unauthorized BSTMandate does not exist or has been cancelled; guide user to re-authorize"Please re-authorize BST in the moomoo App."
140630003Transfer limit exceededDaily/cumulative limit exceeded; contact bank to adjust limit or split amount"Your transfer exceeds the bank limit. Please reduce the amount or contact Airstar Bank to adjust the limit."
140630004Single transaction limit exceededExceeds the bank's per-transaction cap; split into multiple smaller transfers"The single transfer amount exceeds the cap. Please split into multiple smaller transfers."
140630005Insufficient balanceBank account balance is insufficient; notify user to top up"Your Airstar Bank account balance is insufficient. Please top up and try again."
140630006Invalid amountAmount is zero or negative; guide user to re-enter"Please check and re-enter the correct transfer amount."
140630007Invalid bank account numberAccount number format or digit count is wrong; verify bank account number"The bank account information is incorrect. Please verify your Airstar Bank account number and try again."
140630008Name mismatchSecurities account name does not match bank account name; verify and re-authorize if necessary"Your securities account name does not match the bank account name. Please verify and re-authorize BST."
140630009Deposit rejectedBank account is frozen/restricted/closed; guide user to contact Airstar"Your bank account may have restrictions. Please contact Airstar Bank customer service."
140630010Withdrawal rejectedBank account does not allow withdrawals; guide user to contact Airstar"Your bank account currently does not support withdrawals. Please contact Airstar Bank to confirm account status."
140630099Bank system errorAirstar internal exception; wait for recovery and retry"The bank system is temporarily unavailable. Please try again later."

High-Frequency Error Codes

140630005 (Insufficient balance) and 140630003 (Limit exceeded) are the two most common codes. When Operations receives an alert, first verify the user's bank account balance and limits — most cases are resolved by the user themselves.

1.2 Bank-to-Futu Transfer Error Codes

Rejection codes returned by moomoo when the bank initiates a transfer instruction.

Error CodeMeaningDescription & HandlingCustomer Service Script
140670001Authorization expiredMandate has expired/been cancelled; notify user to re-authorize"Your BST authorization has expired. Please re-authorize in the moomoo App."
140670002Bank Card not foundBound Bank Card has been deleted; guide user to re-bind and authorize"Your bound Bank Card is no longer valid. Please re-bind your Bank Card and complete authorization."
140670003Risk Control restrictionHit a Risk Control rule; escalate to the Risk Control team"Your account has a security restriction. Our Risk Control team will follow up."
140670004Account has outstanding debtSecurities Account has a debt that must be repaid first; notify user"Your Securities Account has an outstanding debt. Please repay it before proceeding."
140670005Insufficient balanceWithdrawal amount exceeds available balance; notify user to confirm"Your available balance is insufficient. Please confirm your account balance."
140670006Dormant accountAccount flagged due to prolonged inactivity; contact the account team to activate"Your account has been suspended due to inactivity. Please contact support for activation."
140670007Account does not existSecurities Account has been closed; verify account status"No corresponding Securities Account found. Please verify your account information."
140670008NSS questionnaire incompleteRegulatory compliance questionnaire not filled; guide user to complete"Please complete the NSS questionnaire before proceeding with deposit/withdrawal."
140670009GDCA incompleteGDCA certification not completed; guide user to complete"Please complete GDCA certification before proceeding with deposit/withdrawal."
140670010Online account opening deposit insufficientDeposit below 10,000 HKD; inform user of the minimum"Online account opening requires a cumulative deposit of at least HKD 10,000 before this feature can be used."
140670011Online account opening withdrawal restrictedCumulative deposit below 10,000 HKD; inform user to complete minimum deposit first"Your cumulative deposit has not yet reached HKD 10,000. The withdrawal feature will be available once you reach this threshold."
140670012Withdrawal rejected by ApprovalManually rejected in the Approval workflow; check rejection reason"Your withdrawal application did not pass review. Please check the rejection reason or contact support for details."
140670099System exceptionmoomoo internal error; contact engineering"The system encountered a temporary issue. Please try again later."

Online Account Opening Specific Codes

140670010 and 140670011 only affect online account opening users in new card binding scenarios. Minimum deposit threshold is 10,000 HKD.

1.3 Authorization Request Error Codes

Futu-to-Bank (140600xxx)

Error CodeMeaningDescription & Handling
140600001Parameter errorAuthorization request parameter validation failed; verify user info and re-submit
140600002Phone number mismatchDoes not match the bank's registered number; confirm the bank-bound phone number
140600003Name mismatchDifferent from bank account holder name; verify registration name vs. account name
140600004ID information mismatchID number does not match the bank's records; verify ID information
140600005Invalid bank account numberCard number format or digit count is wrong; verify bank account number
140600006Active agreement already existsA valid Mandate already exists; no need to re-authorize
140600007Customer status abnormalCustomer is in abnormal status on Airstar's side; contact Airstar Bank
140600008Account status abnormalAccount does not permit authorization; contact Airstar Bank
140600009Pending record existsPrevious authorization is still being processed; wait for completion then retry
140600099Bank refused authorizationAirstar system issue; contact Airstar technical support

Bank-to-Futu Callback (140870xxx)

Error CodeMeaningDescription & Handling
140870001Multiple moomoo IDsSame card bound to multiple accounts; confirm identity, retain correct binding
140870002Authorization rejectedRejected on bank side; verify reason and guide user to retry
140870003User info mismatchCannot find corresponding user; verify registration information
140870004User status abnormalmoomoo account is abnormal; contact account team
140870005Phone number mismatchDifferent from moomoo registration phone; verify phone number
140870006Account name mismatchDifferent from moomoo registration name; verify name
140870007ID info mismatchDifferent from moomoo registration ID; verify ID
140870099System exceptionmoomoo internal error; contact engineering

1.4 Cancel Authorization Error Codes

Error CodeMeaningDescription & Handling
140610001Cancel parameter errorVerify cancel request parameters
140610002BST binding does not existConfirm whether binding has already expired
140610099System exceptionContact engineering
140890001Unbinding failedVerify reason and retry
140890002In-flight deposit/withdrawal existsWait for in-flight transactions to complete before cancelling
140890099System exceptionContact engineering

1.5 Mandate Authorization Status Codes

Status ValueMeaningDescription
AuthorisedAuthorization successfulDeposit/withdrawal can proceed normally
PendingAuthorisePending authorizationWaiting for bank processing
UnauthorisedNot authorizedAuthorization has not been initiated
RevokedCancelledCancelled by user or bank
PendingRevokedPending cancellationWaiting for bank to process cancellation
RejectAuthoriseAuthorization rejectedBank review did not pass

Key Reminder

Only the Authorised status allows deposit/withdrawal. All transaction instructions during PendingAuthorise will be rejected (returns 140630002).

1.6 Deposit Transaction Status Codes

Status ValueMeaningOperations Note
newNewly createdNormal
notify_bank_approvalNotified bank deposit is allowedNormal
notify_bank_rejectNotified bank deposit is not allowedCheck rejection reason
query_transferQuerying transfer resultPolling in progress, watch for timeout
write_flowWriting Bank StatementNormal
successDeposit successfulNormal terminal state
failDeposit failedCheck error code to identify cause
rejectDeposit rejectedCheck rejection reason
wait_refundWaiting for refundBank initiated refund, requires attention
refundRefundedRequires Reversal, notify user

1.7 Withdrawal Transaction Status Codes

Status ValueMeaningOperations Note
newNewly createdNormal
notify_bank_approvalNotified bank withdrawal is allowedNormal
notify_bank_rejectNotified bank withdrawal is not allowedCheck rejection reason
query_transferQuerying transfer resultPolling in progress, watch for timeout
successWithdrawal successfulNormal terminal state
failWithdrawal failedCheck error code
rejectWithdrawal rejectedCheck rejection reason

1.8 Airstar Internal Service Error Codes

Error CodeMeaningDescription & Handling
0Success
-1001Internal system errorContact engineering
-1002Invalid parameterCheck request parameters
-1003Database errorContact engineering
-1004RPC client errorInter-service communication exception
-1005Parse failureData format exception
-1006Record not foundVerify business data
-1099Unknown errorContact engineering
-2001Account card number not foundVerify Bank Card binding
-2002Bank Card not foundVerify Bank Card information
-2003Customer has not opened an accountGuide user to complete account opening
-2004Customer is not an individual accountConfirm account type
-2005Authorization task already existsWait for existing task to complete
-2006Authorization already existsNo need to re-authorize
-2007ID number validation failedVerify ID information
-2008Phone number validation failedVerify phone number
-3000HTTP request errorContact engineering
-3001HTTP retry errorSystem auto-retrying
-3002HTTP non-retryable errorContact engineering
Code Location
  • Transfer error codes: airstar_service/internal/app/errs/bank_transfer_err.go
  • Authorization error codes: airstar_service/internal/app/errs/bank_auth_err.go
  • State machine: airstar_service/internal/app/enum/status/deposit.go, withdraw.go, auth.go

2. CMB / Minsheng BST

CMB/Minsheng Capability Overview

CMB and Minsheng connect via SM2-encrypted Socket with real-time push mode. The error code system is simple, with 3 core callback codes.

2.1 BST Callback Codes

Callback CodeMeaningDescription & Handling
0SuccessSystem auto-updates task status; no action needed
-5TimeoutSystem auto-switches to backup server and retries; do not manually resend before confirming bank-side status
-6Bank rejectedContact bank to confirm rejection reason; may need to switch Channel and re-initiate withdrawal

BST Timeout (-5) Handling Key Points

Timeout is usually network jitter — the system will auto-switch to a backup server and retry. Critical: Before confirming bank-side status, do not manually re-initiate a withdrawal, otherwise duplicate payments may occur.

2.2 Comparison with Airstar Error Handling

DimensionCMB/MinshengAirstar
Callback modeReal-time pushPolling
Timeout handlingSwitch to backup server (seconds)10 polls → 2-hour fallback
Error code granularity3 codes11+ codes
Operations intervention frequencyLowMedium

3. BOCHK

BOCHK Capability Overview

BOCHK collects deposit Bank Statements via B2E XML interface and executes withdrawals via FTS. This involves three categories: Bank Statement identification codes, FTS status codes, and authentication errors.

3.1 B2E Bank Statement Transaction Type Identification Codes

The system identifies the deposit method via keywords in the particulars field:

KeywordTransTypeDeposit Method
FPS220FPS Faster Payment
E-BANKING207Online Banking Transfer
CHATS203CHATS Transfer
REMIT IN209Cross-border Remittance
CBS203Bank Counter

Identification Failure Scenario

If particulars cannot match the keywords above, the Bank Statement is marked as unidentified type and requires Operations to manually select the deposit method during manual Matching.

3.2 FTS Withdrawal Status Codes

Status CodeMeaningDescription & Handling
SSuccessNo action needed
FFailedCheck error description, contact BOCHK to confirm
RReturnedConfirm return reason, correct information and re-initiate withdrawal if necessary
CCancelledConfirm cancellation source, re-initiate if necessary

3.3 B2E Common Error Codes

Error CodeMeaningDescription & Handling
E11071No dataNo transactions within query range, normal situation
GE11012No data (alternate code)Same as above
RJ0002Request frequency too highReduce query frequency
E99999Generic errorContact BOCHK technical support

3.4 B2E Token Authentication

BOCHK B2E Token validity period is 900 days (~2.5 years).

ExceptionSymptomHandling
Token expiredAuthentication failureContact BOCHK for renewal
Token parameter errorSetAuth() failureVerify authentication parameters
Code Location
  • Bank Statement collection: bochk_flow_go/internal/app/biz/service/constants.go
  • FTS withdrawal: bochk_flow_go/ FTS-related modules

4. HSBC

HSBC Capability Overview

HSBC connects via eDDA + eDDI for deposit direct debit. The error code system is relatively complex, involving four categories: authorization error codes, debit rejection codes, bank processing status codes, and rate limiting.

4.1 eDDA Authorization Error Codes

Error CodeMeaningCustomer Service Script
MFISAC01Account number error"Please verify your HSBC bank account number."
MPP01006Phone number mismatch"Please confirm the phone number registered with HSBC."
MPP01007Name mismatch"Please confirm that your moomoo registration name matches your HSBC account holder name."
MPP01008No phone registered with bank"Please first register a phone number with HSBC."
MPP02013No phone registered with bankSame as above (returned by different interface)
MPP04000Verification code error"Please request a new verification code."
MPP04003Verification code expired"Please request a new verification code."
MPP04004Verification code already used"Please request a new verification code."
MPP06001Account status abnormal"Please contact HSBC to confirm your account status."
ECH09001Generic authorization failure"Please try again later."

4.2 eDDI Debit Rejection Codes

Error CodeMeaningDescription & Handling
MPP02020Authorization cancelledGuide user to re-authorize
MPP02021Payment account closedGuide user to use a different account
MPP02022Debit limit exceededContact bank to adjust limit or split amount
MPP02023Authorization does not existGuide user to re-authorize
MPP02038Authorization dormantGuide user to contact HSBC to reactivate
MPP02039Authorization expiredGuide user to re-authorize
MPP05000Limit exceededContact bank to adjust limit
MFD10007Duplicate transaction IDSystem-level error, contact engineering

4.3 eDDI Bank Processing Status Codes

Status CodeMeaningOperations Note
ACSCCompletedNormal terminal state
RJCTRejectedCheck rejection codes above to identify cause
ACCPAcceptedIntermediate state, continue waiting
ACSPProcessingIntermediate state, continue waiting

4.4 Retryable Error Codes

The following error codes indicate the bank service is temporarily unavailable and the system will auto-retry: MPP05004, MPP09992MPP09996, ECH09001.

4.5 HTTP Rate Limiting

HSBC eDDI uses Token Bucket optimistic locking rate limiting, 4 tokens per second. Operations does not need to monitor this mechanism — only pay attention when the system alerts "rate limit triggered" to check if debit tasks are piling up.

Code Location
  • eDDI debit: sba_hsbc_eddi/eddi/src/worker/bin/handles.py
  • Retryable error codes: sba_hsbc_eddi/eddi/src/worker/lib/pub/useful_list.py
  • Token Bucket: sba_hsbc_eddi/proxy/token_bucket/bin/model.py

5. Hang Seng

Hang Seng Capability Overview

Hang Seng connects via eDDA/eDDI for deposit direct debit, using BRC_/CAC_/FP prefix error codes and InnoDB row-level pessimistic locking for concurrency control.

5.1 eDDI Debit Rejection Codes

Error CodeMeaningDescription & HandlingCustomer Service Script
BRC_8I1Insufficient balanceNotify user to top up and retry"Please confirm your Hang Seng bank account has sufficient balance and try again."
BRC_8RZBank account abnormalGuide user to contact Hang Seng Bank"Your Hang Seng bank account status is abnormal. Please contact Hang Seng Bank customer service."
BRC_8RW + FP2414Authorization not foundVerify authorization status, guide user to re-authorize"Your eDDA authorization has expired. Please re-sign the authorization."
BRC_8RW + FP2415Authorization not yet effectiveGuide user to activate at Hang Seng"Your eDDA authorization is not yet effective. Please log in to the Hang Seng Bank App to complete activation."
BRC_8RW + FP2416Authorization expiredGuide user to re-authorize"Your eDDA authorization has expired. Please re-sign."
BRC_8RW + FP2417Authorization limit exceededReduce amount or guide user to adjust limit"The debit amount exceeds the authorization limit. Please reduce the amount or contact Hang Seng to adjust the limit."

BRC_8I1 May Trigger Automatic Authorization Cancellation

After consecutive BRC_8I1 (insufficient balance) responses, Hang Seng may automatically cancel the eDDA authorization. When the user tops up and attempts debit again, they will receive FP2414 (authorization not found) and need to re-sign the eDDA. When Operations receives BRC_8I1 alerts, they should proactively remind the user to top up.

5.2 Web Notification Error Codes

Error CodeMeaningSystem Handling
000Transaction successfulNormal credit
BRC_8I1Insufficient balanceMark as failed, notify user
BRC_8RWAccount/authorization abnormalCombine with FP24xx code to identify cause
BRC_8RZAccount abnormalMark as failed, guide user to contact bank

5.3 Hang Seng Transaction Status Codes

Status CodeFieldMeaning
StransactionStatusTransaction successful
PtransactionStatusProcessing
FtransactionStatusFailed
SenquiryStatusQuery successful
FenquiryStatusQuery failed

5.4 Bank Service Unavailable Codes

The following error codes indicate Hang Seng service is temporarily unavailable and the system will retry with delay: CAC_018, CAC_021, BRC_8RK, BRC_8RM, CAC_998 (timeout), CAC_999 (timeout).

CAC_022 (duplicate transaction request) can enter tracking — not an error.

5.5 HSBC vs Hang Seng eDDI Error Code Comparison

ScenarioHSBCHang Seng
Insufficient balanceBRC_8I1
Authorization cancelledMPP02020FP2414
Authorization expiredMPP02039FP2416
Limit exceededMPP02022FP2417
Authorization does not existMPP02023FP2414
Authorization dormantMPP02038
Account closedMPP02021BRC_8RZ
Concurrency controlToken BucketInnoDB row lock
Code Location
  • Hang Seng eDDI: sba_hase_eddi/src/worker/bin/handles.py
  • Error code list: sba_hase_eddi/src/worker/lib/pub/useful_list.py

6. SCB

SCB Capability Overview

SCB connects via FPS API for withdrawals and Bank Statement collection, with Webhook async notification support.

6.1 FPS Payment Status Codes

StatusMeaningDescription & HandlingCustomer Service Script
NEWNewAwaiting processing"Your withdrawal application has been submitted and is being processed. Please wait."
PENDINGProcessingNormal wait"Your withdrawal is being processed and should arrive shortly."
SUCCESSSuccessNormal terminal state"Your withdrawal was successful. Funds will arrive in your bank account."
FAILEDFailedCheck reason, switch Channel if necessary"FPS transfer failed. Please try again later or choose another withdrawal method."
RETURNEDReturnedConfirm return reason, re-initiate withdrawal"FPS transfer was returned. Please verify recipient information and re-submit."

6.2 Internal Transfer Status Codes

Status CodeMeaning
0New
1Processing
2Success
3Failed
4Returned

6.3 Webhook Event Types

Event TypeMeaning
payment_statusPayment status update
credit_debit_adviceCredit/debit notification
unknowUnknown type

6.4 Service Error Codes

Error CodeMeaningDescription & Handling
30000HTTP request failedContact engineering
30001HTTP retry errorSystem auto-retrying
30002HTTP unknown errorContact engineering
31000Amount errorCheck amount format and range
31001Internal errorContact engineering
31002Parameter errorCheck request parameters
31003Currency errorConfirm supported currencies
Code Location
  • Payment status: scb_service/internal/app/enum/payment_status.go
  • Webhook: scb_service/internal/app/enum/webhook.go

7. CGB

CGB Capability Overview

CGB connects via FPS interface for withdrawals, supporting both batch and single-transaction modes. Key pitfall: The same status code has opposite meanings in different message types.

7.1 FPS Message Type Codes

Message TypeDirectionPurpose
2063Initiator → BankSingle withdrawal
2064Bank → ReceiverBatch withdrawal
2065Query → BankSingle query
2066Bank → ReceiverBatch query

7.2 Transaction Status Codes

Status Code Meaning Reversal

In CGB FPS, 2063/2065 (single) and 2064/2066 (batch) status codes have different meanings. Always distinguish by message type when handling.

Single Response (2063 / 2065):

Status Code2063 Meaning2065 Meaning
0SuccessProcessing
1FailedSuccess
2ProcessingFailed

Batch Response (2064 BATCHSTATUS / 2066 BATCHSTATUS):

Status Code2064 Meaning2066 Meaning
0Failed
1FailedSuccess
2ProcessingProcessing

2066 per-transaction TRANSTATUS: 0 = Processing, 1 = Success, 2 = Failed

7.3 Internal Batch Status Codes

StatusMeaning
PENDING_SENDPending send (initial)
SENDINGSending (locked)
DEGRADEDDegraded (batch split to single)
RECEIVED_PROCESSINGBank processing
DONE_SUCCESSSuccess terminal state
DONE_FAILEDFailed terminal state
UNKNOWNUnknown, requires manual intervention

7.4 API Internal Error Codes

Error CodeMeaningRetryable
PARAM_INVALIDParameter validation failedNo
NOT_FOUNDTask not foundNo
STATE_CONFLICTState conflictNo
SYSTEM_ERRORSystem errorYes
BANK_ERRORBank returned errorDepends
SIGN_ERRORSignature/verification errorNo
NETWORK_ERRORNetwork errorYes
DUPLICATE_TIDDuplicate transaction IDNo
MAX_ATTEMPTMax retry exceededNo
QUERY_NOT_FOUNDNo record foundNo
AMOUNT_MISMATCHAmount/count mismatchNo

7.5 Bank Return Error Codes

Error CodeMeaningRetryable
0000Success
A012Duplicate serial numberNo
A014System busyYes
0249No record foundNo

7.6 Service-Level Error Codes

Error CodeMeaning
30001Server error
30002Parameter error
30003Request format error
30004Business error
30005Bank interface exception
30006State conflict
30007Resource not found
30008Duplicate request
30009Under maintenance
Code Location
  • Message types/status codes: cgb_fps_service/internal/app/biz/cgb/dto/common.go
  • Batch status: cgb_fps_service/internal/app/enum/batch_status.go
  • API error codes: cgb_fps_service/internal/app/enum/error_code.go

8. ICBC

ICBC Capability Overview

ICBC connects via Bank-Enterprise Direct Link for Bank Statement collection, using RSA signature verification. The interface is relatively traditional with a simple error code system.

Status CodeMeaningDescription & Handling
0SuccessNormal
400011TimeoutContact engineering to confirm network, wait for recovery

8.2 Common Exceptions

Exception TypeHandling
RSA signature failedCheck if RSA key has expired
Balance continuity check failedCompare start/end date balances, contact engineering
Amount format errorICBC uses "cents" as the unit (100 yuan = 10000); check conversion logic
Code Location
  • Bank-Enterprise Direct Link: icbc_be_relay/ main directory

9. System Common Error Codes

9.1 System-Level Error Codes

Error CodeMeaningDescription & Handling
-1System errorContact engineering
-2Interface does not existRequested an unregistered interface
-3Addressing failedService discovery exception
-4Initialization failedService startup exception
-5Network errorUsually retryable
-6Insufficient permissionsCheck operator permission configuration
-7TimeoutRetryable
-8Partition table does not existDatabase partition exception
-9Database errorContact engineering

9.2 Business-Level Error Codes

Error CodeMeaningDescription & Handling
0Success
1Parameter errorCheck request parameters
2User does not existVerify uid
3User has not opened an accountGuide user to open account
4Account does not existVerify account_id
5Account status abnormalContact account team
6Not the account holderVerify account ownership
7User configuration does not existContact engineering
8Need to contact supportEscalate to support
9Need to re-loginGuide user to re-login
10Abnormal deposit does not existVerify record
11Abnormal deposit Bank Statement does not existVerify Bank Statement
12Abnormal deposit already processedNo duplicate action needed
13Abnormal deposit status has changedRefresh and retry
14User configuration errorContact engineering
15GDCA certification requiredGuide user to complete GDCA
16Not retryableCheck specific error reason
17Account has outstanding debtNotify user to repay
1001eDDA exceptionCheck eDDA error codes
1002Blocked for business reasonCheck specific blocking reason
1003Deposit prohibitedAccount is restricted, contact relevant team

9.3 Bank Card Service Error Codes

Error CodeMeaningDescription & Handling
420Bank Card errorVerify Bank Card information
421Bank Card service timeoutRetry later
422Bank Card service response abnormalContact engineering
423Bank Card service returned errorContact engineering

9.4 Deposit Application Status Codes

Status CodeMeaningOperations Action
0PendingNormal wait; if not matched after timeout → check Bank Statement
1ProcessingNormal wait; if stuck → check SBA status
2CompletedNo action needed
3RejectedHandle by rejection reason code
4WithdrawnConfirm withdrawal reason
5ReversedVerify Reversal reason, notify user

9.5 Deposit Method Code (DepositMethod)

Note: These are deposit method codes, which differ from the TransType enum in proto (101-502 bank Channel types).

CodeMethodDescription
1BSTCMB/Minsheng/Airstar
2ATM/Counter
3FPS Faster Payment
4Bill Payment
5Online Banking Transfer
6Cheque
7Overseas RemittanceSub-account deposit
8eDDA Hang Seng
9eDDA HSBC
203CHATS TransferBOCHK B2E
207E-BANKINGBOCHK B2E
209REMIT INBOCHK B2E
220FPSBOCHK B2E

9.6 Deposit Method Code (Deposit Method)

Method CodeMeaningCorresponding Bank
bstBST TransferCMB/Minsheng
atmATM/CounterVarious banks
fpsFPS Faster PaymentVarious banks
bpBill Payment
ebankOnline Banking TransferVarious banks
checkChequeVarious banks
subAccountSub-account depositNon-HK banks
osOverseas RemittanceOverseas banks
eddaeDDA Hang SengHang Seng
eddaHSBCeDDA HSBCHSBC
bstAsbAirstar BSTAirstar

9.7 Bank Statement Status Codes

Status CodeMeaning
0Pending (awaiting Matching)
1Processed (Matching completed)
2Error (requires manual handling)
3Locked (processing)
4In transit
9Soft deleted

9.8 Bank Statement Disposition Result

CodeMeaning
0System Matching
1Manual Matching
2Initiate deposit
3Refund
4Other
5Emergency handling
6Auto credit

9.9 Matching Result Constants

CodeMeaning
0Unmatched
1Assisted Matching (requires manual confirmation)
2Auto credit (all five dimensions matched)

9.10 Deposit Rejection Reason Codes

CodeMeaningOperations ActionCustomer Service Script
1Information unclearRequest supplementary proof"Your deposit information is incomplete. Please provide the transfer receipt."
2Online banking info missingRequest supplementary online banking transfer info"Your online banking transfer information is incomplete. Please provide the relevant receipt."
3ATM info missingRequest supplementary ATM receipt info"Your ATM receipt information is incomplete. Please provide the complete details."
4Bank account info missingRequest supplementary info"Your bank account information is incomplete. Please provide the full bank account number."
5Securities Account abnormalEscalate to account team"Your Securities Account status is abnormal. We are handling it for you. Please wait."
6Transaction cancelledConfirm cancellation reason on bank side"Your deposit transaction was cancelled by the bank. Please contact your remitting bank."
7Application mergedRetain the merged application"Your multiple deposit applications have been merged. Please refer to the merged record."
8Duplicate applicationRetain one"A duplicate deposit application was detected. The system has retained one; please do not submit again."
9TimeoutSystem usually auto-rejects"Your deposit application has timed out. Please re-submit."
10Other (HK region)Check remarks"Your deposit application was not approved. Please contact support for details."
11Other (Mainland)Check remarks"Your deposit application was not approved. Please contact support for details."
12Other (Overseas)Check remarks"Your deposit application was not approved. Please contact support for details."
14Account mismatchContact user to confirm"The deposit account does not match the Securities Account. Please confirm you are using your own bank account."
15Insufficient transfer infoRequest supplementary transfer receipt"Your transfer receipt is incomplete. Please provide additional details and re-submit."

9.11 eDDI Deposit Type

CodeTypeMeaning
1FOUNDING_AIPFund regular investment
2STOCK_MPStock regular investment
3FUND_PURCHASEFund purchase
11FUND_HOLDFund regular investment (frozen)
21STOCK_HOLDStock regular investment (frozen)
31FUND_PURCHASE_HOLDFund purchase (frozen)

9.12 Deposit Type Code (DepositType)

CodeTypeOperations Note
1Normal depositNo attention needed
2PRE_APPROVALOnline account opening flow, auto-processed
3Abnormal depositMonitor handling result
4Auto-approvedNo action needed
5High-risk depositContact Risk Control to confirm
11Frozen depositConfirm freeze reason
21STOCK_HOLD stock frozen depositFrozen after eDDI deposit, reserved for stock regular investment debit
31FUND_PURCHASE_HOLD fund purchase frozen depositFrozen after eDDI deposit, reserved for fund purchase

9.13 Withdrawal Method Code (Method)

Method CodeNameBankChannel Type
manualManual withdrawalICBC etc.Manual
auto_bsBST autoCMB/Minsheng/AirstarBST
checkChequeCheque
tele_transferCross-border wireBOCHKWire transfer
bocBOCHK intra-bankBOCHKIntra-bank transfer
haseHang Seng online bankingHang SengCorporate online banking
hsbcHSBC online bankingHSBCCorporate online banking
boc_fpsBOCHK FPSBOCHKFPS
cgb_fps_apiCGB FPSCGBFPS API
ewbEWB wireEWBWire transfer
chats_rtgsCHATS/RTGSIntra-HK cross-bank
scSCB FPSSCBFPS

9.14 Withdrawal Approval Templates

Template KeyApplicable ScenarioSteps
withdraw_defaultNormal withdrawalConfirm → Remittance
withdraw_unusualAbnormal withdrawalAudit → Confirm → Remittance
withdraw_omOM accountConfirm → Remittance
withdraw_om_unusualOM account abnormalAudit → Confirm → Remittance
fundFund redemptionConfirm → Remittance
fund_unusualFund redemption abnormalAudit → Confirm → Remittance

9.15 eDDA Authorization Status Codes

CodeStatusOperations Action
0Authorization failedCheck eDDA error codes, guide user to retry
1Bank processingWait; if over 24 hours → contact bank
2Authorization effectiveNo action needed
3Request pending sendWait; if not sent for extended time → check service

9.16 Freeze Type Codes

CodeMeaningOperations Action
1Deposit frozenContact relevant team to confirm then unfreeze
2Withdrawal frozenContact relevant team to confirm then unfreeze
3Both deposit & withdrawal frozenUsually involves compliance/Risk Control, needs escalation

9.17 System Permission Codes

Deposit Permissions: CASH_IN_APPLY_VIEW (view applications), CASH_IN_FLOW_VIEW (view Bank Statements), CASH_IN_TASK_APPROVAL (Matching confirmation/Approval), CASH_IN_TASK_REVERSE (Reversal), CASH_IN_APPLY_MODIFY (modify application), ABNORMAL_DEPOSIT_VIEW (view abnormal deposits), ABNORMAL_DEPOSIT_MODIFY (handle abnormal deposits)

Withdrawal Permissions: PERMISSION_CASH_TASKS_OUT_AUDIT (Audit review), PERMISSION_CASH_TASKS_OUT_CONFIRM (Confirm), PERMISSION_CASH_TASKS_OUT_REMIT (Remittance execution)


After Reading

I want to...Go to
Look up deposit-side parameters and limitsDeposit Rules Reference
Look up withdrawal-side code tables and schemaWithdrawal Data Dictionary
Understand the business context of eDDA error codeseDDA Direct Debit Deposit
Understand BST bank technical detailsMainland Bank BST
Troubleshoot deposit issues by symptomDeposit Troubleshooting
Troubleshoot withdrawal issues by symptomWithdrawal Troubleshooting
Was this page helpful?

内部业务文档 · 仅限 moomoo 团队使用