> ## Documentation Index
> Fetch the complete documentation index at: https://docs.djonanko.ci/llms.txt
> Use this file to discover all available pages before exploring further.

# Déposer le dossier de conformité

> Envoi en `multipart/form-data` des informations de l'entreprise et des pièces justificatives
(JPG, PNG, WEBP ou PDF, 8 Mo max par fichier). Toutes les pièces sont requises au premier dépôt ;
après un rejet, seules les pièces renvoyées sont remplacées.

Une fois approuvé par Djonanko, votre plafond mensuel passe à **2 000 000 FCFA**.




## OpenAPI

````yaml /openapi.yaml post /web-merchant/compliance
openapi: 3.1.0
info:
  title: Djonanko Pay API
  version: 1.0.0
  description: >
    API de la passerelle de paiement mobile money **Djonanko Pay**.


    Deux modes d'authentification coexistent :


    - **Clé API** (`x-api-key` + `x-api-secret`) — pour l'intégration serveur à
    serveur :
      création de liens de paiement et de QR codes.
    - **Jeton marchand** (`authenticationtoken`) — un JWT obtenu via `POST
    /user/login-merchant`,
      utilisé par le dashboard marchand pour tout le reste (statut, solde, reversements, rapports…).

    Toutes les réponses sont en JSON. Les montants sont exprimés en **FCFA (XOF
    / XAF)** sans décimales.
  contact:
    name: Support Djonanko
    url: https://www.djonanko.ci/#contact
servers:
  - url: https://apidjonanko.tech
    description: Production
security: []
tags:
  - name: Authentification
  - name: Paiements
  - name: Solde & statistiques
  - name: Webhooks
  - name: Reversements
  - name: Sécurité
  - name: Rapports
  - name: Conformité
  - name: Compte marchand
paths:
  /web-merchant/compliance:
    post:
      tags:
        - Conformité
      summary: Déposer le dossier de conformité
      description: >
        Envoi en `multipart/form-data` des informations de l'entreprise et des
        pièces justificatives

        (JPG, PNG, WEBP ou PDF, 8 Mo max par fichier). Toutes les pièces sont
        requises au premier dépôt ;

        après un rejet, seules les pièces renvoyées sont remplacées.


        Une fois approuvé par Djonanko, votre plafond mensuel passe à **2 000
        000 FCFA**.
      operationId: submitCompliance
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - merchant_reference
                - legalName
                - activity
                - rccmNumber
                - address
                - managerName
                - rccm
                - dfe
                - rib
                - managerId
                - managerSelfie
                - statutes
              properties:
                merchant_reference:
                  type: string
                  example: beautyshop
                legalName:
                  type: string
                  description: Raison sociale.
                  example: Beauty Shop SARL
                legalForm:
                  type: string
                  description: Forme juridique (SARL, SA, SAS, EI…).
                  example: SARL
                activity:
                  type: string
                  description: >-
                    Description de l'activité et des services payés via Djonanko
                    Pay.
                rccmNumber:
                  type: string
                  example: CI-ABJ-2024-B-12345
                dfeNumber:
                  type: string
                address:
                  type: string
                  description: Adresse du siège.
                managerName:
                  type: string
                  description: Nom complet du gérant.
                managerIdType:
                  type: string
                  enum:
                    - CNI
                    - PASSPORT
                managerIdNumber:
                  type: string
                rccm:
                  type: string
                  format: binary
                  description: Registre de commerce.
                dfe:
                  type: string
                  format: binary
                  description: Déclaration fiscale d'existence.
                rib:
                  type: string
                  format: binary
                managerId:
                  type: string
                  format: binary
                  description: CNI ou passeport du gérant.
                managerSelfie:
                  type: string
                  format: binary
                  description: Photo selfie du gérant.
                statutes:
                  type: string
                  format: binary
                  description: Statuts de l'entreprise.
      responses:
        '201':
          description: Dossier déposé, en attente de vérification.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Compliance'
                  - type: object
                    properties:
                      limits:
                        $ref: '#/components/schemas/MonthlyLimits'
        '400':
          description: Pièce manquante ou format non supporté.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
        - MerchantToken: []
components:
  schemas:
    Compliance:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - PENDING
            - APPROVED
            - REJECTED
        legalName:
          type: string
          example: Beauty Shop SARL
        legalForm:
          type: string
          nullable: true
          example: SARL
        activity:
          type: string
        rccmNumber:
          type: string
          example: CI-ABJ-2024-B-12345
        dfeNumber:
          type: string
          nullable: true
        address:
          type: string
        managerName:
          type: string
        managerIdType:
          type: string
          nullable: true
          enum:
            - CNI
            - PASSPORT
            - null
        managerIdNumber:
          type: string
          nullable: true
        documents:
          type: object
          description: >-
            URLs des documents déposés, indexées par clé (`rccm`, `dfe`, `rib`,
            `managerId`, `managerSelfie`, `statutes`).
        rejectionReason:
          type: string
          nullable: true
    MonthlyLimits:
      type: object
      description: Plafond mensuel de reversement.
      properties:
        plafond:
          type: integer
          description: >-
            Plafond mensuel en FCFA — 200 000 par défaut, 2 000 000 une fois
            l'entreprise vérifiée.
          example: 200000
        consomme:
          type: integer
          example: 75000
        restant:
          type: integer
          example: 125000
    Error:
      type: object
      properties:
        statusCode:
          type: integer
          example: 401
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: Invalid API credentials
        error:
          type: string
          example: Unauthorized
  responses:
    Unauthorized:
      description: Identifiants manquants ou invalides.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            statusCode: 401
            message: Invalid API credentials
            error: Unauthorized
  securitySchemes:
    MerchantToken:
      type: apiKey
      in: header
      name: authenticationtoken
      description: >-
        JWT obtenu via `POST /user/login-merchant`. À passer tel quel, **sans**
        préfixe `Bearer`.

````