Check transfer result
POST
: /amsin/api/v1/business/fund/inquiryTransfer
Use the inquiryTransfer interface to query the transfer result.
- The Partner needs to set up a timeout mechanism to stop the polling process, in case no conclusive transfer result is reached.
- If the Partner receives no notification from WorldFirst for 2 hours, while the inquiryTransfer API returns
transferResult.resultCode
asUNKONWN
, contact our Technical Support Team Team for help.
Structure
A message consists of a header and body.
Request header parameters
Field | Required | Sample | Description |
Client-Id | Yes |
| For detailed field descriptions, see API Overview. |
Signature | Yes |
| |
Content-Type | Yes |
| |
Request-Time | Yes |
| |
Connected-CustomerId | No (Conditional) |
| Required when a partner manages a customer's account. |
Request body parameters
Field | Data type | Required | Description |
transferRequestId | String | Yes | The unique ID assigned by the Partner to identify a transfer request. Note:
More information:
|
Response body parameters
Field | Data type | Required | Description |
result | Result object | Yes | Indicates whether this API is called successfully. |
Note: The following fields are returned as needed only when | |||
transferRequestId | String | Yes | The unique ID assigned by the Partner to identify a transfer request. Note:
More information:
|
transferId | String | Yes | The unique ID assigned by WorldFirst to identify a transfer.
|
transferResult | Result object | Yes | Indicates the result of the transfer request. |
transferFinishTime | DateTime object | No | Indicates the finishing time of a transfer. Note:
|
transferFromDetail | TransferFromDetail object | Yes | Transfer details submitted by the payer. |
transferToDetail | TransferToDetail object | Yes | Transfer details for the beneficiary. |
transferOrderAddition | TransferOrderAddition object | No | Additional information about the transfer, such as information about the payer and the beneficiary. |
Result processing logic
After calling the API, a response is returned with two result codes, result.resultStatus
and transferResult.resultStatus
.
result.resultStatus
indicates the result of the inquiry.transferResult.resultStatus
indicates the result of the transfer.
The possible responses for result.resultStatus
are:
Result status | Description |
S | This indicates the API call succeeded. |
F | This indicates the API call failed. For more information on specific reasons, see
|
U | This indicates the API call result is unknown. Partner can make a query when the returned status is
If none of the queries is successful, contact our Technical Support Team. |
The possible responses for transferResult.resultStatus
are:
Result status | Description |
S | This indicates the transfer succeeded.
|
F | This indicates the transfer failed. For more information on why the transfer failed, see |
U | This indicates the transfer result is unknown. Call the interface again. If the issue is not resolved, contact our Technical Support Team. |
Result codes
result.resultCode
resultCode | resultStatus | resultMessage | Further action |
SUCCESS | S | Success | |
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. |
PROCESS_FAIL | F | A general business failure occurred. Do not retry. | Human intervention is usually needed. It is recommended that you contact our Technical Support Team to resolve the issue. |
UNKNOWN_EXCEPTION | U | API failed due to unknown reason. | The service might be down, retry later. If the issue persists, contact our Technical Support Team. |
REQUEST_TRAFFIC_EXCEED_LIMIT | U | The request traffic exceeds the limit. | Call the interface again to resolve the issue. If the issue persists, contact our Technical Support Team. |
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. |
METHOD_NOT_SUPPORTED | F | The server does not implement the requested HTTP method. | Ensure the HTTP method is |
transferResult.resultCode
System-related result codes
resultCode | resultStatus | resultMessage | 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 our Technical Support Team to resolve the issue. |
UNKNOWN_EXCEPTION | U | Unknown exception | The service might be down, retry later. If the issue persists, contact our Technical Support Team. |
Business-related result codes
resultCode | resultStatus | resultMessage | Further action |
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 our Technical Support Team 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. |
TRANSFER_IN_PROCESS | U | The transfer is in process. | Try again later. |
ORDER_IS_CLOSED | F | The order is closed. | Retry with another transfer order. |
ORDER_IS_REVERSED | F | The order is reversed. | Retry with another transfer order. |
CARD_INFO_NOT_MATCH | F | The card information does not match. | Retry with the correct card information. |
ORDER_NEED_RETRY | U | The transfer could be retried with the same transferRequestId. | Retry the transfer process using the same transferRequestId. |
BALANCE_NOT_ENOUGH | F | Balance is not enough. | Make sure the balance is sufficient and retry. |
ORDER_NOT_FOUND | U | Order not found. | Retry with correct order information. |
Samples
Request
{
"transferRequestId": "*****"
}
Response
{
"result": {
"resultCode": "SUCCESS",
"resultMessage": "success.",
"resultStatus": "S"
},
"transferResult": {
"resultCode": "SUCCESS",
"resultMessage": "success.",
"resultStatus": "S"
},
"transferRequestId": "*****",
"transferId": "*****",
"transferFinishTime": "2022-05-11T06:27:25Z",
"transferFromDetail": {
"transferFromAmount": {
"currency": "USD",
"value": 1000
}
},
"transferToDetail": {
"purposeCode": "GDS",
"transferToAmount": {
"currency": "EUR",
"value": 938
},
"feeAmount": {
"currency": "USD",
"value": 10
},
"transferToMethod": {
"customerId": "*****",
"paymentMethodType": "BALANCE"
},
"transferQuote": {
"quoteId": "*****"
}
},
"transferOrderAddition": {
"referenceOrderId": "*****"
}
}