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

# Facture PDF

> Facture d'un paiement réussi, sans marge interne

<Warning>
  Ne contient **jamais** `gateway_fee`/`platform_fee` (marge interne de la plateforme) — uniquement `requested_amount`, `client_fee` et `debited_amount`, ce que le client a réellement payé.
</Warning>

<Note>
  Disponible uniquement pour un paiement entrant (`flow_direction: "INBOUND"`) déjà `SUCCESS`. Sinon : `409 invalid_flow` (transaction sortante, ex. un payout) ou `409 not_success` (pas encore réussie).
</Note>


## OpenAPI

````yaml api-reference/openapi.json GET /transactions/{id}/invoice/
openapi: 3.1.0
info:
  title: SasPay API
  description: >-
    API d'encaissement et de paiement mobile money/carte pour l'Afrique de
    l'Ouest et du Centre. Toutes les routes marchand nécessitent une clé API
    secrète (header Authorization: Bearer sk_...).
  version: 1.0.0
servers:
  - url: https://api.saspay.me/api/v1
security:
  - bearerAuth: []
paths:
  /transactions/{id}/invoice/:
    get:
      tags:
        - Transactions
      summary: Télécharger la facture PDF
      description: >-
        Disponible uniquement pour un paiement entrant réussi (`flow_direction:
        "INBOUND"` et `status: "SUCCESS"`). Ne contient jamais
        gateway_fee/platform_fee (marge interne de la plateforme) — uniquement
        requested_amount, client_fee et debited_amount.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: >-
            Fichier PDF en téléchargement (`Content-Disposition: attachment;
            filename="facture-<reference>.pdf"`)
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '404':
          description: Transaction introuvable
        '409':
          description: >-
            `invalid_flow` (transaction sortante, ex. un payout) ou
            `not_success` (transaction pas encore réussie)
          content:
            application/json:
              example:
                message: La facture n'est disponible que pour un paiement (INBOUND).
                code: invalid_flow
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sk_live_... / sk_test_...
      description: >-
        Clé API secrète du marchand — header Authorization: Bearer sk_live_xxx
        (ou sk_test_xxx en environnement de test).

````