Paiements
Paiement mobile money
Débiter directement le portefeuille d'un client.
Le client reçoit une demande de validation sur son téléphone. Vous fournissez son opérateur et son numéro.
curl -X POST https://api.secure.payment.loov-solutions.com/v2/payments \
-H "Authorization: Bearer $LOOV_API_KEY" \
-H "Idempotency-Key: 6f1c2b9e-order-42" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"currency": "XAF",
"operator": "mtn-cm",
"phone_number": "237650000000",
"customer": {
"name": "Awa Diop",
"email": "awa@example.com"
},
"callback_url": "https://example.com/webhooks/loov",
"merchant_reference": "order-42"
}'| Champ | Type | Description |
|---|---|---|
amount | integer | Montant dans la plus petite unité. Minimum 200 pour XAF et XOF. |
currency | string | XAF, XOF, UGX, KES, GHS, RWF, TZS, ZMW… |
operator | string | Code de l'opérateur, voir Opérateurs. |
phone_number | string | Numéro au format international sans +, du pays de l'opérateur. |
customer | object | name et email obligatoires, phone facultatif. |
provider | string | Facultatif. Choisit le prestataire quand l'opérateur en a plusieurs ; sinon celui par défaut est utilisé. |
callback_url | string | Facultatif. Adresse HTTPS publique notifiée du résultat ; à défaut, celle de l'application. |
otp | string | Requis uniquement pour Orange Money Côte d'Ivoire et Burkina Faso via PayDunya : le code à usage unique que le client génère sur son téléphone avant de payer. Sans lui, la requête est refusée avec l'erreur 422 otp_required. |
merchant_reference | string | Facultatif. Votre propre identifiant de commande. Il doit être unique : une seconde transaction (paiement ou transfert) portant le même identifiant est refusée avec l'erreur 409 duplicate_merchant_reference. |
metadata | object | Facultatif. Jusqu'à 20 paires clé/valeur renvoyées telles quelles. |
Réponse
{
"reference": "PAYHBN2MJVPY32K7MSZXXN9",
"type": "payin",
"status": "processing",
"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": null,
"created_at": "2026-10-04T10:12:00+00:00",
"completed_at": null
}Le paiement reste en processing jusqu'à ce que le client valide ou refuse. Vous êtes prévenu par webhook, ou en interrogeant le paiement.