Add a new beneficiarySignature required

POST /amsin/api/v1/business/account/bindBeneficiary

To create a beneficiary, the Partner can call this API to bind a beneficiary by connecting the bank card information of the beneficiary to a WorldFirst account.

Structure

A message consists of a header and body.

Request header

Field

Required

Sample

Description

Client-Id

Yes

Client-Id: *****

For more information about these request header fields, see Request header.

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

Optional

Connected-CustomerId: *****

Attention

The unique id assigned by WorldFirst to identify an account.

Note

This parameter replaces customerId in the request body. Both parameters serve the same function, and this change does not impact functionality. If you have already integrated this API, you may continue using customerId in the request body or re-integrate this API using Connected-CustomerId in the request header.

Request parameters

accessToken String  

The access token that is used for OAuth authorization.

More information:

  • Maximum length: 64 characters

bindBeneficiaryRequestId String  REQUIRED

The unique ID assigned by the Partner to identify a request for beneficiary binding.

More information:

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

beneficiaryType String  REQUIRED

Defines the type of beneficiary's card.

Valid values are:

  • THIRD_PARTY_PERSONAL_BANK_ACCOUNT: indicates the personal bank account of the third-party beneficiary 
  • THIRD_PARTY_COMPANY_BANK_ACCOUNT: indicates the company bank account of the third-party beneficiary 
  • PERSONAL_BANK_ACCOUNT: indicates the personal bank account of the same-name beneficiary
  • COMPANY_BANK_ACCOUNT: indicates the company bank account of the same-name beneficiary 
  • RELATED_MERCHANT_COMPANY_BANK_ACCOUNT: indicates the company bank account of the related company
  • RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT: indicates the company alipay account of the related company
  • This parameter is optional for the Partners who have already completed integration.
  • When the value of this parameter is ​RELATED_MERCHANT_COMPANY_BANK_ACCOUNT​ or ​RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT​, currency and countryCode parameters must be specified as ​CNY​ and ​CN​.
  • When currency is ​KR​ and countryCode is ​KRW​, this parameter must be specified as either ​PERSONAL_BANK_ACCOUNT​ or ​COMPANY_BANK_ACCOUNT​.

beneficiaryBankAccount BeneficiaryBankAccount object  CONDITIONAL

Details about the beneficiary's bank account, such as the name of the account holder, region and BIC of the beneficiary's bank, etc.

  • This parameter is NOT required when beneficiaryType is ​RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT.
  • Call the inquiryBeneficiaryTemplate API to get the required parameters for this object.

beneficiaryAlipayAccount BeneficiaryAlipayAccount  CONDITIONAL

The alipay account information of the beneficiary.

This parameter is required when the beneficiaryType is ​RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT​.

Show child parameters

countryCode String  CONDITIONAL

2-character ISO 3166 country/region code that represents the country/region where the bank locates.

This parameter is only NOT required when beneficiaryType is RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT.

More information:

  • Maximum length: 2 characters

currency String  CONDITIONAL

3-character ISO 4217 currency code that represents the currency used. Currently, the following currencies are supported:

USD​, ​EUR​, ​GBP​, ​NZD​, ​CAD​, ​AUD​, ​JPY​, ​SGD​, ​HKD​, ​CNH​, ​CNY​, ​KRW

This parameter is only NOT required when beneficiaryType is RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT.

beneficiaryNick String  CONDITIONAL

The nickname of the beneficiary. The nickname is defined by the Customer to identify the beneficiary easily.

This parameter is only NOT required when beneficiaryType is RELATED_MERCHANT_ALIPAY_COMPANY_ACCOUNT.

More information:

  • Maximum length: 70 characters

templateCategory String  

Defines the type of the template used for the beneficiary. 

Valid values are: 

  • GENERAL_TEMPLATE: General template returned in the cardTemplateData field of the inquiryBeneficiaryTemplate API. 
  • LOCAL_TEMPLATE: Local template returned in the localCardTemplateData field of the inquiryBeneficiaryTemplate API. 
  • CROSS_BORDER_TEMPLATE: Cross-border template returned in the crossBorderCardTemplateData field of the inquiryBeneficiaryTemplate API. 

More information: 

  • The default value is GENERAL_TEMPLATE.

referenceBeneficiaryId String  

The unique ID defined by the Partner to identify a beneficiary.

More information:

  • Maximum length: 64 characters

Response parameters

result Result  REQUIRED

Indicates whether this API is called successfully.

Show child parameters

beneficiary Beneficiary  REQUIRED

Describes details about the beneficiary.

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

Show child parameters
API Explorer

Request

URL
Case
Add new beneficiary using general template
Request Body

Response

Case
General template
Case description
Add new beneficiary using general template
Response Body

Result processing logic

After calling the API, a response is returned with two result codes, result.resultStatus and beneficiary.status.

  • result.resultStatus indicates the result of the inquiry.
  • beneficiary.status indicates the status of the submitted beneficiary.

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. Partner can make a query when the returned status is UNKNOWN. Use the following query strategy:

  • A Partner can make 7 queries at maximum.
  • Intervals between queries: 5m, 10m, 20m, 40m, 80m, 160m, and 320m.

If none of the queries is successful, contact our Technical Support Team.

System-realted result codes

CodeValueMessageFurther action
SUCCESSSSuccess
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.

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.

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.

OAUTH_FAILFOAuth process failed.

Contact our Technical Support Team for detailed reasons.

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.

Business-related result codes

CodeValueMessageFurther action
UN_SUPPORT_BUSINESSFUnsupported business.

Invalid parameters are used e.g. currency is incorrect. Retry with the correct information.

USER_NOT_EXISTFThe user does not exist.

Retry with the correct user information.

RISK_REJECTFThe transfer is rejected for risk control reasons.

Prompt the user that the request is rejected because the risk control failed.

REPEAT_BIND_BENEFICIARY_REQUESTURepeated request to bind a beneficiary.

Check whether the beneficiary has already been successfully bound with the inquiryBeneficiary API.

EXCEED_MAX_COUNT_LIMITFExceed max count limit.

Ensure the data lies within the limit and try again.

USER_NO_PERMISSIONFUser does not have permission.

Check the permission of the user and retry.

BENEFICIARY_ALREADY_EXISTEDUBeneficiary already existed.

Check whether the beneficiary has already been successfully bonded with the inquiryBeneficiary API.

REPEAT_REQ_INCONSISTENTFRepeated requests are inconsistent.

Ensure all the fields in the requests are the same.

REFERENCE_BENEFICIARY_ID_EXISTFReference beneficiary id exist.

Check whether the beneficiary has already been successfully bound. 

CARD_TEMPLATE_NOT_EXISTFNo card templates met the query conditions.

Check whether the correct beneficiary template has been used.  

@2024 WorldFirst