notifyRegisterCustomer
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:
|
referenceCustomerId | String | No | The unique ID assigned by the Partner to identify a Customer. In this case, a beneficiary. More information:
|
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:
|
Result processing logic
In the request message:
- The
registerDetail.registerStatusfield indicates the result of the Customer registration process.
- When the registration failed to pass the review,
registerDetail.reasonCodeisGMM_AUDITING_RECTIFY. - The detailed reason is elaborated by the
auditDetails.auditReasonfield. For more details aboutauditReason, 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:
{
"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:
{
"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:
{
"customerId": "1234567890",
"referenceCustomerId": "******",
"registerDetail": {
"registerStatus": "SUCCESS"
},
"requestedProducts": [{
"productStatus": "ACTIVE",
"productType": "ALIPAY_CN"
}]
}When the registration fails:
{
"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:
{
"result": {
"resultStatus": "S",
"resultCode": "SUCCESS",
"resultMessage": "success"
}
}