Payments
Paiements directs
Initiez des paiements directs avec des prestataires spécifiques comme Wave.
L’API Charges permet d’initier des paiements directs avec des prestataires donnés. Utile pour un tunnel personnalisé ou pour débiter un client sans le rediriger tout de suite vers un tunnel hébergé (certains prestataires comme Wave peuvent tout de même renvoyer une URL de paiement).
Créer une charge Wave
Initie une demande de paiement spécifiquement pour Wave Mobile Money.
Point de terminaison
POST /charge/wave
Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
amount | number | Oui | Montant à débiter (minimum 100). |
currency | string | Oui | Code devise (doit être XOF). |
customer | object | Oui | Objet détails client. |
customer.name | string | Oui | Nom complet du client. |
customer.email | string | Non | Adresse e-mail du client. |
customer.phoneNumber | string | Non | Numéro de téléphone (ex. +2250102030405). |
description | string | Non | Description de la charge. |
successUrl | string | Non | URL de redirection après paiement réussi. |
errorUrl | string | Non | URL de redirection après échec du paiement. |
environment | string | Non | live ou test (par défaut live). |
curl -X POST "https://api.lomi.africa/charge/wave" \
-H "Content-Type: application/json" \
-H "X-API-KEY: $LOMI_API_KEY" \
-d '{
"amount": 1000,
"currency": "XOF",
"customer": {
"name": "Jane Doe",
"email": "jane@example.com",
"phoneNumber": "+2250707070707"
},
"description": "Paiement pour le service",
"successUrl": "https://your-site.com/success",
"errorUrl": "https://your-site.com/error"
}'const response = await fetch('https://api.lomi.africa/charge/wave', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': process.env.LOMI_API_KEY!,
},
body: JSON.stringify({
amount: 1000,
currency: 'XOF',
customer: {
name: 'Jane Doe',
email: 'jane@example.com',
phoneNumber: '+2250707070707',
},
description: 'Paiement pour le service',
successUrl: 'https://your-site.com/success',
errorUrl: 'https://your-site.com/error',
}),
});
const data = await response.json();import requests
import os
url = "https://api.lomi.africa/charge/wave"
headers = {
"Content-Type": "application/json",
"X-API-KEY": os.environ["LOMI_API_KEY"]
}
payload = {
"amount": 1000,
"currency": "XOF",
"customer": {
"name": "Jane Doe",
"email": "jane@example.com",
"phoneNumber": "+2250707070707"
},
"description": "Paiement pour le service",
"successUrl": "https://your-site.com/success",
"errorUrl": "https://your-site.com/error"
}
response = requests.post(url, json=payload, headers=headers)
data = response.json()Réponse
Renvoie un statut 201 Created avec les détails de la session Wave et l’URL de paiement.
{
"transactionId": "1a0a4df9-ae73-4776-b955-57522625421c",
"checkoutUrl": "https://pay.wave.com/c/cos-22txmv4682mee?...",
"waveSession": {
"id": "cos-22txmv4682mee",
"amount": "1000",
"checkout_status": "open",
"payment_status": "processing",
"currency": "XOF",
"aggregated_merchant_id": "am-1wfm8v3z023p4",
...
}
}Réponses d’erreur
| Statut | Description |
|---|---|
400 | Requête incorrecte (ex. configuration prestataire manquante, montant invalide). |
401 | Non autorisé (clé API invalide). |
500 | Erreur serveur interne (échec du prestataire de paiement). |