> ## 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.

# Créer un compte marchand

> Crée un compte marchand. Les identifiants (clé API, secret API, référence, identifiant et mot de passe
du dashboard) sont envoyés **par SMS** au numéro fourni. Le compte doit ensuite être **activé par Djonanko**
avant de pouvoir encaisser.


<Info>
  Les identifiants sont envoyés par SMS au numéro fourni. Le compte doit ensuite être activé par Djonanko avant de pouvoir encaisser.
</Info>


## OpenAPI

````yaml POST /web-merchant
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: Compte marchand
paths:
  /web-merchant:
    post:
      tags:
        - Compte marchand
      summary: Créer un compte marchand
      description: >
        Crée un compte marchand. Les identifiants (clé API, secret API,
        référence, identifiant et mot de passe

        du dashboard) sont envoyés **par SMS** au numéro fourni. Le compte doit
        ensuite être **activé par Djonanko**

        avant de pouvoir encaisser.
      operationId: registerMerchant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - reference
                - email
                - phoneNumber
                - country
              properties:
                name:
                  type: string
                  description: Nom de l'entreprise (unique).
                  example: Beauty Shop
                reference:
                  type: string
                  description: Référence unique, un seul mot (lettres, chiffres, `_`).
                  example: beautyshop
                email:
                  type: string
                  format: email
                  example: contact@beautyshop.ci
                phoneNumber:
                  type: string
                  description: Numéro qui recevra les identifiants par SMS.
                  example: '+2250700000000'
                country:
                  type: string
                  enum:
                    - CI
                    - BF
                    - ML
                    - CM
                  example: CI
                description:
                  type: string
                  example: Boutique de cosmétiques en ligne
                webhookUrl:
                  type: string
                  format: uri
                  example: https://example.com/webhooks/djonanko
      responses:
        '201':
          description: Compte créé, identifiants envoyés par SMS.
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    example: Beauty Shop
        '500':
          description: Email invalide, ou nom / email déjà utilisé.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    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

````