Create a payout requestSignature required

POST /amsin/api/v1/business/fund/createPayout

Use this API to transfer money from the WorldFirst account balance to an external account (e.g. a bank account or an Alipay account). 

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 field

Required when a partner manages a customer's account.

Request parameters

transferRequestId String  REQUIRED

The unique ID assigned by the Partner to identify a payout request.

More information about this field

  • This field is an API idempotency field.For details about API idempotency, see the Idempotency chapter.
  • Maximum length: 64 characters

transferFromDetail TransferFromDetail object REQUIRED

Payout details submitted by the payer.

Show child parameters

transferToDetail TransferToDetail object REQUIRED

Payout details for the beneficiary.

Show child parameters

businessSceneCode String  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 parameters

result Result object REQUIRED

Indicates whether this API is called successfully.

Show child parameters

transferRequestId String  REQUIRED

The unique ID assigned by the Partner to identify a payout request.

This field is returned as needed only when result.resultStatus =S. 

More information about this field

  • This field is an API idempotency field.For details about API idempotency, see the Idempotency chapter.
  • Maximum length: 64 characters

transferId String  REQUIRED

The unique ID assigned by WorldFirst to identify a payout.

This field is returned as needed only when result.resultStatus =S. 

More information about this field

  • Maximum length: 64 characters

transferFromDetail TransferFromDetail object REQUIRED

Payout details submitted by the payer.

This field is returned as needed only when result.resultStatus =S. 

Show child parameters

transferToDetail TransferToDetail object REQUIRED

Payout details for the beneficiary.

This field is returned as needed only when result.resultStatus =S. 

Show child parameters
API Explorer

Request

URL
Request Body

Response

Response Body

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.

  • This result status indicates that WorldFirst accepts the payout request and is processing the payout.
  • For the result of the payout, wait for the notification from the notifyPayout interface. If no result from notifyPayout is received within 20 minutes, call inquiryPayout to inquire about the payout result.

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.

  • Best practice: Query the result of the payout with the inquiryPayout interface.

result.resultCode: System-related result codes

CodeValueMessageFurther action
SUCCESSSSuccess
PROCESSINGSThe transfer is in process.

The payout is created successfully and being processed.

PARAM_ILLEGALFIllegal 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_FAILFA 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_EXCEPTIONUAPI failed due to unknown reason.

The service might be down, retry later. If the issue persists, contact our Technical Support Team.

REQUEST_TRAFFIC_EXCEED_LIMITUThe request traffic exceeds the limit.

Call the interface again to resolve the issue. If the issue persists, contact our Technical Support Team.

INVALID_APIFThe called API is invalid or not active.

Check whether the correct API is being called.

INVALID_CLIENTFThe client is invalid.

The Client ID does not exist or is invalid.

INVALID_SIGNATUREFThe signature is invalid.

Make sure the request is properly signed with a valid signature.

METHOD_NOT_SUPPORTEDFThe server does not implement the requested HTTP method.

Ensure the HTTP method is POST.

result.resultCode: Business-related result codes

CodeValueMessageFurther action
UN_SUPPORT_BUSINESSFUnsupported business.

Invalid parameters are used. Retry with the correct information.

ORDER_NOT_EXISTFThe order does not exist.

Retry with another order.

USER_NO_PERMISSIONFUser does not have permission.

Retry with another user information.

CURRENCY_NOT_SUPPORTFThe currency is not supported.

Make sure the currency input is correct and try again.

USER_NOT_EXISTFThe user does not exist.

Retry with the correct user information.

USER_ACCOUNT_ABNORMALFThe user account status is abnormal.

Retry with a different user. If the issue persists, contact our Technical Support Team for more details.

REPEAT_REQ_INCONSISTENTFRepeated requests are inconsistent.

Ensure all the fields in the requests are the same and try again.

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

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

BALANCE_NOT_ENOUGHFBalance is not enough.

Make sure the balance is sufficient and retry.

AMOUNT_EXCEED_LIMITFThe amount exceeds the limit.

Make sure the amount submitted is correct and retry.

CONTRACT_NOT_EXISTFContract does not exist.

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

CONTRACT_CHECK_FAILFThe contract check has failed.

Check the contract status with WorldFirst before retrying.  

QUOTE_EXPIREDFThe quote is expired.

Call the createQuote API to create a new quote. Retry to create a new settlement request with the new quote. 

AVAILABLE_QUOTA_NOT_ENOUGHFPayout quota is not enough.

Call inquiryAvailableQuota API to check the currently available payout quota, make sure it is sufficient and then retry. 

@2024 WorldFirst