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

# Obtenir un paiement

> Le paiement et son statut actuel. Préférez les webhooks à des interrogations répétées.

> [!WARNING]
>
> **Bêta.** Ce point d'entrée est en cours de déploiement en production. Bientôt disponible en production : vous pouvez déjà préparer votre intégration avec cette page.


## OpenAPI

````yaml fr/openapi.yaml GET /mobile-money/collections/{code}
openapi: 3.1.0
info:
  title: API KemyPay
  version: '1.0'
  description: >
    KemyPay vous permet d'encaisser des paiements mobile money dans 12 pays
    d'Afrique avec une seule API, avec un solde par

    service, par pays et par devise.


    Chaque requête est authentifiée par une clé API secrète (`sk_live_…` ou
    `sk_test_…`) et doit venir d'une de

    vos adresses IP autorisées. Les réponses utilisent la même enveloppe : `{
    "success": true, "data": …, "meta": … }`, ou

    `{ "success": false, "error": { "code", "message", "details" }, "meta": …
    }`.


    Les encaissements, le calcul de prix et la devinette de l'opérateur sont en
    **bêta** : ils sont en cours de déploiement en production.
  contact:
    name: KemyPay Support
    email: hi@kemypay.com
servers:
  - url: https://api.kemypay.com/v1
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Catalog
    description: Pays, opérateurs, prix et catégories de service
  - name: Services
    description: Vos services (un par application ou activité), validés par notre équipe
  - name: Collections
    description: Encaisser un paiement depuis le compte mobile money d'un client (bêta)
  - name: Balances
    description: Un solde par service, par pays et par devise
paths:
  /mobile-money/collections/{code}:
    get:
      tags:
        - Collections
      summary: Obtenir un paiement (bêta)
      description: >-
        Le paiement et son statut actuel. Préférez les webhooks à des
        interrogations répétées.
      operationId: getCollection
      parameters:
        - name: code
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Le paiement
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/Collection'
                  meta:
                    $ref: '#/components/schemas/Meta'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Collection:
      type: object
      properties:
        code:
          type: string
          format: uuid
          example: 019a9c41-7e2d-4b8f-a1c3-5d6e7f8a9b0c
        reference:
          type: string
          example: order-2026-10-29-0001
        service_code:
          type: string
          format: uuid
          example: 019a8f2e-4c1b-7d3a-9e55-2b6f0c1d8a47
        status:
          type: string
          enum:
            - pending
            - processing
            - completed
            - failed
          example: processing
        country:
          type: string
          example: CMR
        operator:
          type: string
          example: MTN_CMR
        phone_number:
          type: string
          example: '237670000000'
        currency:
          type: string
          example: XAF
        value:
          type: string
          description: La valeur de la marchandise que vous avez envoyée.
          example: '1000.00'
        amount:
          type: string
          description: Ce que paie le client.
          example: '1033.00'
        fee:
          type: string
          example: '33.00'
        fee_bearer:
          type: string
          enum:
            - merchant
            - customer
          example: customer
        net_amount:
          type: string
          description: Crédité au solde du service quand le paiement réussit.
          example: '1000.00'
        description:
          type:
            - string
            - 'null'
          example: Afroyamo Premium
        metadata:
          type: object
          additionalProperties:
            type: string
          example:
            user_id: '42'
        failure_code:
          type:
            - string
            - 'null'
          enum:
            - payer_not_found
            - payment_not_approved
            - insufficient_balance
            - payer_limit_reached
            - invalid_phone_number
            - invalid_amount
            - operator_unavailable
            - payment_in_progress
            - expired
            - unknown_error
            - null
          example: null
        failure_message:
          type:
            - string
            - 'null'
          example: null
        operator_transaction_id:
          type:
            - string
            - 'null'
          description: La référence de la transaction chez l'opérateur, une fois payé.
          example: null
        callback_url:
          type:
            - string
            - 'null'
          example: https://afroyamo.com/payment/done
        created_at:
          type: string
          format: date-time
          example: '2026-10-29T10:00:00+00:00'
        completed_at:
          type:
            - string
            - 'null'
          format: date-time
          example: null
    Meta:
      type: object
      properties:
        request_id:
          type: string
          example: a4f8e2c1b3d97056
        timestamp:
          type: string
          format: date-time
          example: '2026-10-29T10:00:00+00:00'
        mode:
          type: string
          enum:
            - test
            - live
          example: live
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              example: VALIDATION_ERROR
            message:
              type: string
              example: Some fields of the payment are missing or invalid.
            details:
              type: object
              additionalProperties: true
              example:
                phone_number: >-
                  Required: the mobile money number with the country code,
                  digits only, for example 237670000000.
        meta:
          $ref: '#/components/schemas/Meta'
  responses:
    NotFound:
      description: >-
        `RESOURCE_NOT_FOUND` : aucun service ni paiement avec ce code dans votre
        compte et ce mode.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Votre clé API secrète : `sk_live_…` (argent réel) ou `sk_test_…` (mode
        test).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.