Business KYC Rejection and Resubmission Guide
During the business entity onboarding process, if the submitted profiles fail to pass the bank or compliance team's review, the KYC status of the business will change to request. This guide is designed to help developers retrieve specific rejection reasons and clear pending tasks one by one through a series of resubmission endpoints, ultimately pushing the business KYC back into the review process.
Core Resubmission Workflow ⚙️
When a business review is rejected, the system generates a dedicated rejection batch (containing one or more pending records). Developers must iterate through and process all pending tasks within this current batch. Under the normal main path, successfully calling a resubmission endpoint will automatically mark the corresponding task as complete.
sequenceDiagram
autonumber
participant P as "Partner Platform"
participant D as "DogPay"
D-->>P: 1. Trigger status update event
Note right of P: "KYC status changed to request"
P->>D: 2. Query pending records for current batch
Note right of P: GET /open-api/v1/entities/business-kyc-info
D-->>P: Return pending list (batchId, bizType)
loop Iterate and process all pending records
alt Supplementary materials required
P->>D: 3. Upload materials to get fileId
end
alt Business info error
P->>D: 4. Resubmit business info (resubmit-business)
else Person info error
P->>D: 5. Resubmit person info (resubmit-person)
else Biometric failure
P->>D: 6. Get auth URL and complete liveness (biometric-url)
end
D-->>P: Resubmission success, system automatically marks record as done
end
D-->>P: 7. All tasks are done, kycStatus changes from request to pending
Task Types and Processing Strategies 📊
When querying rejection records, you must determine which resubmission main path endpoint to call based on the bizType field in the record.
Business Type (bizType) | Meaning | Action to Take |
|---|---|---|
BUSINESS_BASIC_INFO | Indicates business basic information or materials were rejected. | Call the resubmit-business endpoint. |
HOLDER_INFO | Indicates profiles of directors, signers, or representatives were rejected. | Call the resubmit-person endpoint. |
BENEFICIAL_OWNER_INFO | Indicates beneficial owner profiles were rejected. | Call the resubmit-person endpoint; if compliance requires adding a new person, call the add-person endpoint. |
FACE_BIOMETRIC | Indicates biometric authentication for a specified person failed or was non-compliant. | Call the biometric-url endpoint and wait for the authentication status to reach GREEN. |
Detailed Resubmission Steps 🚀
Step 1: Query Current Rejection Batch
Upon receiving a status change event confirming the kycStatus is request, you must pass the dgp-entity-id in the HTTP request header and call an endpoint to retrieve current pending tasks.
You can call the Get business KYC information endpoint to retrieve full case details, or call the List review rejection records for the entity endpoint to extract records for a specific batchId.
Step 2: Upload Supplementary Materials (If Required)
If the rejection involves missing or blurry files, please call the Upload business files endpoint or the Upload personal files endpoint.
When uploading, the fileUseType must be filled out according to the type of material rejected. After a successful upload, please save the returned file ID for subsequent resubmission submissions.
Step 3: Process Pending Records Individually
Based on the bizType obtained in Step 1, perform the following operations respectively. Please note: Under the main path (resubmit-*), once a pending record is successfully resubmitted, it will automatically become done. You cannot repeatedly resubmit the same record.
- Resubmit Business Info: Call the resubmit-business endpoint. The
rejectionRecordIdmust be apendingrecord of typeBUSINESS_BASIC_INFO. Only submit the fields that were actually rejected and require modification; omitted fields will retain their original values. - Resubmit Person Info: Call the resubmit-person endpoint. The
personIdmust exactly match thetargetIdof the record. Upon a successful call, the record will automatically be marked asdone. - Redo Biometric Auth: Call the biometric-url endpoint. You must pass the
personIdandrejectionRecordIdthat match theFACE_BIOMETRICrecord. - Add Person (Special Case): Allowed only when the KYC status is
requestby calling the add-person endpoint. The new person will receive a newpersonIdand generate an independent biometric pending task. - Exception Fallback Clearance (Extreme Cases Only): Call the mark-done endpoint. This endpoint is essentially a manual safety mechanism to prevent the automated flow from getting stuck. It should only be manually invoked if the user has already resubmitted the materials, but due to a system anomaly or edge case, the system did not automatically change it to
done. This endpoint does not transmit any data itself; the review will use the latest data stored in the database.
Step 4: Confirm Resubmission Completion
A single record becoming done does not trigger a re-review.
Only when all pending tasks in the current batch have become done will the entity's kycStatus officially transition from request back to pending, at which point the system will begin the re-review.
Core Business Rules 🛡️
Strictly Prohibit Full-Package ResubmissionDo not repackage and call the original main flow endpoints for submission after a rejection. You must use the specific
resubmitendpoint corresponding to the rejection item.
Fallback Clearance Limitations (mark-done)The
mark-doneendpoint is strictly an anomaly fallback for material-type records and generally does not need to be called. It is strictly prohibited to use this fallback endpoint forFACE_BIOMETRIC(facial recognition) tasks. Biometric tasks must be actively completed by the user to be cleared.
Batch Expiration MechanismA new round of rejections will cause unfinished records from the previous round to become
canceled, and old record IDs can no longer be used. If the entire case status iscanceled, it means there is no resubmission loop, and these resubmission endpoints should not be called.
Updated about 3 hours ago
