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

# Lister les paiements

> Vos paiements, du plus récent au plus ancien. Les clés de test ne listent que les paiements de test, les clés de production que les paiements réels.

> [!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
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:
    get:
      tags:
        - Collections
      summary: Lister les paiements (bêta)
      description: >-
        Vos paiements, du plus récent au plus ancien. Les clés de test ne
        listent que les paiements de test, les clés de production que les
        paiements réels.
      operationId: listCollections
      parameters:
        - name: service
          in: query
          required: false
          description: Seulement les paiements de ce service (son code).
          schema:
            type: string
            format: uuid
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - pending
              - processing
              - completed
              - failed
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Paiements
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Collection'
                  meta:
                    $ref: '#/components/schemas/Meta'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
components:
  parameters:
    page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        default: 1
    limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
  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
    Pagination:
      type: object
      properties:
        page:
          type: integer
          example: 1
        limit:
          type: integer
          example: 20
        total:
          type: integer
          example: 42
        pages:
          type: integer
          example: 3
  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.