lomi.
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

ChampTypeObligatoireDescription
amountnumberOuiMontant à débiter (minimum 100).
currencystringOuiCode devise (doit être XOF).
customerobjectOuiObjet détails client.
customer.namestringOuiNom complet du client.
customer.emailstringNonAdresse e-mail du client.
customer.phoneNumberstringNonNuméro de téléphone (ex. +2250102030405).
descriptionstringNonDescription de la charge.
successUrlstringNonURL de redirection après paiement réussi.
errorUrlstringNonURL de redirection après échec du paiement.
environmentstringNonlive 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

StatutDescription
400Requête incorrecte (ex. configuration prestataire manquante, montant invalide).
401Non autorisé (clé API invalide).
500Erreur serveur interne (échec du prestataire de paiement).

Sur cette page