Consult expected payout result

POST: /amsin/api/v1/business/fund/consultPayout

Signature required

The Partner can call this API to inquire about the expected result before initiating a payout.

Structure

A message consists of a header and body.

Request header parameters

Field

Required

Sample

Description

Client-Id

Yes

Client-Id: *****

For detailed field descriptions, see API Overview

Signature

Yes

Signature: algorithm=RSA256, keyVersion=2, signature=*****

Content-Type

Yes

Content-Type: application/json; charset=UTF-8

Request-Time

Yes

Request-Time: 2019-04-04T12:08:56+08:00

Connected-CustomerId

No (Conditional)

Connected-CustomerId: ******

Pay special attention to this filed

Required when a partner manages a customer's account. 

Request body parameters

Field

Data type

Required

Description

transferFromDetail

TransferFromDetail object

Yes

Transfer details submitted by the payer.

transferToDetail

TransferToDetail object

Yes

Transfer details for the beneficiary.

businessSceneCode

String

No (Conditional)

The business scene type of the payout. Specify this parameter if the value of the transferToDetail.transferToAmount.currency is CNY.

Valid values are:

  • THIRD_PARTY_PAYOUT: indicates a payout to a third-party bank account, which can be either a third-party company bank account or a third-party personal bank account.
  • SAME_NAME_PAYOUT: indicates a payout to a same-name bank account.

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 result.resultStatus =.

transferFromDetail

TransferFromDetail object

No

Transfer details submitted by the payer, such as the transfer amount and the payment method.

transferToDetail

TransferToDetail object

No

Transfer details for the beneficiary, such as the transfer amount collected by the beneficiary.

Result processing logic

After making an API request, WorldFirst responds to the Partner with the result of the API call. 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 why the call failed, see result.resultCode.

U

This indicates the API call result is unknown. The partner can call this API again. 

Result codes

result.resultCode

System-related result codes

resultCode

resultStatus

resultMessage

Further action

SUCCESS

S

Success

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.

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.

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 POST.

Business-related result codes

resultCode

resultStatus

resultMessage

Further action

UN_SUPPORT_BUSINESS

F

Unsupported business.

Invalid parameters are used. Retry with the correct information.

USER_NO_PERMISSION

F

User does not have permission.

Retry with another user information.

CURRENCY_NOT_SUPPORT

F

The currency is not supported.

Make sure the currency input is correct and try again.

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.

USER_STATUS_ABNORMAL

F

The status of the user is abnormal. Retry with another card.

The status of the user is abnormal. Retry with another transfer order.

CONTRACT_CHECK_FAIL

F

The contract check has failed.

Ensure the Partner has already signed a contract and the input is correct.

Samples

Request

Senario 1: Non FX settlement

copy
{
    "transferFromDetail": {
        "transferFromAmount": {
            "currency": "USD",
            "value": 1000
        }
    },
    "transferToDetail": {
        "transferToAmount": {
            "currency": "EUR"
        },
        "feeAmount": {
            "currency": "USD",
            "value": 10
        },
        "transferToMethod": {
            "paymentMethodMetaData": {
                "bankCountryCode": "GB",
                "bankAccountName": "beneficiary bank account name",
                "bankAccountIBAN": "*****",
                "bankBIC": "HSBCG***"
            },
            "paymentMethodType": "BANK_ACCOUNT_DETAIL"
        },
        "isFVT": "Y"
    }
}

Senario 2: FX settlement with a third-party company bank account

copy
{
    "businessSceneCode": "THIRD_PARTY_PAYOUT",
    "transferFromDetail": {
        "transferFromAmount": {
            "currency": "USD",
            "value": 1000
        }
    },
    "transferToDetail": {
        "transferToAmount": {
            "currency": "CNY"
        },
        "transferToMethod": {
            "paymentMethodMetaData": {
                "beneficiaryType": "THIRD_PARTY_COMPANY_BANK_ACCOUNT",
                "routingNumber": "910290003990",
                "bankCountryCode": "CN",
                "bankAccountLocalName": "bank account holder's name in local language",
                "bankLocalName": "bank name in local language",
                "bankAccountNo": "8111501012000856128",
            },
            "paymentMethodType": "BANK_ACCOUNT_DETAIL"
        }
    }
}

Senario 3: FX settlement with a third-party personal bank account

copy
{
    "businessSceneCode": "THIRD_PARTY_PAYOUT",
    "transferFromDetail": {
        "transferFromAmount": {
            "currency": "USD",
            "value": 1000
        }
    },
    "transferToDetail": {
        "transferToAmount": {
            "currency": "CNY"
        },
        "transferToMethod": {
            "paymentMethodMetaData": {
                "beneficiaryType": "THIRD_PARTY_PERSONAL_BANK_ACCOUNT",
                "routingNumber": "910290003990",
                "bankCountryCode": "CN",
                "bankAccountLocalName": "bank account holder's name in local language",
                "bankLocalName": "bank name in local language",
                "bankAccountNo": "8111501012000856128",
            },
            "paymentMethodType": "BANK_ACCOUNT_DETAIL"
        }
    }
}

Response

copy
{
    "result": {
        "resultCode": "SUCCESS",
        "resultMessage": "success",
        "resultStatus": "S"
    },
    "transferFromDetail": {
        "transferFromAmount": {
            "currency": "USD",
            "value": 1000
        }
    },
    "transferToDetail": {
        "transferToAmount": {
            "currency": "EUR",
            "value": 938
        },
        "feeAmount": {
            "currency": "USD",
            "value": 10
        },
        "transferToMethod": {
            "paymentMethodId": "*****",
            "paymentMethodType": "BANK_ACCOUNT_DETAIL"
        },
        "transferQuote": {
            "quoteId": "*****",
            "quoteCurrencyPair": "USD/EUR",
            "quotePrice": "1.32570",
            "quoteStartTime": "2022-11-15T09:05:01Z",
            "quoteExpiryTime": "2022-11-15T09:05:31Z"
        },
        "isFVT": "Y"
    }
}

@2024 WorldFirst