Authorization: Bearer sk_.... Une Transaction est créée par softpay, checkout hébergé ou payout — il n’existe pas de création directe de transaction via ce groupe, lecture seule uniquement.
Vue d’ensemble
- Lister ses transactions
- Détail d’une transaction
- Export CSV
- Facture PDF
- Lister les tentatives
- Détail d’une tentative
- Lister les changements de statut
- Détail d’un changement de statut
flow_direction : payin ou payout
flow_direction est toujours dérivé de transaction_type, jamais saisi directement — c’est un champ en lecture seule.
status: "CANCELLED" existe dans le modèle de données mais n’est actuellement atteint par aucun flux — en pratique, seuls PENDING, SUCCESS et FAILED apparaissent.Pagination : curseur, pas de count
GET /transactions/, GET /transaction-attempts/ et GET /transaction-status-logs/ utilisent une pagination par curseur (page_size=50 par défaut, 200 maximum via ?page_size=) :
Filtrer et rechercher
GET /transactions/ accepte :
- Filtres exacts :
status,transaction_type,currency,flow_direction,country,network,merchant - Plage de dates :
created_at__gte,created_at__lte - Recherche libre (
?search=) : référence, référence gateway, nom/email/téléphone client, slug de lien de paiement, slug de session checkout
GET /transaction-attempts/ filtre par status, gateway, transaction. GET /transaction-status-logs/ filtre par to_status, triggered_by, transaction.
Export et facture : marge interne jamais exposée
Par transparence, la décomposition de ce qui vous est facturé est visible :client_fee (frais payés par le client), gateway_fee (coût du fournisseur de paiement) et platform_fee (frais de la plateforme), avec l’objet amounts (requested, fee, charged, net). Ces frais disparaissent totalement de la facture PDF, destinée à être partagée en dehors de l’API :
Le fournisseur utilisé (
current_gateway) et la règle tarifaire globale (pricing_rule) ne sont jamais renvoyés. GET /transaction-attempts/ ne renvoie pas non plus le fournisseur ni l’ordre de routage : uniquement status, msisdn, un error_message générique et les horodatages.