transferSignature required
Use the transfer API to initiate a transfer. A Partner can use this API to process the Customer's transfer requests.
The transfer process is asynchronous. WorldFirst responds to the Partner that the transfer request is being processed, rather than the final result of the transfer.
To query the transfer result, the Partner can utilize the inquiryTransfer API.
WorldFirst sends the notification about the transfer result with the notifyTransferResult API.
Structure
A message consists of a header and body. The following sections are focused on the body structure. For the header structure, see:
Request parameters
transferRequestId String REQUIRED
The unique ID assigned by the Partner to identify a transfer request.
More information:
- This field is an API idempotency field.
transferFromDetail transferFromDetail REQUIRED
The transfer amount submitted by the payer.
transferToDetail transferToDetail REQUIRED
The transfer details for the beneficiary, such as the transfer amount collected by the beneficiary.
transferFactor TransferFactor REQUIRED
Indicates different scenarios for the transfer, such as transfer to a WorldFirst Account or a WorldFirst Virtual Account.
transferOrderAddition transferOrderAddition REQUIRED
Response parameters
result Result REQUIRED
Indicates whether this API is called successfully.
transferId String REQUIRED
The unique ID assigned by WorldFirst to identify the status of the transfer.
More information:
- This field is an API idempotency field.
transferFactor TransferFactor REQUIRED
Indicates different scenarios for the transfer, such as transfer to a WorldFirst Account or a WorldFirst Virtual Account.
Request
Response
Result processing logic
After calling the API, a response is returned. The possible responses for result.resultStatus
are:
S
: This indicates the API call succeeded. This result status indicates that WorldFirst accepts the transfer request and is processing the transfer.- For the result of the transfer, wait for result notification or call the inquiryTransfer API.
- If the Partner receives no notifications from the notifyTransferResult API in 20 minutes, use the inquiryTransfer API to query the transfer result.
F
: This indicates the API call failed. For more information on why the call failed, seeresult.resultCode
.U
: This indicates the API call result is unknown. Query the result of the transfer with the inquiryTransfer API. The best practice is to make inquiries with inquiryTransfer 3 seconds after initiating a transfer.
More information
Possible values and use cases for transferOrderAddition.transferToAddition.bopCode
:
112030
: E-commerce trade (default value).transferToRegion
must beCN
.228050
: Service commission.transferToRegion
must beCN
.10101
: Advance payment against imports.transferToRegion
must beKR
.318134
: Goods export.transferToRegion
must be TH.700001
: Partner settlement.transferToRegion
cannot beCN
,KR
, orTH
.700002
: Commission service trade.transferToRegion
cannot beCN
,KR
, orTH
.318231
: Goods exports/imports.transferToRegion
must be TH.1011
: Goods exports/imports.transferToRegion
must beID
.0210000009
: Goods exports/imports.transferToRegion
must bePH
.06000
: Goods exports/imports.transferToRegion
must beMY
.
Samples for PaymentMethodMetaData
The content of the paymentMethodMetaData
parameter varies depending on the value oftransferFundType
.
For remitting to a WorldFirst virtual account
When transferFundType
is GLOBAL_WORLDFIRST_VA
, alter the paymentMethodMetaData
string according to the following sample code:
To construct paymentMethodMetaData
, convert the JSON code to a string:
For remitting to a WorldFirst account
When transferFundType
is GLOBAL_WORLDFIRST
, alter the paymentMethodMetaData
string according to the following sample code:
To construct paymentMethodMetaData
, convert the JSON code to a string:
System-realted result codes
Code | Value | Message | Further action |
---|---|---|---|
SUCCESS | S | Success | |
PROCESS_FAIL | F | A general business failure occurred. Do not retry. | Human intervention is usually needed. It is recommended that you contact WorldFirst Technical Support to resolve the issue. |
PARAM_ILLEGAL | F | Illegal parameters exist. For example, a non-numeric input, or an invalid date. | Check and verify whether the request fields, including the header fields and body fields, are correct and valid. For details on the fields of each API, see the specific API Structure section. |
UNKNOWN_EXCEPTION | U | The API call is failed, which is caused by unknown reasons. | The service might be down, retry later. If the issue persists, contact WorldFirst Technical Support. |
REQUEST_TRAFFIC_EXCEED_LIMIT | U | Call the interface again to resolve the issue. If not resolved, contact Alipay Technical Support. | Call the interface again to resolve the issue. If not resolved, contact Alipay Technical Support. |
INVALID_API | F | The called API is invalid or not active. | Check whether the correct API is being called. |
INVALID_CLIENT | F | The client is invalid. | The Client ID does not exist or is invalid. |
INVALID_SIGNATURE | F | The signature is invalid. | Make sure the request is properly signed with a valid signature. For more details, refer to the following chapter:
|
METHOD_NOT_SUPPORTED | F | The server does not implement the requested HTTP method. | Ensure the HTTP method is |
Business-related result codes
Code | Value | Message | Further action |
---|---|---|---|
TRANSFER_IN_PROCESS | U | The transfer is being processed. | Query the transfer result with the inquiryTransfer API. |
FX_RATE_INVALID | F | The foreign exchange rate is invalid. | Retry with the correct currency exchange rate. |
CARD_INFO_NOT_MATCH | F | The card information does not match. | Retry with the correct card information. |
USER_NOT_EXIST | F | The user does not exist. | Retry with the correct user information. |
USER_ACCOUNT_ABNORMAL | F | The user account status is abnormal. | Retry with a different user. If the issue persists, contact WorldFirst Technical Support for more details. |
AMOUNT_EXCEED_LIMIT | F | The amount exceeds the limit. | Make sure the amount submitted is correct and retry. |
RISK_REJECT | F | The transfer is rejected for risk control reasons. | Prompt the user that the request is rejected because the risk control failed. |
UN_SUPPORT_BUSINESS | F | Unsupported business. | Invalid parameters are used e.g. currency is incorrect. Retry with the correct information. |
BALANCE_NOT_ENOUGH | F | Balance is not enough. | Make sure the balance is sufficient and retry. |