WorldFirst DocsWorldFirst Docs

notifyRegisterCustomer

Signature required

WorldFirst(Alipay) uses the notifyRegisterCustomer interface to notify the partner once the customer registration process is completed.

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

Field

Data type

Required

Description

customerId

String

Yes

The unique ID assigned by WorldFirst(Alipay) to identify a Customer. In this case, a beneficiary.

More information:

  • Maximum length: 32 characters

referenceCustomerId

String

No

The unique ID assigned by the Partner to identify a Customer. In this case, a beneficiary.

More information:

  • Maximum length: 64 characters

registerDetail

RegisterDetail object

Yes

Registration status and other information.

requestedProducts

Array<Product>

Yes

The product that the registered customer wants to use.

auditDetails

AuditDetail object

Yes(Conditional)

The detailed reasons for the submission failure.

Note:

  • This field is only required when the registerDetail.reasonCode is GMM_AUDITING_RECTIFY.

Result processing logic

In the request message:

  • The registerDetail.registerStatus field indicates the result of the Customer registration process.
    • When the registration failed to pass the review, registerDetail.reasonCode is GMM_AUDITING_RECTIFY.
    • The detailed reason is elaborated by the auditDetails.auditReason field. For more details about auditReason, refer to the References section in the inquiryRegisterCustomer chapter.

After receiving the notification from WorldFirst(Alipay), the Partner needs to send WorldFirst(Alipay) a response message to acknowledge the receipt of the notification.

The Partner needs to properly sign the message before making the response. For details, refer to the Sign a request and validate the signature chapter.

The response header observes the following structure:

Header field

Required

Code sample

Signature

Yes

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

Content-Type

Yes

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

Client-Id

Yes

Client-Id: ****

Response-Time

Yes

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

Sample response header:

copy
{
"headers": {
  "Content-Type": "application/json",
  "client-id": "5J5Y2Z1GSG5ET508239",
  "response-time": "2022-03-07T07:49:27Z",
  "signature": "algorithm=RSA256,keyVersion=1,signature=VelVji6jp8UJVrBUvZrwij8uPmjc//hfmVJqCCW0x+Yh/HEs5pz9wiMyYLRjykTOii+f5EznxcFIUxPae5KITe3fChufJzFhJ4iku5U/w6exmBWVR5vrvQZSYO0vG5aJKwUQW/jjgaUWg1d+ySmaJ0VZ0pniQRtwYRGCvzdey+gI0+jMFbChIQDemZ0uLCExRQ0SBKAjEH/Vq14KlY88Wr2bR829tqsxaECSq2M5eeDC7j6FGPMazfX1W+EGqa2go2Hif6BnodwXzNsEAfQlUrbwCi9Ey/uNO4ScTX6FVG1nb+q8/k09wTkCz/nHnwTQolDrLRndZqZfz79a344/FQ=="
  }
}

For more details about the response message, refer to the API overview chapter.

The response body has the following fixed value:

copy
{
  "result":{
     "resultStatus":"S",
     "resultCode":"SUCCESS",
     "resultMessage":"success"
  }
}

If the Partner does not respond to WorldFirst(Alipay) that the notification has been received successfully, WorldFirst(Alipay) will resend the result.

The following policy represents how WorldFirst(Alipay) makes retry attempts:

  • WorldFirst(Alipay) retries notifications 7 times.
  • Intervals between notifications: 2m, 10m, 10m, 1h, 2h, 6h, and 15h.

Response parameters

Field

Data type

Required

Description

result

Result object

Yes

Indicates whether this API is called successfully.

Result codes

registerDetail.reasonCode

reasonCode

registerStatus

registerMessage

Further action

SUCCESS

S

Registration succeeded.

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.

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.

GMM_AUDITING_RECTIFY

F

Customer registration failed to pass the auditing. Rectify the information and retry.

EXPIRED_CERTIFICATE

F

The certificate is expired.

Retry with the correct certification information.

CUSTOMER_ALREADY_EXIST

F

The customer's phone number is already registered or used.

Retry with the correct Customer information.

BIZ_LICENSE_CANCELED

F

The submitted business license is canceled.

Retry with the correct business license information.

BIZ_LICENSE_REVOKED

F

The submitted business license is revoked.

Retry with the correct business license information.

BIZ_LICENSE_LEGAL_INFO_NO_MATCH

F

The submitted business license does not match the provided legal information. Retry with the correct information.

Retry with the correct business license information.

USER_FORBIDEN

F

The user is forbidden.

Make sure the user information is correct and try again.

USER_KYC_NOT_QUALIFIED

F

Registration failed due to the user's KYC status. The user is either not KYC compliant, or the KYC status is not qualified.

Complete the KYC verification first.

KYC_FAILED

F

The Customer failed to pass KYC.

Complete the KYC verification first.

REGISTER_BY_OTHER_CUSTOMER

F

The Customer has already registered with WorldFirst(Alipay).

Make sure the user information is correct and try again.

RISK_AUDITING_REJECT

F

The registration request is rejected after risk auditing.

The Partner needs to complete the risk assessment upon the Customer.

SUBMIT_FAIL

F

The submission failed.

ATTACHMENT_NOT_MATCH

F

The submitted attachment does not match the information on the certificate. Retry with the correct information.

Retry with the correct attachment information.

result.resultCode

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

SYSTEM_ERROR

F

Alipay system error

Do not retry, and contact Alipay Technical Support for more details.

Samples

Request

When the registration succeeds:

copy
{
  "customerId": "1234567890",
  "referenceCustomerId": "******",
  "registerDetail": {
    "registerStatus": "SUCCESS"
  },
  "requestedProducts": [{
    "productStatus": "ACTIVE",
    "productType": "ALIPAY_CN"
  }]
}

When the registration fails:

copy
{
  "customerId": "1234567890",
  "referenceCustomerId": "******",
  "registerDetail": {
    "reasonCode": "GMM_AUDITING_RECTIFY",
    "registerMessage": "register alipay business fail",
    "registerStatus": "FAILED"
  },
  "requestedProducts": [{
    "productStatus": "INACTIVE",
    "productType": "ALIPAY_BUSINESS",
    "reasonCode": "GMM_AUDITING_RECTIFY"
  }],
  "auditDetails": [
    {
     "auditKey":"customer.company.legalName",
     "auditReason":"imdp.reviewResult.notMatchActual",
     "auditKeyType":"Merchant",
     "certificateNo":"",
     "memo":"提供信息与实际信息不匹配"
    },
    {
     "auditKey":"businessPartner.businessContactEntities.boardMember.legalName",
     "auditReason":"imdp.reviewResult.notMatchActual",
     "auditKeyType":"Merchant",
     "certificateNo":"xxxxxxxx",
     "memo":"提供信息与实际信息不匹配"
    },
    {
     "auditKey":"businessPartner.businessContactEntities.ubo.legalName",
     "auditReason":"imdp.reviewResult.LackOfUBO",
     "auditKeyType":"Merchant",
     "certificateNo":"",
     "memo":"存在其他≥25%以上UBO信息"
    }
   ]
}

Response

The Partner needs to make the following response to WorldFirst(Alipay) after receiving the notification:

copy
{
  "result": {
    "resultStatus": "S",
    "resultCode": "SUCCESS",
    "resultMessage": "success"
  }
}