Paiements
Suivre une transaction
Statuts, consultation et liste.
curl -X GET https://api.secure.payment.loov-solutions.com/v2/payments/PAYHBN2MJVPY32K7MSZXXN9 \
-H "Authorization: Bearer $LOOV_API_KEY" \
-H "Accept: application/json"Utilisez /v2/payouts/{reference} pour un transfert. Consulter une transaction en cours interroge l'opérateur et renvoie son état le plus récent.
Statuts
| Statut | Final | Description |
|---|---|---|
pending | non | Créée, pas encore acceptée par l'opérateur. |
processing | non | En attente du résultat. |
succeeded | oui | Réussie. Pour un encaissement, votre solde est crédité. |
failed | oui | Échouée ; voir failure.code, failure.message et failure.reason. |
expired | oui | Le client n'a pas payé à temps. |
Pourquoi une transaction a échoué
Une transaction échouée ou expirée porte un objet failure ; il vaut null tant que rien n'a échoué.
{
"reference": "PAYHBN2MJVPY32K7MSZXXN9",
"type": "payin",
"status": "failed",
"livemode": false,
"currency": "XAF",
"amount": 5000,
"fee": 150,
"customer_fee": 0,
"counterparty_amount": 5000,
"merchant_amount": 4850,
"method": "mobile_money",
"operator": "mtn-cm",
"phone_number": "237650000000",
"checkout_url": null,
"merchant_reference": "order-42",
"failure": {
"code": "provider_failed",
"message": "The payment failed: Solde insuffisant.",
"reason": "Solde insuffisant"
},
"created_at": "2026-10-04T10:12:00+00:00",
"completed_at": "2026-10-04T10:13:07+00:00"
}| Champ | Type | Description |
|---|---|---|
failure.code | string | Code stable, à utiliser dans votre code (voir ci-dessous). |
failure.message | string | Phrase complète, en anglais. |
failure.reason | string|null | La raison seule, telle que l'opérateur ou la banque l'a donnée (« Solde insuffisant », « Paiement refusé par la banque »). Peut être montrée à votre client. Notre propre phrase quand l'opérateur n'a pas donné de raison. |
| Code | Final | Description |
|---|---|---|
provider_declined | oui | L'opérateur a refusé la demande (numéro invalide, compte non autorisé…). |
provider_failed | oui | Le paiement a échoué chez l'opérateur (solde insuffisant, refus de la banque, client qui n'a pas validé…). |
amount_mismatch | oui | Le montant payé ne correspond pas au montant demandé. |
expired | oui | Le client n'a pas payé à temps. |
Fiez-vous à failure.code pour décider quoi faire ; failure.reason dépend de l'opérateur et peut changer de formulation.
Lister
curl -X GET https://api.secure.payment.loov-solutions.com/v2/transactions?type=payin&status=succeeded&limit=25 \
-H "Authorization: Bearer $LOOV_API_KEY" \
-H "Accept: application/json"La liste est paginée par curseur : passez la valeur meta.next_cursor dans le paramètre cursor pour la page suivante.
Soldes
curl -X GET https://api.secure.payment.loov-solutions.com/v2/balances \
-H "Authorization: Bearer $LOOV_API_KEY" \
-H "Accept: application/json"