Transactions
Une Transaction représente un paiement effectivement traité par un opérateur. Elle est créée automatiquement par Sangho lors de la réussite d’une Intention de paiement — vous ne pouvez pas en créer directement via l’API.
Les transactions sont le registre comptable de vérité de votre activité. Elles contiennent le montant net collecté, les frais Sangho, les commissions partenaires, et sont la source des Receipts envoyés aux clients.
Les transactions ne peuvent pas être créées, modifiées (sauf description
et metadata), ni supprimées. Pour annuler les fonds d’une transaction,
créez un Refund. Pour contester une
transaction, contactez le support Sangho.
Statuts possibles
| Statut | Signification | Action possible |
|---|---|---|
approved | Approuvée par l'opérateur, en attente de règlement. | Attendre — passage automatique en completed. |
pending | En file d'attente de traitement opérateur. | Attendre le webhook transaction.succeeded. |
completed | Paiement réussi — fonds capturés et disponibles. | Émettre le service/produit. Remboursement possible. |
failed | Paiement échoué côté opérateur. | Informer le client, proposer une autre méthode. |
refunded | Remboursement total effectué. | Aucune — transaction clôturée. |
disputed | Transaction contestée par le client ou l'opérateur. | Contacter le support avec les preuves. |
canceled | Transaction annulée avant traitement. | Créer une nouvelle Intention de paiement si nécessaire. |
Endpoints
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /transactions/ | Lister les transactions (paginé, filtrable) |
| GET | /transactions/{id}/ | Récupérer une transaction par son ID |
| PATCH | /transactions/{id}/ | Modifier description et metadata uniquement |
| POST | /transactions/{id}/cancel/ | Annuler une transaction en statut pending |
Schéma de l’objet
Lister les transactions
Retourne une liste paginée de toutes les transactions de votre App. C’est l’endpoint principal pour les rapports comptables, les réconciliations et les exports.
statusOptionnelFiltrer par statut. Plusieurs valeurs séparées par une virgule :
status=completed,refunded.
typeOptionnelFiltrer par type de transaction.
En savoir plus
Valeurs possibles : deposit (paiement entrant),
refund (remboursement),
payout (virement sortant),
withdraw (retrait),
transfer (transfert interne).
payment_method_typeOptionnelFiltrer par méthode de paiement utilisée :
mobile_money, bank_card,
paypal.
currencyOptionnelFiltrer par devise.
customerOptionnelFiltrer par ID ou email Customer. Retourne toutes les transactions liées à ce client.
min_amountOptionnelMontant minimum (inclusif) en centimes. Utile pour filtrer les transactions au-dessus d’un seuil.
max_amountOptionnelMontant maximum (inclusif) en centimes.
created_afterOptionnelDate de début de la plage temporelle (inclusif).
created_beforeOptionnelDate de fin de la plage temporelle (inclusif).
searchOptionnelRecherche textuelle sur la description de la transaction. Partielle, insensible à la casse.
orderingOptionnelTri. Champs disponibles : created_at,
amount, net_amount,
status.
pageOptionnelNuméro de page.
page_sizeOptionnelRésultats par page. Maximum : 100.
En savoir plus
Pour les exports comptables ou les réconciliations, combinez
page_size=100 avec created_after et
created_before pour paginer sur une période précise.
Pour exporter toutes les transactions d’un mois, combinez
created_after=2026-03-01T00:00:00Z,
created_before=2026-03-31T23:59:59Z,
status=completed,
type=deposit, et paginez avec
page_size=100 jusqu’à épuisement des pages.