3. Valider le compte (KYC)

Sans KYC validé, l'entreprise reste en test : les clés sk_live_ n'encaissent pas (422 « compte non validé KYC »). Le KYC se déroule en trois appels par document, les fichiers partant directement vers le stockage sécurisé.

État du dossier

GET/kycJeton de session

État du dossier et pièces encore manquantes.

Réponse 200
{
  "success": true,
  "data": {
    "status": "none",
    "status_label": "Non vérifié",
    "has_live_access": false,
    "can_submit_documents": true,
    "requirements": {
      "identity": [
        "id_front",
        "passport"
      ],
      "...": "..."
    },
    "missing_groups": [
      "identity",
      "niu"
    ],
    "documents": []
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}

Statuts du compte : none (rien soumis), pending (en cours de vérification), verified (accès live), suspended. La liste exacte des pièces exigées est dans requirements / missing_groups.

Envoyer une pièce (3 appels)

POST/kyc/upload-urlJeton de session

1. Demande une adresse d'envoi temporaire (valable 15 min) pour une pièce.

Corps de la requête
{
  "document_type": "business_registration",
  "content_type": "application/pdf"
}
Réponse 200
{
  "success": true,
  "data": {
    "upload_url": "https://...",
    "document_key": "kyc/2/business_registration/550e...pdf",
    "expires_in": 900
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}

2. Envoyez le fichier : PUT {upload_url} avec le même Content-Type, le corps étant le fichier.

POST/kyc/documentsJeton de session

3. Confirmez l'envoi :

Corps de la requête
{
  "document_type": "business_registration",
  "document_key": "kyc/2/business_registration/550e...pdf",
  "expires_at": "2030-05-14"
}
Réponse 201
{
  "success": true,
  "data": {
    "document_type": "business_registration",
    "document_type_label": "Registre de commerce",
    "status": "pending",
    "status_label": "En attente de vérification",
    "rejection_reason": null,
    "requires_expiry": false,
    "created_at": "2026-11-02T14:30:00Z"
  },
  "meta": {
    "request_id": "...",
    "timestamp": "..."
  }
}

Règles des pièces

  • Types de pièces : id_front, id_back, passport, location_plan, niu_certificate (particulier) ; business_registration, tax_compliance, manager_id_front, manager_id_back, manager_passport (entreprise) ; merchant_contract, bank_domiciliation_certificate (communs) ; address_proof, residence_proof, additional_financial_documents (facultatifs).
  • Formats : image/jpeg, image/png, application/pdf. expires_at n'est demandé que pour les pièces d'identité (requires_expiry: true).
  • État de chaque pièce : pending, approved, rejected (avec rejection_reason). Une pièce approuvée ne peut pas être écrasée ; une pièce en attente est remplacée par un nouvel envoi. Supprimer une pièce en attente : DELETE /kyc/documents/{id}.
  • Erreurs : 422 si le type ou le format est invalide, si le fichier n'a pas été envoyé avant la confirmation, ou si la pièce est déjà approuvée.