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)MeaningAction to Take
BUSINESS_BASIC_INFOIndicates business basic information or materials were rejected.Call the resubmit-business endpoint.
HOLDER_INFOIndicates profiles of directors, signers, or representatives were rejected.Call the resubmit-person endpoint.
BENEFICIAL_OWNER_INFOIndicates beneficial owner profiles were rejected.Call the resubmit-person endpoint; if compliance requires adding a new person, call the add-person endpoint.
FACE_BIOMETRICIndicates 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 rejectionRecordId must be a pending record of type BUSINESS_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 personId must exactly match the targetId of the record. Upon a successful call, the record will automatically be marked as done.
  • Redo Biometric Auth: Call the biometric-url endpoint. You must pass the personId and rejectionRecordId that match the FACE_BIOMETRIC record.
  • Add Person (Special Case): Allowed only when the KYC status is request by calling the add-person endpoint. The new person will receive a new personId and 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 Resubmission

Do not repackage and call the original main flow endpoints for submission after a rejection. You must use the specific resubmit endpoint corresponding to the rejection item.

⚠️

Fallback Clearance Limitations (mark-done)

The mark-done endpoint 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 for FACE_BIOMETRIC (facial recognition) tasks. Biometric tasks must be actively completed by the user to be cleared.

🚧

Batch Expiration Mechanism

A 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 is canceled, it means there is no resubmission loop, and these resubmission endpoints should not be called.



Did this page help you?