Data dictionary
Model
AccountBalance
Field | Data type | Required | Description |
accountNo | String | Yes | The unique ID assigned by WorldFirst to identify an account. More information:
|
balanceTypes | Array<String> | Conditional | This field represents the various balance types. Valid values for this field vary from different clients as follows:
|
currency | String | Yes | 3-character ISO 4217 currency code that represents the currency used. For example, More information:
|
availableBalance | Amount object | Yes | Balance that is available. |
frozenBalance | Amount object | Yes | Balance that is frozen. |
totalBalance | Amount object | Yes | Balance in total. |
AccountInfo
Field | Data type | Required | Description |
accountNo | String | Yes | The unique identifier that is assigned to every WorldFirst Account. It represents the account number for the selected account type in accountType. More information:
|
currencyList | List<String> | Yes | A currency list containing 3-character ISO 4217 currency codes that represent the currencies used. Currently supported currencies:
More information:
|
accountType | String | Yes | The type of the account. Valid values are:
|
accountStatus | String | Yes | The status of the account. Valid values are:
|
bankAccountList | Array<Bank Account object> | Conditional | The bank account information of the account that is being queried. This field is required when both of the following conditions are met:
|
Address
Field | Data type | Required | Description |
region | String | Yes | Two-letter ISO3166 country/region code that represents the country/region of the address. More information:
|
state | String | No | State/County/Province. More information:
|
city | String | No | City/District/Suburb/Town/Village. More information:
|
address1 | String | No | Address line 1(Street address/PO Box/Company name). More information:
|
address2 | String | No | Address line 2(Apartment/Suite/Unit/Building). More information:
|
zipCode | String | No | ZIP or postal code. More information:
|
Address for TransferPayer
Field | Data type | Required | Description |
address1 | String | No | Information about the address. More information:
|
AlipayAccountPaymentMethodDetail
Field | Data type | Required | Description |
beneficiaryType | String | Yes | The type of the beneficiary, which could be a corporate or an individual Alipay account that receives funds from the payout. Valid values for beneficiaryType are:
|
alipayAccountName | String | Yes | The name of the Alipay account. More information about this field:
|
alipayAccountLogonId | String | Yes | The account ID that logs onto Alipay, which is an email address or phone number. Note: It should be either a legit email address with no more than 64 characters or an 11-character phone number. |
Amount
Field | Data type | Required | Description |
currency | String | Yes | 3-character ISO 4217 currency code that represents the currency used. For example, More information:
|
value | Integer | Yes | An integer. The value is in the smallest currency unit. For example, if the value is |
AttachmentInfo
Field | Data type | Required | Description |
fileName | String | Yes | The original file name of the submitted attachment Example: file.pdf More information about this field:
|
fileKey | String | Yes | The key value of the attachment file More information about this field:
|
BankAccount
Field | Data type | Required | Description |
bankAccountNo | String | Yes | The bank account number. Note:
Rule:
More information:
|
holderName | UserName object | Yes | The name of the account holder. Note:
|
holderAccountType | String | No | The type of the account holder. Valid values are:
For the full list, refer to HolderAccountType. |
holderAddress | Address object | No | The address of the holder. |
currencyList | List<String> | No | A currency list containing 3-character ISO 4217 currency codes that represent the currencies used by the WorldFirst VA (Virtual Account) Account. Supported currencies are:
|
bankName | String | Conditional | Name of the bank. Note:
More information:
|
routingNumber | String | Conditional | The code that identifies a specific financial institution, which includes:
Note:
More information:
|
bankAddress | Address object | Conditional | The address of the bank. Note:
|
bankBIC | String | Yes | The bank Identifier Code. An 8 to 11-character code that identifies banks worldwide. Note:
Rule:
More information:
|
bankAccountIBAN | String | Conditonal | The international Bank Account Number (IBAN) of the Beneficiary account. Note: This field is required when both of the following conditions are met:
Rule:
More information:
|
bankAccountBSB | String | Conditional | A six-digit sort code that identifies Australian banks and branches. BSB (Bank State Branch) is used for local transactions in Australia. Note:
More information:
|
accountCreationDate | String | Conditional | The time when an account is created. Note:
More information:
|
bankCode | String | Conditional | The bank code. Note:
More information:
|
branchCode | String | Conditional | A 3-digit or 3-letter code for bank branches. Note:
More information:
|
bankAccountType | String | Conditional | The type of the bank account. Note:
More information:
|
collectionArea | String | Conditional | The area where the transfer is received. Note:
More information:
|
wireRoutingNumber | String | Conditional | A 9-digit number used to identify the financial agency that is conducting the electronic transfer, both sending or receiving, local or international. It can also be used to receive transfers from e-commerce platforms that are not based in the United States. Note:
More information: Maximum length: 64 characters |
BankAccount for inquiryAccount
Field | Data type | Required | Description |
holderAccountName | UserName object | Yes | Name of the account holder. Note:
Rule:
|
holderAddress | Address object | No | The address of the holder. |
holderAccountType | String | No | The type of the account holder. Valid values are:
For the full list, refer to HolderAccountType. |
bankRegion | String | Yes | 2-character ISO 3166 country/region code that represents the country/region where the bank is located at.
|
routingNumber | String | No | Code that is used to identify a specific financial institution, which includes:
More information:
|
bankBIC | String | No | Bank Identifier Code. An 8 to 11-character code that identifies banks worldwide. Rule:
More information:
|
bankName | String | No | Name of the bank. Note:
Rule:
More information:
|
branchBankName | String | No | Name of the bank branch. More information:
|
bankAddress | Address object | No | The address of the bank. |
bankAccountNo | String | No | Bank account number. Note:
Rule:
More information:
|
bankAccountIBAN | String | No | International Bank Account Number (IBAN) of the Beneficiary account. Note:
Rule:
More information:
|
BankAccountPaymentMethodDetail
Field | Data type | Required | Description |
bankCountryCode | String | Yes | 2-character ISO-3166 country/region code that represents the country/region where the bank locates. More information:
|
bankAccountNo | String | No | Bank account number. Note:
Rule:
More information:
|
bankAccountIBAN | String | No | International Bank Account Number (IBAN) of the Beneficiary account. Note:
Rule:
More information:
|
beneficiaryType | String | No (Conditional) | The beneficiary type. Specify this parameter if the value of the transferToDetail.transferToAmount.currency parameter is Valid values are:
|
bankAccountLocalName | String | No (Conditional) | The bank account holder's name in local language. Specify this parameter if the value of the transferToDetail.transferToAmount.currency parameter is More inforamtion about this field:
|
bankLocalName | String | No (Conditional) | The bank name in local language. Specify this parameter if the value of the transferToDetail.transferToAmount.currency parameter is More inforamtion about this field:
|
routingNumber | String | No (Conditional) | The routing number of a specific financial institution, which includes ABA routing number, BSB routing number, and Sort code. Specify this parameter if the value of the transferToDetail.transferToAmount.currency parameter is More information:
|
bankAccountName | String | No | The account holder's name. More inforamtion about this field:
|
bankName | String | No | Name of the bank. More information:
|
branchBankName | String | No | Name of the bank branch. More information:
|
bankAddress | Address object | No | The address of the bank. |
bankBIC | String | No | Bank Identifier Code. An 8 to 11-character code that identifies banks worldwide. Rule:
More information:
|
beneficiaryAddress | String | No | The address of the beneficiary. |
beneficiaryCountryCode | String | No | 2-character ISO-3166 country/region code that represents the country/region where the beneficiary locates. |
Beneficiary
Field | Data type | Required | Description |
beneficiaryToken | String | Yes | A ciphered text that contains information about the details of the beneficiary's bank account. Note:
|
bindBeneficiaryRequestId | String | Yes | The unique ID assigned by the initiator to identify a bind beneficiary request. Note:
|
beneficiaryBankAccount | BeneficiaryBankAccount object | Yes | Details about the beneficiary's bank account. |
countryCode | String | Yes | 2-character ISO 3166 country/region code that represents the country/region where the beneficiary locates. More information:
|
currency | String | Yes | 3-character ISO 4217 currency code that represents the currency used. Currently, the following currencies are supported:
|
beneficiaryType | String | Yes | Defines the type of the beneficiary's card. Valid values are:
For the full list, refer to BeneficiaryType. |
beneficiaryNick | String | Yes | The nickname of the beneficiary. The nickname is defined by the Customer to identify the beneficiary easily. |
status | String | Yes | Indicates whether the beneficiary is valid or not. Possible values are:
For the full list, refer to status. |
referenceBeneficiaryId | String | No | The unique ID defined by the Partner to identify a beneficiary. More information:
|
BeneficiaryBankAccount
Field | Data type | Required | Description |
bankAccountName | String | No | The name of the beneficiary's bank account. |
bankAccountNo | String | No | The number of the bank account. Note:
Rule:
More information:
|
bankName | String | No | Name of the bank. Note:
Rule:
More information:
|
bankBIC | String | No | Bank Identifier Code. An 8 to 11-character code that identifies banks worldwide. Rule:
More information:
|
bankAccountIBAN | String | No | International Bank Account Number (IBAN) of the Beneficiary account. Note:
Rule:
More information:
|
routingNumber | String | No | Code that is used to identify a specific financial institution, which includes:
More information:
|
beneficiaryCountryCode | String | No | 2-character ISO 3166 country/region code that represents the country/region where the beneficiary's bank is located at. More information:
|
beneficiaryPhone | String | No | Phone number of the beneficiary. |
bankBranchCode | String | No | Branch code of the beneficiary's bank. |
bankAccountLocalName | String | No | Bank account holder name in the local language. |
beneficiaryTIN | String | No | Beneficiary's Taxpayer Identification Number. Rule:
More information:
|
beneficiaryDepositType | String | No | Type of beneficiary's bank deposit. Rule:
More information:
|
bankCountryCode | String | No | 2-character ISO 3166 country/region code that represents the country/region where the bank is located. Rule:
More information:
|
bankLocalName | String | No | Bank name in local language. Rule:
More information:
|
beneficiaryState | String | No | The English name of the state/county/province where the beneficiary is located. Rule:
More information:
|
beneficiaryCity | String | No | The English name of the city/district/suburb/town/village where the beneficiary is located. Rule:
More information:
|
beneficiaryAddress | String | No | The beneficiary's detailed address in English. |
localBeneficiaryAddress | String | No | The beneficiary's detailed address in local language. Rule:
More information:
|
beneficiaryPostalCode | String | No | The beneficiary's postal code. Rule:
More information:
|
BizContractInfo
Field | Data type | Required | Description |
buyerEnName | String | Yes (conditional) | Indicates the buyer's English name in goods trade. More information about this field:
|
tradeCountry | String | Yes (conditional) | Indicates the trader's country/region code in 2 letters (ISO-3166). For the safety of customers' funds, we do not support trade orders from the following countries:
More information about this field:
|
deliverCountry | String | Yes (conditional) | Indicates the recipient's country/region code in 2 letters (ISO-3166). For the safety of customers' funds, we do not support trade orders from the following countries:
More information about this field:
|
contractList | Array <AttachmentInfo Object> | Yes (conditional) | At least one of them in goods trade: PI, CI, contract More information about this field:
|
Buyer
Field | Data type | Required | Description |
referenceBuyerId | String | No (Conditional) | Indicates the unique ID that is assigned by the Partner to identify a buyer. More information about this field:
|
buyerName | UserName object | No (Conditional) | Indicates the buyer name. More information about this field:
|
buyerEmail | String | No (Conditional) | Indicates the buyer's email address. More information about this field:
|
buyerPhoneNo | String | Optional | Indicates the buyer's phone number. More information about this field:
|
CardTemplateField
Field | Data type | Required | Description |
fieldName | String | Yes | Name of the field. |
fieldDescription | String | Yes | Description of the field. |
required | String | Yes | Indicates whether the rules must be followed. Possible values are:
|
restriction | Restriction object | No | Restrictions that need to be applied to the field. |
Certificate
Field | Data type | Required | Description |
certificateNo | String | No | Certification number of the Customer's company. More information:
|
certificateType | String | No | Type of the certification. Possible values are:
|
Customer
Field | Data type | Required | Description |
customerId | String | No (Conditional) | Indicates the unique ID that is assigned by Worldfirst to identify a user. Specify this parameter if the value of the sceneCode parameter is More information:
|
referenceCustomerId | String | No (Conditional) | Indicates the unique ID that is assigned by the Partner to identify a user. Specify this parameter if the value of the sceneCode parameter is More information:
|
customerCompanyName | String | No | Indicates the registration name of the customer's company. More information:
|
certificateList | Array<Certificate Object> | No | List of Information about the customer's certifications. |
Deal
Field | Data type | Required | Description |
dealId | String | Yes | The unique ID assigned by WorldFirst to identify a forward deal. More information:
|
dealRequestId | String | Yes | The unique ID assigned by the Partner to identify a deal request. More information:
|
sell | Amount object | Yes | The amount to sell. |
buy | Amount object | Yes | The amount to buy. |
unSettledBuy | Amount object | No | The amount of unsettled amount that the Partner buys. Note:
|
unSettledSell | Amount object | No | The amount of unsettled sell amount that the Partner sells. Note:
|
quote | Quote object | Yes | Information with regard to the quote, such as the currency pair used, the expiry time of the quote, etc. |
forwardType | String | Yes | The type of the forward quote. Possible values are:
For the full list, refer to forwardType. |
windowStartTime | DateTime object | Yes(Conditional) | Indicates the start time of the window. Note:
|
expiredTime | DateTime object | Yes | The expired time of the deal. Also known as the latest time to complete the exchange. Note:
|
margin | Amount object | Yes | The amount of the margin used in this forward deal. |
creditLine | Amount object | Yes | The amount of the credit line used in this forward deal. |
creditLineBase | Amount object | Yes | The amount of the base currency that the forward deal uses. |
settledTime | DateTime object | No | The finishing time of all the related settlements of the forward deal. Note:
|
cancelTime | DateTime object | No | The cancel time of the forward deal. Also known as the latest time to complete the exchange. Note:
|
cancelCost | Amount object | No | The amount that costs the deal initiator from the cancellation request. Note:
|
cancelGain | Amount object | No | The amount that the deal initiator gains from the cancellation request. Note:
|
DeclarationInfo
Field | Data type | Required | Description |
declarationOrderReferenceNo | String | Yes | Customs number or customs declaration. More information about this field:
|
supervisionMethod | String | Yes | Indicates the supervision mode. Valid values are:
|
customsDeclarationAttachmentList | Array <AttachmentInfo Object> | Yes | Indicates the attachments of customs declaration. |
Env
Field | Data type | Required | Description |
clientIp | String | Yes | Client ip address More information:
|
sessionId | String | No | Session id More information:
|
deviceTokenId | String | No | The token for query full device data of appId sdk More information:
|
terminalType | String | Yes | Terminal type, possible values are:
|
language | String | Yes | Language of user interface the user is using More information:
|
clientUmid | String | No | DeviceId generated by alibaba group umid sdk More information:
|
umidTokenId | String | No | The token associated with umid reported data More information:
|
userAgent | String | No | User agent More information:
|
cookieId | String | No | User cookie id More information:
|
osType | String | Yes (Conditional) | Type of the operation system Note:
More information:
|
osVersion | String | Yes (conditional) | Version of the operation system Note:
More information:
|
deviceModel | String | No | Device model More information:
|
deviceVersion | String | No | Device version More information:
|
appVersion | String | No | App version More information:
|
browserVersion | String | Yes (conditional) | Browser version Note:
More information:
|
browserType | String | Yes (conditional) | Browser type Note:
More information:
|
browserTimeZone | String | Yes (conditional) | Browser time zone, the difference between the time zone of the device location and Greenwich Mean Time (GMT) in minutes Note:
Value of this field (GMT+08:00 as an example):
More information:
|
operateEntrance | String | No | The operate entrance to identify requests from merchants and requests from third-party mini-programs. For example, for LZD scenarios, the value of this field is More information:
|
isPastedCard | Boolean | No | Whether the user copy-and-pasted the card information for the payment input |
ExchangeForwardInfo
Field | Data type | Required | Description |
dealId | String | Yes | The unique ID assigned by WorldFirst to identify a forward deal. More information:
|
actualSellAmount | Amount object | No | The actual sell amount of the forward exchange. Note:
|
actualBuyAmount | Amount object | No | The actual buy amount of the forward exchange. Note:
|
serviceFeeAmount | Amount object | No | The service fee for the settlement. Note:
|
ExchangeQuoteAddition
Field | Data type | Required | Description |
exchangeMemo | String | No | An additional memo that is provided by the Customer. This field is used for displaying user records. |
referenceOrderId | String | No | A unique ID assigned by the Partner to identify the transfer order for the Customer(Merchant). More information:
|
FundMoveDetail
Field | Data type | Required | Description |
payerName | String | No (Conditional) | The name of the payer. Note:
More information:
|
payerAccountNo | String | No (Conditional) | The account number of the payer. Note:
More information:
|
payerAccountType | String | No (Conditional) | The type of the payer's account. Note:
Possible values are:
For more details about each value, refer to the PayerAccountType section. |
beneficiaryName | String | No (Conditional) | The name of the beneficiary, who is the account holder of the beneficiary account. Note:
More information:
|
beneficiaryAccountNo | String | No (Conditional) | The beneficiary's account number. Note:
More information:
|
beneficiaryAccountType | String | No (Conditional) | The type of the beneficiary's account. Note:
Possible values are:
For more details about each value, refer to the BeneficiaryAccountType section. |
beneficiaryBankCountry | String | No (Conditional) | The country where the beneficiary's bank account locates at. Note:
More information:
|
beneficiaryBankName | String | No (Conditional) | The name of the bank that the beneficiary's bank account belongs to. Note:
More information:
|
beneficiaryStoreName | String | No (Conditional) | The name of the store that the beneficiary owns. Note:
More information:
|
beneficiaryMarketplaceName | String | No (Conditional) | The name that the Partner registers at the Marketplace. Note:
More information:
|
remarks | String | No | Additional remarks for the transaction. More information:
|
description | String | No | Descriptions for the transaction. More information:
|
receiveAccount | String | No | Receiving Account number or Virtual Account number. Note:
More information:
|
payerUserId | String | No (Conditional) | The unique ID assigned by WorldFirst to identify a payer. Note:
More information:
|
paymentExplanation | String | No (Conditional) | Explanatory information provided by the payer on a payment. Note:
More information:
|
paymentSubject | String | No (Conditional) | Payer's username at the service provider's platform. Note:
More information:
|
paymentVoucherNo | String | No (Conditional) | Payment voucher, namely, a payment reference number issued by service provider and later filled out by payer. Note:
More information:
|
Goods
Field | Data type | Required | Description |
goodsName | String | Yes | Indicates the goods name. More information about this field:
|
goodsCategory | String | No (Conditional) | Indicates the goods category. Specify this parameter if the value of the sceneCode parameter is More information about this field:
|
goodsQuantity | String | Yes | Indicates the number of goods. |
goodsUnit | String | No (Conditional) | Indicates the unit of measurement for goods. This parameter is required when sceneCode is |
goodsCnName | String | No (Conditional) | Indicates the Chinese names of the goods. This parameter is required when sceneCode is |
storeUrl | String | No (Conditional) | Indicates the store URL. This parameter is required when sceneCode is |
InquiryRateCondition
Field | Data type | Required | Description |
sellCurrency | String | Yes | 3 character ISO-4217 currency code of the currency that the Partner intends to convert from. More information:
|
buyCurrency | String | Yes | 3 character ISO-4217 currency code of the currency that the Partner intends to convert to. More information:
|
LogisticsCompany
Field | Data type | Required | Description |
providerKey | String | Yes (conditional) | Logistics company code Reference: ProviderKey More information about this field:
|
providerValue | String | Yes (conditional) | Logistics company name More information about this field:
|
Merchant
Field | Data type | Required | Description |
Store | Store Object | Yes | Indicates the store information. |
merchantId | String | No | Indicates the unique ID that is assigned by the Worldfirst to identify a merchant. |
OperatorInfo
Field | Data type | Required | Description |
operatorName | String | No | Name of the operator. |
operatorEmail | String | No | Email of the operator. |
PaymentMethod (for Payout)
Field | Data type | Required | Description |
paymentMethodType | String | Yes | Type of the payment method. Valid values are:
|
paymentMethodId | String | Yes(Conditional) | The unique ID of the payment method utilized. This field is required when:
More information about this field:
|
paymentMethodMetaData | PaymentMethodDetail Object | Yes(Conditional) | A JSON object that describes the payment details. This field is required when:
More Information:
|
PaymentMethod (for Transfer)
Field | Data type | Required | Description |
paymentMethodType | String | Yes | Type of the payment method. Valid values are:
|
paymentMethodId | String | Yes(Conditional) | The unique ID of the payment method utilized. Note:
More information about this field:
|
customerId | String | Yes(Conditional) | The unique ID assigned by WorldFirst to identify a Customer. Note:
More information about this field:
|
Quote
Field | Data type | Required | Description |
quoteId | String | No | The unique ID assigned by WorldFirst for every quote as the identifier. More information:
|
quoteCurrencyPair | String | Yes | Two 3-character ISO 4217 currency codes identifying the currency pair for the quote. More information:
|
quotePrice | Decimal | Yes | The quote price. More information:
|
quoteStartTime | DateTime object | No | The date and time when Note:
|
quoteExpiryTime | DateTime object | No | The time that the quote expires. Note:
|
guaranteed | Boolean | No | Indicates whether the exchange rate of the quote is guaranteed. Valid values are:
|
Quote for inquiryStatementList
Field | Data type | Required | Description |
quotePrice | String | Yes | The price represents how much of the quote currency you need to get 1 quote unit of the base currency. For example, if More information:
|
transferFromCurrency | String | Yes | 3-character ISO-4217 currency code that represents the base currency of the transfer. For example, More information:
|
transferToCurrency | String | Yes | 3-character ISO-4217 currency code that represents the exchange currency of the transfer. For example, More information:
|
QuoteAmount
Field | Data type | Required | Description |
currency | String | Yes | 3-character ISO 4217 currency code that represents the currency used. For example, More information:
|
value | Integer | Yes(Conditional) | 0 or a positive integer. The value is in the smallest currency unit. For example, if the value is Note:
More information:
|
QuoteForwardInfo
Field | Data type | Required | Description |
settlementTimeType | String | No (Conditional) | The type of the exchange settlement time. Specify this parameter if the value of the exchangeTradeType parameter is Valid values are:
|
windowStartTime | Datetime object | Yes(Conditional) | Indicates the start time of the window. Note:
|
expiredTime | Datetime object | Yes | The expired time of the deal. Also known as the latest time to complete the exchange. Note:
|
marginCurrency | String | No (Conditional) | 3-character ISO 4217 currency code that represents the currency of:
For example, Specify this parameter if the value of the exchangeTradeType parameter is More information:
|
quoteMarginAmount | Amount object | No | The amount of the margin with regard to a quote. Note:
|
quoteCreditLineAmount | Amount object | No | The amount of the credit line with regard to a quote. Note:
|
quoteCreditLineBaseAmount | Amount object | No | The base amount information of the credit line with regard to a quote. Note:
|
ReferenceRate
Field | Data type | Required | Description |
sellCurrency | String | Yes | 3 character ISO-4217 currency code of the currency that the Partner intends to convert from. More information:
|
buyCurrency | String | Yes | 3 character ISO-4217 currency code of the currency that the Partner intends to convert to. More information:
|
rate | Decimal | Yes | The price represents how much of
More information:
|
Restriction
Field | Data type | Required | Description |
restrictionType | String | Yes | Defines the type of restriction. Possible values are:
|
restrictionRegex | String | No | Specific rules that describe the restriction. Note:
|
restrictionMsg | String | No | Additional messages that describe the restriction. |
restrictionOptions | List <RestrictionOption object> | No | A list that defines the specific options of the restriction.
|
RestrictionOption
Field | Data type | Required | Description |
optionName | String | Yes | The name of the option. |
optionValue | String | Yes | The value of the option. |
Result
Field | Data type | Required | Description |
resultCode | String | Yes | The result code. Possible values are listed in the Result codes table on this page.
|
resultMessage | String | No | The result message that explains result codes in detail.
|
resultStatus | String | Yes | The result status. Valid values are:
|
Shipping
Field | Data type | Required | Description |
isShipped | String | No (Conditional) | Indicates the shipping status. Specify this parameter if the following requirements are met:
Valid values are:
|
isDeclared | String | No (Conditional) | Indicates if there is a customs declaration. Specify this parameter if the following requirements are met:
Valid values are:
|
isNewBuyer | String | No (Conditional) | Indicates new buyer or repeat buyer. Specify this parameter if the following requirements are met:
Valid values are:
|
wayBillInfos | Array <WayBillInfo Object> | No (Conditional) | Indicates the invoice details. Specify this parameter if either of the following requirements is met:
|
declarationInfos | Array <DeclarationInfo Object> | No (Conditional) | Indicates the customs declaration details. Specify this parameter if the following requirements are met:
|
expectedShippingDate | String | No (Conditional) | Indicates the expected shipping date. Specify this parameter if the following requirements are met:
Format: 13-digit time stamp Example: 1659430628390 |
inquiryChatRecordAttachmentList | Array <AttachmentInfo Object> | No (Conditional) | Inquire about the communication record of the trade order. Specify this parameter if the following requirements are met:
|
logisticsChatRecordAttachmentList | Array <AttachmentInfo Object> | No (Conditional) | Indicates the communication logs/record of logistics. Specify this parameter if the following requirements are met:
|
tradeTerms | String | No (Conditional) | Indicates the trading mode. Specify this parameter if the value of sceneCode is Value reference: TradeTerms |
Statement
Field | Data type | Required | Description |
transactionTime | DateTime object | Yes | The time that the payment order is created by the Partner. Note:
|
balanceTypes | Array<String> | Conditional | This field represents the various balance types. Valid values for this field vary from different clients as follows:
|
transactionType | String | Yes | Indicates the type of transaction that this API requests. Possible values include:
For the full list, refer to the transactionType. |
transactionAmount | Amount object | Yes | Defines the amount of the transaction. Note:
|
feeAmount | Amount object | No (Conditional) | The amount of the fee. Note:
|
originalTransactionAmount | Amount object | Yes | Defines the transaction amount originally submitted. |
netAmount | Amount object | No (Conditional) | The net amount received after deducting the fees handled by WorldFirst during transaction. Formula: Net amount=total amount-fees. Note: This field is required when transactionType is:
|
receiveAmount | Amount object | No (Conditional) | The final amount received after currency conversion. Formula: Received amount=net amount*exchange rate applied during transaction. Note: This field is required when transactionType is:
|
accountBalance | Amount object | Yes | Indicates the account balance in real-time after the transaction. |
transactionId | String | No (Conditional) | The unique ID assigned by WorldFirst to identify a transaction. Note:
More information:
|
extTransactionId | String | No | The unique ID assigned by the Partner to identify a transaction. More information:
|
transactionStatus | String | Yes | The status for transactions. Possible values are:
|
foreignExchangeQuote | Quote object | No (Conditional) | Information about quotes for transfer. Note:
|
refundForeignExchangeQuote | Quote object | No (Conditional) | Information about quotes for transfer refunds. Note:
|
fundMoveDetail | FundMoveDetail object | Yes | Defines the details about the fund move. |
operatorInfo | OperatorInfo object | No(Conditional) | For payment, withdraw and convert orders submitted on the WF portal, WorldFirst returns this field in the corresponding statement. |
Store
Field | Data type | Required | Description |
storeShopUrl | String | Yes | Indicates the store's URL. More information about this field:
|
TradeOrder
Field | Data type | Required | Description |
referenceOrderNo | String | Yes | Indicates the trade order number. More information about this field:
|
orderTime | DateTime Object | No (Conditional) | Indicates the trading time. Specify this parameter if the value of the sceneCode parameter is |
paymentTime | DateTime Object | Yes | Indicates the payment time. |
transAmount | Amount Object | Yes | Indicates the transfer amount. The definition of this parameter varies based on the value of the sceneCode parameter:
|
tradeAmount | Amount Object | Yes | Indicates the trade amount. The definition of this parameter varies based on the value of the sceneCode parameter:
|
tradeType | String | Yes | Indicates the type of trade. Values:
|
orderType | String | No (Conditional) | Indicates the order type. Specify this parameter if the value of the sceneCode parameter is Valid values are:
|
merchant | Merchant Object | No (Conditional) | Indicates the merchant information. Specify this parameter if the value of the sceneCode parameter is |
seller | Customer Object | No (Conditional) | Indicates the seller information. Specify this parameter if the value of the sceneCode parameter is |
buyer | Buyer Object | No (Conditional) | Indicates the buyer information. Specify this parameter if the value of the sceneCode parameter is |
goods | Array <Goods Object> | No (Conditional) | Indicates the goods details. Specify this parameter if the value of the tradeType parameter is |
shipping | Shipping Object | No (Conditional) | Indicates the shipping details. Specify this parameter if the value of the tradeType parameter is |
isUsedForExchange | String | No (Conditional) | Indicates whether the order is used for foreign exchange. Specify this parameter if the value of the sceneCode parameter is Valid values:
|
bizContractInfo | BizContractInfo Object | No (Conditional) | Indicates the contract details. Specify this parameter if the value of the sceneCode parameter is |
otherAttachmentList | Array <AttachmentInfo Object> | No | Indicates the additional attachments. |
attachmentDesc | String | No | Indicates the additional comments on the attachment. More information:
|
market | String | No | The service market or region. Valid values are:
|
revenueShare | String | No | The revenue share. |
logisticsMode | String | No (Conditional) | The logistics mode. Valid values are:
Note:
|
TradeOrderResult
Field | Data type | Required | Description |
referenceOrderNo | String | Yes | Indicates the trade order number. More information about this field:
|
orderStatus | String | Yes | Indicates the trade order status. Valid values are:
|
statusMessage | String | Yes | Indicates the trade order status details. |
transAmount | Amount Object | No | Indicates the transaction amount. |
tradeAmount | Amount Object | No | Indicates the trade amount. |
remainAmount | Amount Object | No | Indicates the remaining amount available for foreign exchange settlement. |
errorCode | String | No | Indicates the error code. |
errorMessage | String | No | Indicates the error message. |
TransferBeneficiary
Field | Data type | Required | Description |
referenceBeneficiaryId | String | No | The unique ID assigned by the partner to identify the beneficiary. More information:
|
beneficiaryName | UserName Object | No | The name of the beneficiary. |
beneficiaryCountry | String | No | 3-letter ISO 3166-1 code that represents the country where the beneficiary locates at. More information:
|
beneficiaryAddress | Address Object | No | The address of the beneficiary. |
beneficiaryMobileNo | String | No | The contact phone number of the beneficiary. More information:
|
beneficiaryEmail | No | The email address of the beneficiary. Note:
| |
beneficiaryRegistrationTime | DateTime object | No | The registration time of the beneficiary. Note:
|
beneficiaryLastLoginTime | DateTime object | No | The last login time of the beneficiary. Note:
|
extendInfo | String | No | Extended information about the beneficiary. More information:
|
TransferFromAddition
Field | Data type | Required | Description |
transferPayer | TransferPayer object | Yes | Information about the payer. |
TransferFromDetail
Field | Data type | Required | Description |
transferFromMethod | PaymentMethod object for Payout PaymentMethod object for Transfer | No | The payment method that the Payer utilizes. |
transferFromAmount | Amount object | Yes | The amount of the transfer that the payer needs to pay (before fee collection). If the value of this parameter is set as |
transferFromCurrency | String | No | The currency the payer users (3-character ISO 4217 currency code). This field and the amount cannot be specified at the same time. |
transferLimitInfo (For responses only) | TransferLimitInfo object | No (Conditional) | The limit information about the transfer amount. Specify this parameter if the value of the transferToDetail.transferToAmount.currency parameter is |
actualTranferFromAmount (For responses only) | Amount object | No | The actual amount for the transfer (after fee collection). This field is only included in responses. |
feeAmount (For responses only) | Amount object | No | The fee amount paid by the payer. This field is only included in responses. |
transferQuote | Quote object | No | Quote information for the transfer. |
TransferOrderAddition
Field | Data type | Required | Description |
referenceOrderId | String | No | A unique ID assigned by the Partner to identify the transfer order for the Customer(Merchant). Note:
More information:
|
disPlayTitle | String | No | Use this field to display an overview of transaction details in the Alipay CN account that receives the payout. |
env | Env object | No | The environment used for the transfer. |
transferFromAddition | TransferFromAddition object | No | Additional transfer information about the payer. |
transferToAddition | TransferToAddition object | No | Additional transfer information about the beneficiary. |
extendInfo | String | No | Extended information. More information:
|
TransferLimitInfo (for Payout)
TransferPayer
Field | Data type | Required | Description |
referencePayerId | String | No | The unique ID assigned by the Partner to identify the payer. More information:
|
payerName | UserName object | No | The name of the payer. |
payerCountry | String | No | 2-letter ISO 3166 code that represents the country where the payer locates at. |
payerAddress | Address object | No | The address of the payer. |
payerMobileNo | String | No | Mobile phone number of the payer More information:
|
payerEmail | No | Email address of the payer | |
payerRegistrationTime | DateTime object | No | Registration time of the payer Note:
|
payerLastLoginTime | DateTime object | No | Last login time of the payer Note:
|
extendInfo | String | No | Extended information of the payer |
TransferResult
Field | Data type | Required | Description |
resultCode | String | Yes | Result code. Possible values are listed in the Result codes table on this page. More information:
|
resultMessage | String | No | Result message that explains result codes in detail. More information:
|
resultStatus | String | Yes | Result status. Valid values are:
|
TransferToAddition
Field | Data type | Required | Description |
transferToRequestId | String | No | The unique ID to identify the transfer request. More information:
|
transferBeneficiary | TransferBeneficiary object | Yes | Information with regard to the beneficiary. |
TransferToDetail (for Transfer)
Field | Data type | Required | Description |
transferToRequestId | String | Yes | The unique ID to identify the transfer request. |
transferToMethod | PaymentMethod object (for Transfer) | Yes | The method that the beneficiary uses to receive the transfer. |
transferToAmount | Amount object | Yes | The amount of the transfer that the beneficiary collects in a specific currency (before fee collection). Note:
|
transferToCurrency | String | No | 3-character ISO-4217 currency codes representing the currency that the beneficiary collects. This field and transferToAmount cannot be specified at the same time. |
actualTransferToAmount (For responses only) | Amount object | No | The amount of the transfer that the beneficiary collects (after fee collection). This field might be included in the response message. |
feeAmount | Amount object | No | Service fee for the transfer. If specified in the request, the service fee will be collected as specified. |
transferQuote | Quote object | No | Indicates the foreign exchange quote information. |
transferNotifyUrl | String (URL) | No | If the partner specifies this field, WorldFirst will send the transfer result notification to this URL. |
transferToId (For responses only) | String | No | The unique identifier returned by AAC. This field might be included in the response message and can be used for inquiries. More information:
|
transferToResult | Result object | No | The transfer processing result by AAC, including information on the business status and error message. This field is returned for batched transfers only. |
transferToFinishTime | DateTime object | No | The finish time for the transfer. This field is only included in responses. Note:
|
transferRemark | String | No | Information provided for bank settlements. More information:
|
transferMemo | String | No | The memo that the transfer initiator leaves. More information:
|
extendInfo | String | No | Additional information for the transfer. More information:
|
transferToReturnAmount (For responses only) | Amount object | No | For refunds, this field indicates the amount of the refund. This field is only used for notifications. |
transferToReturnTime (For responses only) | DateTime object | No | For refunds, this field indicates the time of the refund. This field is only used for notifications. Note:
|
purposeCode | String | Yes | Defines the purpose of the transfer. Possible values are:
For the full list, refer to purposeCode. |
TransferToDetail (for payout)
Field | Data type | Required | Description |
transferToRequestId | String | Yes | The unique ID to identify the payout request. |
transferToMethod | PaymentMethod object (for Payout) | Yes | The method that the beneficiary uses to receive the payout. |
transferToAmount | Amount object | Yes | The amount of the payout that the beneficiary collects (before fee collection). Note:
|
transferToCurrency | String | No | 3-character ISO-4217 currency codes representing the currency that the beneficiary collects. This field and transferToAmount cannot be specified at the same time. |
actualTransferToAmount (For responses only) | Amount object | No | The amount of the payout that the beneficiary collects (after fee collection). This field might be included in the response message. |
feeAmount | Amount object | No | Service fee for the payout. If specified in the request, the service fee will be collected as specified. |
transferQuote | Quote object | No | Indicates the foreign exchange quote information. |
transferNotifyUrl | String (URL) | No | If the partner specifies this field, WorldFirst will send the payout result notification to this URL. |
transferToId (For responses only) | String | No | The unique identifier returned by AAC. This field might be included in the response message and can be used for inquiries. More information:
|
transferToResult | Result object | No | The payout processing result by AAC, including information on the business status and error message. This field is returned for batched payouts only. |
transferToFinishTime | DateTime object | No | The finish time for the payout. This field is only included in responses. Note:
|
transferRemark | String | No | Information provided for bank settlements. More information:
|
transferMemo | String | No | The memo that the payout initiator leaves. More information:
|
extendInfo | String | No | Additional information for the payout. More information:
|
transferToReturnAmount (For responses only) | Amount object | No | For refunds, this field indicates the amount of the refund. This field is only used for notifications. |
transferToReturnTime (For responses only) | DateTime object | No | For refunds, this field indicates the time of the refund. This field is only used for notifications. Note:
|
purposeCode | String | Yes | Defines the purpose of the payout. Possible values are:
For the full list, refer to purposeCode. |
isFVT | String | No | Indicates whether a Full Value Transfer (FVT) is intended to ensure the beneficiary collects the full amount. Possible values are:
|
arrivalType | String | No | The preference of using the Full Value Transfer (FVT) in a payout. Valid values are:
Note: The capability of FVT can be implemented only for partners in the white list. If you need to implement this capability, contact your BD or SA in advance. |
fvtPayment (For responses only) | String | No | Indicates whether the payout uses the FVT capability. Valid values are:
Note: This parameter is returned by Worldfirst only if you have the capability of FVT. The capability of FVT can be implemented only for partners in the white list. If you need to implement this capability, contact your BD or SA in advance. |
UserName
Field | Data type | Required | Description |
firstName | String | No | The first name of the user. More information:
|
middleName | String | No | The middle name of the user. More information:
|
lastName | String | No | The last name of the user. More information:
|
fullName | String | Yes | The full name of the user. More information:
|
UserName for TransferPayer
Field | Data type | Required | Description |
fullName | String | No | The full name of the user. More information:
|
WayBillInfo
Field | Data type | Required | Description |
shippingOrderReferenceNo | String | No (Conditional) | Indicates the outbound logistics order number. Specify this parameter if either of the following requirements is met:
|
shippingAddress | Address Object | No (Conditional) | Indicates the shipping address. Specify this parameter if the value of sceneCode is |
shippingMethod | String | No (Conditional) | Indicates the shipping method. Specify this parameter if the following requirements are met:
Valid Values are:
|
shippingProofAttachmentList | Array <AttachmentInfo Object> | No (Conditional) | Indicates the attachments of the shipping voucher. Specify this parameter if the following requirements are met:
|
logisticsCompany | LogisticsCompany Object | No (Conditional) | Indicates the logistics company. Specify this parameter if the following requirements are met:
|
Invoice
Field | Data type | Required | Description |
invoiceType | String | Yes | The invoice type. Valid values are:
More information about this field:
|
bill | Conditional | The bill information, such as the bill type, the bill number, and the bill amount. Specify this parameter if the value of the invoiceType parameter is |
Bill
Field | Data type | Required | Description |
billType | String | Yes | The bill type. Valid values are:
|
billNumber | String | Yes | The bill number. More information about this field:
|
billAmount | Yes | The bill amount. | |
remark | String | No | The bill remark. More information about this field:
|
billCreationTime | Datetime | No | The bill creation time. The value follows the ISO 8601 standard format. For example, "2019-11-27T12:01:01+08:00". |
billDueTime | Datetime | No | The bill due time. The value follows the ISO 8601 standard format. For example, "2019-11-27T12:01:01+08:00". |
billSender | No | The bill sender information. | |
billReceiver | No | The bill receiver information. | |
billItems | String | No | The details of the bill items. More information about this field:
|
billTerm | String | No | The bill term. Valid values are:
More information about this field:
|
billField | String | No | Any other information about the bill. More information about this field:
|
User
Field | Data type | Required | Description |
userId | String | No | The user ID that is assigned by WorldFirst. More information about this field:
|
userName | No | The username of the WorldFirst account. More information about this field:
| |
logonId | String | No | The login account of the user. More information about this field:
|
userNickname | No | The nickname of user's subaccount. | |
userAddress | No | The address of the user. More information about this field:
| |
userEmail | String | No | The email of the user. More information about this field:
|
userMobile | String | No | The mobile phone of the user. More information about this field:
|
PayToDetail
Field | Data type | Required | Description |
payToAmount | Yes | The payment amount. | |
beneficiaryInfo | Yes | The beneficiary information, such as the payment method type and the receiving account ID. | |
feeAmount | No | The fee amount. | |
remark | String | No | The remark for the payment. More information about this field:
|
paymentNotifyUrl | String | No | The URL that is used to receive the notification about the payment result. More information about this field:
|
expireTime | Datetime | No | The time after which the payment order is expired. The value follows the ISO 8601 standard format. For example, "2019-11-27T12:01:01+08:00". |
ActionForm
Field | Data type | Required | Description |
actionFormType | String | Yes | The action form. The value of this parameter is fixed as |
method | String | Yes | The HTTP method. More information about this field:
|
redirectUrl | String | Yes | The URL that the user is directed to after the payment. More information about this field:
|
StoreInfo
Field | Data type | Required | Description |
storeName | String | No | The name of the store. |
marketplaceName | String | No | The name of the marketplace. |
authorizedStatus | String | No | The authorization status of the store. The value is one of the following:
|
accountInformation | List<AccountInfo> | No | The account details of the associated store. |
Enumeration
Enumeration values below are used across all APIs. An enumeration value is a predetermined set of values defined as a String.
AttachmentType
Key | Description |
ASSOCIATION_ARTICLE | Articles of association |
AGREEMENT | Agreement |
ADDRESS_PROOF | Supporting document of address |
FINANCIAL_REPORT | Financial report |
OTHER_MATERIAL | Other materials |
ID_CARD_FRONT_SIDE | The front side of the identity card |
ID_CARD_BACK_SIDE | The back side of the identity card |
BUSINESS_LICENSE | Business license |
PASSPORT_PERSONAL_INFORMATION_PAGE | Personal information page of passport |
BeneficiaryType
Key | Description |
THIRD_PARTY_COMPANY_BANK_ACCOUNT | The beneficiary's bank account is a company third party bank account. |
THIRD_PARTY_PERSONAL_BANK_ACCOUNT | The beneficiary's bank account is a personal third party bank account. |
BeneficiaryAccountType
Key | Description |
WORLDFIRST | The beneficiary is using a WorldFirst wallet. |
ALIPAY_CN | The beneficiary is using is an Alipay China wallet. |
BANK_CARD | The beneficiary is using is a bank card. |
EXTERNAL | The beneficiary is using an account that belongs to external payment services. |
INST_ACCOUNT | The beneficiary is using an account that belongs to a financial institution. |
INNER_ACCOUNT | The beneficiary is using an internal account. |
MINI_ACCOUNT | The beneficiary is using a mini account. |
VIRTUAL_ACCOUNT | The beneficiary is using a Virtual Account(VA). |
BusinessSceneCode
Key | Description |
PAYOUT | The transfer is a payout request. |
UNFUNDED_DEAL | The transfer is an unfunded deal. |
ExchangeMode
Key | Description |
REALTIME | The exchange mode is set to an exchange rate at the real-time. |
APPOINTED | The exchange mode is set to an exchange rate at the appointed time. |
ExchangeTradeType
Key | Description |
SPOT | Spot rate. The foreign exchange trade uses the price when the immediate moment the exchange is initiated. Also known as the price on the spot |
FORWARD | Forward rate. The foreign exchange trade uses the price of a predetermined date rather than taking place at the immediate moment the exchange is initiated. |
ForwardType
Key | Description |
FIXED | Indicates a fixed date. |
WINDOWED | indicates a windowed date. |
FLEXIBLE | Indicates a flexible date. |
HolderAccountType
Key | Description |
INDIVIDUAL | The account holder is an individual. |
COMPANY | The account holder is a company |
PayerAccountType
Key | Description |
WORLDFIRST | The payer is using a WorldFirst account. |
ALIPAY_CN | The payer is using an Alipay China wallet. |
BANK_CARD | The payer is using a bank card. |
EXTERNAL | The payer is using an account that belongs to external payment services. |
INST_ACCOUNT | The payer is using an account that belongs to a financial institution. |
INNER_ACCOUNT | The payer is using an internal account. |
MINI_ACCOUNT | The payer is using a mini account. |
VIRTUAL_ACCOUNT | The payer is using a Virtual Account(VA). |
PaymentMethodType
Key | Description |
BALANCE | Use account balance as the payment method. |
BENEFICIARY_TOKEN | Use a beneficiary token as the payment method. |
BANK_ACCOUNT_DETAIL | Use a bank account as the payment method. |
WORLDFIRST_RECEIVE_ACCOUNT | Use a WorldFirst Receiving Account as the payment method. |
PurposeCode
Key | Description |
COM | The purpose of the transfer is for paying commissions. |
TXS | The purpose of the transfer is for paying taxes. |
ALW | The purpose of the transfer is for paying allowances. |
ACM | The purpose of the transfer is for paying agency commissions. |
GDS | Goods bought or sold. |
Status
Key | Description |
SUCCESS | Success |
FAIL | Failure |
TransactionType
Key | Description |
COLLECTION | Incoming transfer for collecting money. |
COLLECTION_REFUND | Refund for incoming transfer. |
TRANSFER | Transfer. |
TRANSFER_REFUND | Refund for a transfer. |
WITHDRAWAL | Entrusted withdrawing. |
WITHDRAWAL_REFUND | Refund for entrusted withdrawing. |
CONVERSION | Currency conversion. |
CONVERSION_DEAL | Currency conversion with a locked-in exchange rate. |
CHARGE | Fees that are charged (outbound). |
CHARGE_REFUND | Refund for fees that are charged. |
ADJUSTMENT | Accounting adjustment. |
DEDUCTION | Financial repayment. |
DEDUCTION_REFUND | Refund for finanaical repayment. |
FUND_COLLECTION | Collect funds from the sub-accounts into the main account. |
FUND_COLLECTION_REFUND | Refund of the collected funds. |
REFUND | Refund for a payment. |
FX_ADJUSTMENT | Foreign exchange accounting adjustment. |
FX_FEE | Foreign exchange fees. |
PAYMENT | Payment transaction. |
VENDOR_COLLECTION_PAYMENT | Payment to service providers. |
CASH_BACK | Cash back. |
BALANCE_TO_BALANCE | Transfer between WorldFirst e-commerce balance and the samename funds. |
DEPOSIT_PURCHASE | Purchase external term deposit by using WorldFirst balance. |
DEPOSIT_REDEEM | Redeem external term deposit. |
FUND_PURCHASE | Purchase money funds. |
FUND_REDEEM | Redeem money funds. |
DISTRIBUTE | Distribute the commissions. |
CREDIT_COLLECTION | Aggregate credit loans. |
SETTLEMENT_COLLECTION | Transaction settlement. |
TOPUP | Topup the WorldFirst balance. |