Facture
Cycle de vie d'une facture
Statuts d'une facture, transitions possibles et présence du QR code.
Statuts
| Statut | Description | qrCode |
|---|---|---|
OPEN | Facture émise, payable en point de vente jusqu'à qrCode.expiresAt. | présent |
PAID | Facture réglée ; paidAt est renseigné. | absent |
CANCELLED | Facture annulée par le partenaire ; cancelledAt est renseigné. | absent |
POST /invoices
│
▼
┌──────┐ paiement en point de vente ┌──────┐
│ OPEN │ ─────────────────────────────▶ │ PAID │
└──────┘ └──────┘
│ POST /invoices/{id}/cancel
▼
┌───────────┐
│ CANCELLED │
└───────────┘PAID et CANCELLED sont des états finaux.
QR code
L'objet qrCode n'est renvoyé que pour une facture OPEN, dans toutes les réponses (création,
lecture, liste, annulation).
{
"format": "datamatrix",
"content": "8d6c1f0e-1d0b-4f8e-9f5a-3c1e2b4d5a6f;5d41402abc4b2a76b9719d911017c592",
"expiresAt": "2025-03-01T11:15:00.000Z"
}| Champ | Description |
|---|---|
format | Toujours datamatrix. |
content | Chaîne à encoder telle quelle dans un code DataMatrix. Valeur opaque : ne pas l'interpréter. |
expiresAt | Identique à l'échéance de la facture. Au-delà, la facture ne peut plus être payée. |
Le contenu du QR code identifie le panier de paiement du client, pas la facture. Il peut changer si le panier évolue : utilisez toujours la valeur la plus récente renvoyée par l'API.
Échéance
expiresAt est fixé à la création (par défaut maintenant + 1 heure) et doit être dans le
futur, sinon 422 INVOICE_EXPIRED.