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.
status Optionnel Filtrer par statut. Plusieurs valeurs séparées par une virgule :
status=completed,refunded.
type Optionnel Filtrer par type de transaction.
En savoir plus
Valeurs possibles : deposit (paiement entrant),
refund (remboursement),
payout (virement sortant),
withdraw (retrait),
transfer (transfert interne).
payment_method_type Optionnel Filtrer par méthode de paiement utilisée :
mobile_money, bank_card,
paypal.
currency Optionnel Filtrer par devise.
customer Optionnel Filtrer par ID ou email Customer. Retourne toutes les transactions liées à ce client.
min_amount Optionnel Montant minimum (inclusif) en centimes. Utile pour filtrer les transactions au-dessus d’un seuil.
max_amount Optionnel Montant maximum (inclusif) en centimes.
created_after Optionnel Date de début de la plage temporelle (inclusif).
created_before Optionnel Date de fin de la plage temporelle (inclusif).
search Optionnel Recherche textuelle sur la description de la transaction. Partielle, insensible à la casse.
ordering Optionnel Tri. Champs disponibles : created_at,
amount, net_amount,
status.
page Optionnel Numéro de page.
page_size Optionnel Ré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.