ISV Transaction API
Overview
This API set is designed for ISV customers to call on behalf of their end customers (merchants) after completing Onboarding. It covers transfers, payment declarations, Payout, bank account management, and other daily transaction operations. ISVs simply passwalletId when calling these APIs. OristaPay automatically enforces authorization based on the ISV ↔ merchant relationship. Transaction API fields remain unchanged.
Authentication & Signing
All endpoints require signature headers. See Authentication & Signing for details.API Index
| # | API | REST Path |
|---|---|---|
| 1 | Static Receiving Address Query | POST /api/v1/wallet/static-address/query |
| 2 | Supported Currencies Query | POST /api/v1/wallet/supported/currencies |
| 3 | Request Payment Order Declaration | POST /api/v1/payment/order/declare |
| 4 | Request Payment Material Supplement | POST /api/v1/payment/order/add/materials |
| 5 | Internal Transfer | POST /api/v1/payment/internal-transfer |
| 6 | Order Details | POST /api/v1/payment/order/detail |
| 7 | Order List | POST /api/v1/payment/order/list |
| 8 | Download Statement | POST /api/v1/payment/reconciliation |
| 9 | Add Beneficiary Bank Account | POST /api/v1/wallet/bank_account/add |
| 10 | Update Beneficiary Bank Account | POST /api/v1/wallet/bank_account/update |
| 11 | Delete Beneficiary Bank Account | POST /api/v1/wallet/bank_account/del |
| 12 | Enquiry Beneficiary Bank Account | POST /api/v1/wallet/bank_account/get |
| 13 | Payout Quote | POST /api/v1/payout/quote |
| 14 | Payout Order | POST /api/v1/payout/book |
| 15 | Payout Order Enquiry | POST /api/v1/payout/enquiry |
| 16 | Payout Re-Settle | POST /api/v1/payout/reSettle |
| 17 | Order Result Notification | Webhook |
| 18 | Add Bank Account Result Notification | Webhook |
| 19 | Payout Result Notification | Webhook |
| 20 | Payout Refund Result Notification | Webhook |
| 21 | Payout Re-Settle Result Notification | Webhook |
Wallet Payment API
1. Static Receiving Address Query
Interface Overview Query the Request Payment static receiving address of a specified wallet. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
network | string | O | Blockchain network: ETH / TRX / SOL / POLY |
currency | string | O | Currency: USDT / USDC |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Business response code |
message | string | Business response message |
data | Array<StaticAddressData> | Static address list |
StaticAddressData fields:
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
network | string | Blockchain network, such as ETH / TRX |
currency | string | Currency, such as USDT / USDC |
address | string | Static receiving address |
qrCodeBase64 | string | QR code image of the address, Base64 encoded, including the data:image/png;base64, prefix. It can be directly used in <img src> |
2. Supported Currencies Query
Interface Overview Query the currencies, available networks, single-transaction amount range, and currency precision supported by the wallet under a specified business type bywalletId + type. The caller can use this API for pre-validation before creating deposit or withdrawal orders, to avoid submitting unsupported or out-of-limit currency combinations.
Request Parameters
| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
type | string | M | Business type / limit type: 4 deposit, 3 withdraw |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Business response code |
message | string | Business response message |
data | Array<SupportedCurrenciesQueryData> | Supported currency list; returned when code = 1 |
SupportedCurrenciesQueryData fields:
| Field Name | Type | Description |
|---|---|---|
type | int32 | Business type / limit type, corresponding to the request type |
currency | string | Currency, such as USDT / USDC / USD |
minAmount | string | Minimum single-transaction amount, decimal number in string format |
maxAmount | string | Maximum single-transaction amount, decimal number in string format |
networks | Array<string> | Supported blockchain network list for this currency, such as ETH / TRX / SOL |
precision | int32 | Amount precision, number of decimal places |
3. Request Payment Order Declaration
Interface Overview Submit a Request Payment deposit order. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Deposit wallet ID |
extOrderNo | string | M | External order ID, globally unique |
senderAddress | string | M | Payer wallet address |
network | string | M | Blockchain network: ETH / TRX / SOL / POLY |
currency | string | M | Currency: USDT / USDC |
amount | string | M | Declared amount. The declared amount must exactly match the final deposit amount |
senderName | string | M | Payer name |
countryRegion | string | M | Country/region ISO 3166 code, for example HKG |
contactAddress | string | M | Payer contact address |
receiverName | string | M | Recipient merchant name |
message | string | O | Remark |
materials | Array<Material> | O | Collection of order material declaration objects |
Material fields:
| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
productType | string | M | Product type |
productName | string | M | Product name |
productPrice | string | M | Product price |
productCount | string | M | Product quantity |
productUnit | string | M | Product unit |
logisticsTrackingName | string | O | Logistics company name |
logisticsTrackingNo | string | O | Tracking number |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
4. Request Payment Material Supplement
Interface Overview Supplement product and logistics materials for an existing declared order. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Deposit wallet ID |
orderNo | string | M | Order number |
materials | Array<Material> | O | Collection of order material objects |
Material fields are the same as those in 1. Request Payment Order Declaration.
Response Parameters
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
5. Internal Transfer
Interface Overview Transfer wallet assets from custody assets to trading assets. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
internalTransferType | int32 | M | Internal transfer type: 1 = custody assets to trading assets |
network | string | CM | Source asset network: ETH / TRX / SOL / POLY; required when internalTransferType=1 |
currency | string | M | Currency: USDT / USDC |
amount | string | M | Amount |
extOrderNo | string | M | External order ID, globally unique |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | InternalTransferData | Internal transfer result |
InternalTransferData fields:
| Field Name | Type | Description |
|---|---|---|
orderNo | string | Transfer order number |
6. Order Details
Interface Overview Query wallet order details by order number or external order number. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
orderNo | string | CM | Order number. Either orderNo or extOrderNo must be provided |
extOrderNo | string | CM | External order number. Either orderNo or extOrderNo must be provided |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | WalletOrderDetailData | Order details |
WalletOrderDetailData fields:
| Field Name | Type | Description |
|---|---|---|
orderNo | string | Order number |
extOrderNo | string | External order number |
orderType | int32 | Order type |
orderStatus | string | See Appendix: Deposit Order Status |
fromAddress | string | Initiator address |
fromWallet | string | Source wallet |
toAddress | string | Recipient address |
toWallet | string | Target wallet |
amount | string | Amount |
network | string | Blockchain network: ETH / TRX / SOL / POLY |
currency | string | Currency: USDT / USDC |
expireTime | int64 | Order expiration time |
createTime | int64 | Order creation time |
7. Order List
Interface Overview Query wallet orders bywalletId with pagination. Orders can be filtered by status, currency, and creation time range. The returned order data uses the unified wallet order structure and is suitable for order list pages, pre-reconciliation queries, or polling order progress by status.
Request Parameters
| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID. It must belong to the enterprise corresponding to the current API Key, or to an ISV sub-enterprise under that enterprise |
status | string | O | Order status. If not provided, all statuses are queried |
currency | string | O | Currency, such as USDT / USDC |
startTime | string | O | Query start time, filtered by order creation time. Format: ISO8601 with timezone, for example 2026-01-01T00:00:00Z |
endTime | string | O | Query end time, filtered by order creation time. Format: ISO8601 with timezone, for example 2026-01-01T00:00:00Z |
pageNumber | int32 | M | Page number, starting from 1 |
pageSize | int32 | M | Number of records per page. Default is 20, maximum is 100. Values greater than 100 are treated as 100 |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Business response code. 1 means success; other values refer to error codes |
message | string | Business response message |
data | Array<WalletOrderDetailData> | Order list; returned when code = 1 |
page | Page | Pagination information |
Page fields:
| Field Name | Type | Description |
|---|---|---|
pageNumber | int32 | Current page number |
pageSize | int32 | Number of records per page |
totalPages | int32 | Total pages |
totalRecords | int32 | Total records |
WalletOrderDetailData fields:
| Field Name | Type | Description |
|---|---|---|
orderNo | string | Order number |
extOrderNo | string | External order number |
orderType | int32 | Order type |
orderStatus | string | See Appendix: Deposit Order Status |
fromAddress | string | Initiator address |
fromWallet | string | Source wallet |
toAddress | string | Recipient address |
toWallet | string | Target wallet |
amount | string | Amount |
network | string | Blockchain network: ETH / TRX |
currency | string | Currency: USDT / USDC |
expireTime | int64 | Order expiration time |
createTime | int64 | Order creation time |
8. Download Statement
Interface Overview Statements for D-1 can be downloaded from 9:00 AM every day. The time zone is Hong Kong UTC+8. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
billDate | string | M | Billing date in yyyyMMdd format |
modeType | int32 | M | Authorization mode: 1 = direct connection mode; 2 = authorization mode including sub-wallets |
accountType | int32 | M | Account type: 1 = custody account; 2 = trading account |
currencyType | int32 | M | Currency type: 1 ETH-USDT / 2 ETH-USDC / 3 TRX-USDT / 4 USDT / 5 USDC / 6 USD / 14 SOL-USDC / 15 SOL-USDT / 16 POLY-USDC / 17 POLY-USDT |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | WalletBillData | Statement information |
WalletBillData fields:
| Field Name | Type | Description |
|---|---|---|
fileName | string | File name |
fileUrl | string | Download URL of the statement zip package |
Bank Account API
| Path | Request | Response |
|---|---|---|
/api/v1/wallet/bank_account/add | AddBankAccountRequest | BankAccountResponse |
/api/v1/wallet/bank_account/update | UpdateBankAccountRequest | BankAccountResponse |
/api/v1/wallet/bank_account/del | DelBankAccountRequest | DelBankAccountResponse |
/api/v1/wallet/bank_account/get | GetBankAccountRequest | GetBankAccountResponse |
The following APIs share theBankAccountDataandFileInfodefinitions.
BankAccountData fields:
| Field Name | Type | Description |
|---|---|---|
settlementAccountUID | int64 | Settlement account ID |
walletId | int64 | Wallet ID |
alias | string | Alias |
accountOwnership | int32 | Relationship with wallet: 1 own / 2 other / 3 third party |
currency | string | Currency: USD |
accountType | int32 | Account type: 1 RD Wallet / 2 Bank Account |
companyName | string | Company name |
accountNumber | string | RD Wallet ID or bank account number |
bankId | string | Hong Kong bank ID, for example 003 |
beneficiaryAddress1 | string | Beneficiary address line 1. Chinese characters are not allowed |
beneficiaryAddress2 | string | Beneficiary address line 2. Chinese characters are not allowed |
beneficiaryAddress3 | string | Beneficiary address line 3: country/region ISO 3166 code |
beneficiarySwiftCode | string | Beneficiary bank Swift Code |
intermediarySwiftCode | string | Intermediary bank Swift Code |
companyCode | string | Company profile code |
status | int32 | Status: 0 processing / 1 success / 2 failed |
paymentFiles | Array<FileInfo> | Proof of payment files |
remark | string | Remark |
FileInfo fields:
| Field Name | Type | Description |
|---|---|---|
fileKey | string | File ID returned by the upload API |
fileName | string | File name |
fileUrl | string | File URL returned by the upload API. The URL is refreshed periodically |
9. Add Beneficiary Bank Account
Interface Overview Add a beneficiary bank account. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
alias | string | M | Alias of this bank account |
accountOwnership | int32 | M | Ownership: 1 own / 2 other / 3 third party |
currency | string | M | Currency: USD |
accountType | int32 | M | Account type: 1 RD Wallet / 2 Bank Account |
companyName | string | M | Company name. When accountOwnership=2, this name must match the company profile |
accountNumber | string | M | RD Wallet ID or bank account number |
bankId | string | M | Hong Kong bank ID, for example 003 |
beneficiaryAddress1 | string | CM | Required when accountType=2 |
beneficiaryAddress2 | string | CM | Required when accountType=2 |
beneficiaryAddress3 | string | CM | Required when accountType=2. Country/region ISO 3166 code |
beneficiarySwiftCode | string | CM | Required when accountType=2; must be a Hong Kong bank Swift Code |
intermediarySwiftCode | string | O | Intermediary bank Swift Code; must be a Hong Kong bank Swift Code |
companyCode | string | CM | Required when accountOwnership=2 |
paymentFiles | Array<FileInfo> | CM | Required when accountOwnership=3 |
remark | string | O | Optional when accountOwnership=3 |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | BankAccountData | Bank account information |
10. Update Beneficiary Bank Account
Interface Overview Update non-key fields of a beneficiary bank account.accountOwnership, currency, accountType, companyName, and companyCode cannot be updated.
Request Parameters
| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
settlementAccountUID | int64 | M | Settlement account ID |
alias | string | O | Alias |
accountNumber | string | O | RD Wallet ID or bank account number |
bankId | string | O | Hong Kong bank ID |
beneficiaryAddress1 | string | O | Beneficiary address line 1 |
beneficiaryAddress2 | string | O | Beneficiary address line 2 |
beneficiaryAddress3 | string | O | Beneficiary address line 3 |
beneficiarySwiftCode | string | O | Beneficiary bank Swift Code |
intermediarySwiftCode | string | O | Intermediary bank Swift Code |
paymentFiles | Array<FileInfo> | CM | Required when accountOwnership=3 |
remark | string | O | Optional when accountOwnership=3 |
9. Add Beneficiary Bank Account. data is BankAccountData.
Request Example
9. Add Beneficiary Bank Account.
11. Delete Beneficiary Bank Account
Interface Overview Delete a beneficiary bank account. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
settlementAccountUID | int64 | M | Settlement account ID |
reason | string | M | Reason for deletion |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
12. Enquiry Beneficiary Bank Account
Interface Overview Query beneficiary bank accounts. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
settlementAccountUID | int64 | O | Settlement account ID for exact query |
companyCode | string | O | Company profile code |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | Array<BankAccountData> | Bank account list |
Convert API
Payout Model
13. Payout Quote
Interface Overview Obtain the price and transfer-related information for a specified currency pair. At least one offromAmount or toAmount must be provided.
Request Parameters
| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
fromCurrency | string | M | From currency: USDT / USDC |
fromAmount | string | CM | From amount, supports 2 decimal places |
toCurrency | string | M | To currency: USD |
toAmount | string | CM | To amount, supports 2 decimal places |
paymentWay | string | M | Payment method: RDT / CHATS |
feeMode | int32 | CM | Required if paymentWay=CHATS. 1 = shared by both sender and receiver (SHAR); 2 = borne entirely by the payer (OUR) |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | PayoutQuoteData | Quote data |
PayoutQuoteData fields:
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
fromCurrency | string | From currency |
fromAmount | string | From amount |
toCurrency | string | To currency |
toAmount | string | To amount after deducting service fee |
paymentWay | string | Payment method |
feeMode | int32 | Fee deduction mode |
quoteId | int64 | Quote ID |
price | string | Price |
priceExpireTime | string | Price expiration time in milliseconds |
feeAmount | string | Service fee |
feeCurrency | string | Fee currency |
14. Payout Order
Interface Overview Place a payout order based on a quote ID. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
quoteId | int64 | M | Quote ID |
settlementAccountUID | int64 | M | Settlement account ID, obtained through the bank account enquiry API |
purpose | string | M | See Appendix: Purpose |
extOrderNo | string | M | Unique order ID provided by the business entity. Only numbers, letters, _, -, and * are allowed. Must be unique under the same wallet account |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | PayoutBookData | Payout order data |
PayoutBookData fields:
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
quoteId | int64 | Quote ID |
settlementAccountUID | int64 | Settlement account ID |
purpose | string | Purpose |
orderNo | string | Order number |
fromCurrency | string | From currency |
fromAmount | string | From amount |
toCurrency | string | To currency |
toAmount | string | To amount |
paymentWay | string | Payment method |
feeMode | int32 | Fee deduction mode |
feeAmount | string | Service fee |
feeCurrency | string | Fee currency |
orderStatus | string | See Appendix: Payout Order Status |
createTime | int64 | Order creation time |
extOrderNo | string | Unique order ID provided by the business entity |
15. Payout Order Enquiry
Interface Overview Query payout order information by order number or quote ID. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
orderNo | string | CM | At least one of orderNo or quoteId must be provided |
quoteId | int64 | CM | At least one of orderNo or quoteId must be provided |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | PayoutData | Payout order details |
PayoutData fields:
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
quoteId | int64 | Quote ID |
orderNo | string | Order number |
fromCurrency | string | From currency |
fromAmount | string | From amount |
toCurrency | string | To currency |
toAmount | string | To amount |
tradeFromAmount | string | Actual traded from amount |
tradeToAmount | string | Actual traded to amount |
price | string | Order price |
tradePrice | string | Trade price |
orderStatus | string | See Appendix: Payout Order Status |
createTime | int64 | Order creation time |
finishTime | int64 | Order completion time |
errorMsg | string | Failure reason |
settlementAccountUID | int64 | Settlement account ID |
purpose | string | Purpose |
paymentWay | string | Payment method |
feeMode | int32 | Fee deduction mode |
feeAmount | string | Service fee |
feeCurrency | string | Fee currency |
refundOrderNo | string | Refund order number when the order fails |
refundAmount | string | Refund amount when the order fails |
refundCurrency | string | Refund currency when the order fails |
extOrderNo | string | Unique order ID provided by the business entity |
16. Payout Re-Settle
Interface Overview Re-initiate settlement after a refund or failed settlement. Request Parameters| Field Name | Type | M / O / CM | Description |
|---|---|---|---|
walletId | int64 | M | Wallet ID |
orderNo | string | M | Original payout order number |
refundOrderNo | string | M | Refund order number |
settlementAccountUID | int64 | M | Settlement account ID |
purpose | string | M | See Appendix: Purpose |
remark | string | M | Remark |
paymentWay | string | M | Payment method: RDT / CHATS |
feeMode | int32 | CM | Required if paymentWay=CHATS; meaning is the same as in the Payout Quote API |
| Field Name | Type | Description |
|---|---|---|
code | int32 | Response code |
message | string | Response message |
data | PayoutReSettleData | Re-settlement data |
PayoutReSettleData fields:
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
orderNo | string | Original payout order number |
refundOrderNo | string | Refund order number |
settlementAccountUID | int64 | Settlement account ID |
purpose | string | Purpose |
remark | string | Remark |
paymentWay | string | Payment method |
feeMode | int32 | Fee deduction mode |
amount | string | Re-settlement amount |
currency | string | Re-settlement currency |
feeAmount | string | Service fee |
feeCurrency | string | Fee currency |
Callback
Callback Request Specification
| Item | Value |
|---|---|
| Method | POST |
| Content-Type | application/json; charset=utf-8 |
| Request Body | JSON. The structure depends on the event type, such as order result notification or bank account result notification |
| Timeout | Default 8 seconds. Timeout is treated as failure and may trigger business-level retries |
| Header | Description |
|---|---|
X-Api-Key | Merchant api_key, identifying the merchant to which the callback belongs |
X-Timestamp | UTC millisecond timestamp string when the callback is sent |
X-Nonce | Unique random string for this callback, 32-character hex, used for idempotency |
X-Signature | HMAC-SHA256 signature |
Content-Type | Fixed as application/json; charset=utf-8 |
Signature Verification
The algorithm is the same as inbound API signing and uses the samesign_secret:
PATH: the path part of the callback URL, excluding domain and query string.BODY: the raw HTTP request body bytes.
Verification Steps
- Read request headers:
X-Timestamp,X-Nonce,X-Signature, andX-Api-Key. - Validate the timestamp window:
abs(now_ms - X-Timestamp) <= 5 * 60 * 1000; otherwise reject with401. - Read the raw request body before any parsing or deserialization.
- Recalculate the signature using
sign_secretand the raw body. - Compare the calculated signature and
X-Signatureusing constant-time comparison. - Use
X-Nonceas the idempotency key. If it has already been processed, return the previous result directly.
Common Pitfalls
- The signature must be calculated over the raw bytes. JSON re-serialization, key reordering, whitespace changes, or encoding changes will cause signature mismatch.
PATHmust match exactly. Do not add or remove a trailing slash, URL-decode it, or remove gateway prefixes.X-Signatureis lowercase hex. The method is fixed as uppercasePOST.- Empty body must also be signed.
SHA256_HEX("")ise3b0c442...b855.
Reference Implementations
PythonResponse Requirements
- The merchant system must respond within 8 seconds.
- HTTP
2xxstatus code is treated as successful delivery. - Non-
2xx, timeout, or business error response is treated as failed delivery. - Recommended response body:
Idempotency and Replay Protection
- Idempotency key: use
X-Nonceas the idempotency key and persist it. If the same key is received again, return the previous result directly. - Replay protection: validate that
X-Timestampis within ±5 minutes of the server time. - Strict signature verification: reject any request with invalid signature using
4xxand do not enter business processing.
Callback Data Types
17. Order Result Notification
| Field Name | Type | Description |
|---|---|---|
orderNo | string | Order number |
currency | string | Currency: USDT / USDC |
network | string | Blockchain network: ETH / TRX / SOL / POLY |
status | string | Order status. See Appendix: Deposit Order Status |
amount | string | Amount |
fromAddress | string | Initiator address |
fromWallet | string | Source wallet |
toAddress | string | Recipient address |
toWallet | string | Target wallet |
txHash | string | Transaction hash |
orderType | int32 | Order type |
extOrderNo | string | External order number |
18. Add Bank Account Result Notification
| Field Name | Type | Description |
|---|---|---|
settlementAccountUID | int64 | Settlement account ID |
walletId | int64 | Wallet ID |
alias | string | Alias |
accountOwnership | int32 | Ownership: 1 own / 2 other / 3 third party |
currency | string | Currency: USD |
accountType | int32 | Account type: 1 RD Wallet / 2 Bank Account |
accountName | string | Account name |
accountNumber | string | RD Wallet ID or bank account number |
bankId | string | Hong Kong bank ID, for example 003 |
beneficiaryAddress1 | string | Beneficiary address line 1 |
beneficiaryAddress2 | string | Beneficiary address line 2 |
beneficiaryAddress3 | string | Beneficiary address line 3: country/region ISO 3166 code |
beneficiarySwiftCode | string | Beneficiary bank Swift Code |
intermediarySwiftCode | string | Intermediary bank Swift Code |
companyCode | string | Company profile code |
status | int32 | Status: 0 processing / 1 success / 2 failed |
19. Payout Result Notification
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
quoteId | int64 | Quote ID |
orderNo | string | Order number |
fromCurrency | string | From currency: USDT / USDC |
fromAmount | string | From amount |
toCurrency | string | To currency: USD |
toAmount | string | To amount after deducting service fee |
tradeFromAmount | string | Actual traded from amount |
tradeToAmount | string | Actual traded to amount |
price | string | Order price |
tradePrice | string | Trade price |
orderStatus | string | See Appendix: Payout Order Status |
createTime | int64 | Order creation time |
finishTime | int64 | Order completion time |
errorMsg | string | Failure reason |
settlementAccountUID | int64 | Settlement account ID |
purpose | string | See Appendix: Purpose |
paymentWay | string | Payment method: RDT / CHATS |
feeMode | int32 | Fee deduction mode. Default value: 1. 1 = shared by both sender and receiver (SHAR); 2 = borne entirely by the payer (OUR) |
feeAmount | string | Service fee |
feeCurrency | string | Fee currency |
refundOrderNo | string | Available when the payout order status is SETTLING_FAILED; used to re-initiate settlement |
extOrderNo | string | Unique order ID provided by the business entity. Only numbers, letters, _, -, and * are allowed. Must be unique under the same merchant account |
20. Payout Refund Result Notification
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
orderNo | string | Payout order number |
refundOrderNo | string | Refund order number |
refundAmount | string | Actual refund amount |
refundCurrency | string | Refund currency |
refundReason | string | Refund reason, returned if available |
refundTime | int64 | Refund time |
21. Payout Re-Settle Result Notification
| Field Name | Type | Description |
|---|---|---|
walletId | int64 | Wallet ID |
orderNo | string | Payout order number |
refundOrderNo | string | Refund order number |
settlementAccountUID | int64 | Settlement account ID |
purpose | string | See Appendix: Purpose |
remark | string | Remark |
paymentWay | string | Payment method: RDT / CHATS |
feeMode | int32 | Fee deduction mode. Default value: 1. 1 = shared by both sender and receiver (SHAR); 2 = borne entirely by the payer (OUR) |
amount | string | Settlement amount |
currency | string | Settlement currency |
feeAmount | string | Service fee |
feeCurrency | string | Fee currency |
createTime | int64 | Order creation time |
finishTime | int64 | Order completion time |
orderStatus | string | Re-settlement order status. See Appendix: Payout Order Status |
Appendix
Response Code
| Code | Description |
|---|---|
1 | success |
6001 | failed, general business failure |
6002 | parameter error |
6003 | order not exist |
6004 | order duplicate |
6005 | no permissions |
6006 | assets not exists |
6101 | wallet account not exists |
6102 | wallet insufficient fund |
6103 | wallet status invalid |
6104 | recipient wallet unavailable |
6105 | recipient wallet not exists |
6109 | Daily payment limit exceeded |
6110 | Monthly collection limit exceeded |
6301 | provider unavailable |
6302 | symbol unavailable |
6303 | provider reject |
6304 | price expire time |
6305 | amount less than minimum amount |
6306 | amount greater than maximum amount |
6307 | outside of business hours |
6401 | address already exists |
6406 | processing |
6801 | duplicate request |
6802 | profile error |
6803 | reach the max limit |
Payout Order Status
| Code | Description | Remark |
|---|---|---|
SUBMITTED | Submitted | Order submitted |
CONVERTING | Exchanging | Order exchanging |
SETTLING | Settling | Exchange successful, proceeding with settlement |
SETTLING_FAILED | Settlement failed | Exchange successful, settlement failed |
SETTLING_REFUND | Refund processing | Refunded after successful settlement |
SUCCESSFUL | Successful transaction | Order processed successfully |
FAILED | Transaction failed | Order processing failed |
Deposit Order Status
| Code | Description | Remark |
|---|---|---|
SUBMITTED | Submitted | Order submitted |
VERIFYING | Order verification | Security verification after order submission. Applies only to Request Payment |
AWAIT_FOR_RECEIVE | Awaiting payment | Order created successfully and awaiting payment. Applies only to Request Payment |
PAYMENT_VERIFYING | Payment verification in progress | Payment has been received by the platform and is under security verification. Applies only to Request Payment |
AWAIT_FOR_DECLARATION | Additional documents required | Trade documents pending submission. Applies only to Request Payment |
DECLARATION_REVIEW | Document review in progress | Document review in progress |
SUCCESS | Transaction successful | Order successful |
FAILED | Transaction failed | Order failed |
CLOSED | Transaction closed | Order closed due to expiration |
RETURNING | Refund processing | Refund processing |
RETURNED | Refunded | Refund processed successfully |
IN_PROGRESS | Payment verification in progress | Payment has been received by the platform and is under security verification. Applies only to Deposit |
Order Type
| Code | Description |
|---|---|
1 | Deposit |
2 | Wallet Transfer |
3 | Internal Transfer |
4 | Request Payment |
5 | Withdraw |
Field Description: amount
This field indicates the transaction amount. Its type isstring. Precision requirements vary by currency type:
- Digital Currency: generally supports up to 6 decimal places to meet on-chain transaction precision requirements.
- Fiat Currency: generally supports up to 2 decimal places, accurate to cents.
- Japanese Yen (JPY): JPY has no decimal places. The amount must be an integer and must not contain a decimal part.
Purpose
| Code | Description |
|---|---|
PMT001 | Invoice payments |
PMT002 | Payment for services |
PMT003 | Payment for software |
PMT004 | Payment for imported goods |
PMT005 | Travel services |
PMT006 | Transfer to own account |
PMT007 | Repayment of loans |
PMT009 | Payment of property rental |
PMT010 | Information Service Charges |
PMT011 | Advertising & Public relations-related expenses |
PMT012 | Royalty fees, trademark fees, patent fees, and copyright fees |
PMT013 | Fees for brokers, front-end fee, commitment fee, guarantee fee, and custodian fee |
PMT014 | Fees for advisors, technical assistance, and academic knowledge, including remuneration for specialists |
PMT015 | Representative office expenses |
PMT016 | Tax Payment |
PMT017 | Transportation fees for goods |
PMT018 | Construction costs / expenses |
PMT019 | Insurance Premium |
PMT020 | General Goods Trades - Offline trade |
PMT021 | Insurance Claims Payment |
PMT024 | Medical Treatment |
PMT025 | Donations |
PMT026 | Mutual Fund Investment |
PMT027 | Currency Exchange |
PMT028 | Advance Payments for Goods |
PMT029 | Merchant Settlement |
PMT030 | Repatriation Fund Settlement |
Country/Region Code
Country/Region CodeIndustry Code
Industry CodeProfile Error Description
The following messages are returned by profile validation and grouped by module. [Business details]Industry cannot be empty!Added industries exceeded limit: 3Industry code cannot be empty!Industry code does not exist!Sales turnover of last year cannot be empty!Incorrect sales turnover of last year input!Year(s) in business cannot be empty!Incorrect year(s) in business input!Location(s) of business cannot be empty!Location(s) of business exceeded limit: 3Industry details cannot be empty!Industry details exceeded maximum length
We only support partnership business in Hong KongWe only support sole proprietorship business in Hong KongPlease enter the ciNumber.Please enter the brNumber.Operating place cannot be empty!Operating address cannot be empty!Operating address exceeded maximum lengthCompany registered place cannot be empty!Company registered place not supported:[area name]The operating place is not supported:[area name]Company registered address cannot be empty!Company registered address maximum lengthCompany registered address in English onlyWebsite exceeded maximum lengthIncorrect business type!Business registration certificate number exceeded max lengthBusiness registration certificate number cannot be emptyCertificate of incorporation number exceeded maximum lengthCertificate of incorporation number cannot be emptyName of business in English cannot be empty!Name of business in Chinese cannot be empty!Name of business in Chinese exceeded maximum lengthName of business in English exceeded maximum lengthNot allowed optionPlease upload a valid proof of Certificate of IncorporationPlease upload a valid proof of Memorandum and Articles of AssociationPlease upload a valid proof of Business RegistrationPlease upload a valid proof of Partnership AgreementPlease upload a valid proof of Certificate of IncumbencyPlease upload a valid proof of KYC FilesDuplicated documentPlease enter a valid business type.Company incorporation date cannot be emptyCompany incorporation date cannot be empty be greater than current date:[corresponding value]Place of financial regulator cannot be empty!Incorrect place of financial regulator input!Name of regulator cannot be empty!Name of regulator exceeded maximum lengthType of license cannot be empty!Type of license exceeded maximum lengthIncorrect place of incorporation!Sorry, the country/region is not supported yet! ... :{placeOfIncorporation}Please upload a valid proof of License/Certificate of Financial InstitutionPlace of listing cannot be empty!Incorrect place of listing input!Name of exchange cannot be empty!Name of exchange exceeded maximum lengthStock code cannot be empty!Stock code exceeded maximum lengthPlace of government owner cannot be empty!Incorrect place of government owner input!
Email exceeded maximum lengthIncorrect email address formatAreaCode exceeded maximum lengthMobileNumber exceeded maximum lengthIncorrect country/region of key peopleIncorrect country/region and idType of key peopleIncorrect idTypeThe user's idv information is incompleteLast name in English exceeded maximum lengthLast name in English and first name in English cannot have only one valueFirst name in English exceeded maximum lengthName in Chinese exceeded maximum lengthidNumber exceeded maximum lengthIncorrect genderPlease upload a valid proof of key peoplePlease set a valid quorumId Number[{idNumber}] was duplicate!Signer must be equal or greater than quorumDirect number has to be between 1 to 99Partner number has to be between 2 to 6Please add at least one ownerPlease add at most one ownerOnly limited company can create directorOnly partnership can create partnerPlease select at least one role for user:IsOwner is only supported by sole proprietorship
Shareholder structure cannot be emptyIncorrect Level in sharesholder structure, only Zero to Ten LevelLast name in English exceeded maximum lengthFirst name in English exceeded maximum lengthName in Chinese exceeded maximum lengthShareholder (company) name in English exceeded maximum lengthShareholder (company) name in Chinese exceeded maximum lengthShareholder (company) RegulatorName exceeded maximum lengthShareholder (company) ExchangeName exceeded maximum lengthShareholder (company) Stock code exceeded maximum lengthIncorrect ownedSharesPercentShareholder type cannot be emptyPlease input correct shareholder type:{type}Shareholder (personal) name in English and Chinese cannot be empty at the same time!Shareholder (company) name cannot be emptyShareholder (company) business type cannot be emptyPlease input correct business type for the shareholder (company):{businessType}We only support sole proprietorship business in Hong KongWe only support partnership business in Hong KongShareholder (company) place of incorporate cannot be emptyIncorrect shareholder (company) place of incorporateWe only support company registered place for partnership and sole proprietorship in Hong Kong onlyLast name in English and first name in English cannot have only one valueParentId cannot be emptyListed/government owner/financial regulator not support partnership businessPlace of financial regulator cannot be empty!Place of financial regulator not supported!Name of regulator cannot be empty!Name of regulator exceeded maximum lengthType of license cannot be empty!Type of license exceeded maximum lengthListed/government owner not support sole proprietorship businessPlace of listing cannot be empty!Place of listing not supported!Name of exchange cannot be empty!Name of exchange exceeded maximum lengthStock code cannot be empty!Stock code exceeded maximum lengthPlace of government owner cannot be empty!Incorrect place of government owner input!Corresponding shareholder type for sameId[{id}] is differentCorresponding shareholder name for sameId[{id}] is differentIncorrect parentId in sharesholder structureAbnormal shareholder structureShareholder structure cannot exceed 10 layersShareholder structure is not necessary
Customer type error.

