Nelsius
Nelsius

Documentation API Développeur Nelsius

v1.0

Spécifications techniques REST pour l'intégration des fonctionnalités de paiement hébergé (Checkout), de paiement direct et de suivi des transactions.

L'API Développeur Nelsius permet d'intégrer des paiements Mobile Money et cartes bancaires directement dans vos plateformes e-commerce, applications web et mobiles.

Base URL (Local / Production)

http://localhost:8000/api/v1

curl -X GET "http://localhost:8000/api/v1/payments/COMMANDE_99812" \
  -H "X-Api-Key: sk_test_your_key_here" \
  -H "Accept: application/json"

Authentification & Clés API

Chaque requĂȘte vers l'API nĂ©cessite l'en-tĂȘte X-Api-Key ou Authorization avec votre clĂ© API marchand.

Nelsius prend en charge les types de clés suivants :

  • ClĂ© SecrĂšte Sandbox (sk_test_...) : UtilisĂ©e en mode test pour simuler les paiements.
  • ClĂ© SecrĂšte Live (sk_live_...) : UtilisĂ©e en production pour traiter de vrais paiements.
  • ClĂ© Publique (pk_live_...) : Initialisation cĂŽtĂ© client.

En-tĂȘtes HTTP requis

Content-Type: application/json
Accept: application/json
X-Api-Key: sk_test_votre_cle_secrete
curl -X GET "http://localhost:8000/api/v1/payments/COMMANDE_99812" \
  -H "X-Api-Key: sk_test_your_key_here" \
  -H "Accept: application/json"

Initialiser un Checkout Hébergé

POST /checkout/initiate

GénÚre une session de paiement sécurisée Nelsius et renvoie une URL vers laquelle rediriger le client.

Cette méthode crée une session unique avec une référence marchand et renvoie l'URL de l'interface de paiement.

ParamĂštres de requĂȘte (JSON Body)

ParamĂštreRequisDescription
amountOuiMontant total de la commande (ex: 5000).
currencyOuiCode ISO 4217 de la devise (ex: XAF, XOF, USD).
customer_emailOptionnelAdresse email du client pour l'envoi du reçu.
customer_phoneOptionnelNuméro de téléphone avec indicatif (ex: +237670000000).
referenceOptionnelIdentifiant unique de votre commande backend.
return_urlOptionnelURL de retour aprÚs paiement validé.
cancel_urlOptionnelURL d'annulation aprĂšs clic du client sur annuler.
curl -X POST "http://localhost:8000/api/v1/checkout/initiate" \
  -H "X-Api-Key: sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "amount": 5000,
    "currency": "XAF",
    "customer_email": "client@example.com",
    "customer_phone": "+237670000000",
    "reference": "COMMANDE_99812",
    "return_url": "http://localhost:3000/callback/success",
    "cancel_url": "http://localhost:3000/callback/cancel",
    "metadata": {
      "product_name": "Licence logicielle"
    }
  }'

Paiement Direct (Server-to-Server)

POST /payments/charge

Déclenche directement une demande de débit (Push USSD Mobile Money) sans passer par l'interface hébergée.

Réservé aux marchands certifiés ayant soumis les documents légaux d'entreprise (RCCM, NIF/Tax ID).

Opérateurs supportés (`operator`)

  • Cameroun : MTN_MOMO_CMR, ORANGE_CMR
  • CĂŽte d'Ivoire : MTN_MOMO_CIV, ORANGE_CIV, WAVE_CIV, MOOV_CIV
  • SĂ©nĂ©gal : ORANGE_SEN, WAVE_SEN, FREE_SEN
  • BĂ©nin : MTN_MOMO_BEN, MOOV_BEN
curl -X POST "http://localhost:8000/api/v1/payments/charge" \
  -H "X-Api-Key: sk_test_your_key_here" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "amount": 1000,
    "currency": "XAF",
    "phone": "+237670000000",
    "operator": "MTN_MOMO_CMR",
    "reference": "PAY_88123",
    "email": "client@example.com"
  }'

Vérification du Statut d'une Transaction

GET /payments/{reference}

Permet d'interroger l'état d'un paiement à partir du transaction_code ou de la référence marchand.

Cet appel serveur à serveur vous permet de certifier à 100% l'état d'un paiement sans dépendre uniquement de la redirection du navigateur.

Statuts possibles

pendingTransaction en attente de saisie du code PIN par le client.
completedPaiement certifié et solde crédité sur le compte marchand.
failedTransaction rejetée ou solde insuffisant.
curl -X GET "http://localhost:8000/api/v1/payments/COMMANDE_99812" \
  -H "X-Api-Key: sk_test_your_key_here" \
  -H "Accept: application/json"

Webhooks & Notifications Server-to-Server

Réception d'événements asynchrones JSON sur le serveur du marchand.

Pour configurer des notifications automatisées, ajoutez une URL d'écoute HTTP POST dans vos paramÚtres marchands.

ÉvĂ©nements gĂ©rĂ©s : payment.success, payment.failed.

// Payload JSON transmis par le webhook Nelsius :
{
  "event": "payment.success",
  "data": {
    "transaction_code": "CHK_X8A9P2KL091M",
    "reference": "COMMANDE_99812",
    "amount": 5000,
    "currency": "XAF",
    "status": "completed",
    "operator": "MTN_MOMO_CMR"
  }
}

Codes de Statut HTTP

L'API Nelsius utilise les codes de statut HTTP standardisés.

200 / 201 - SuccĂšs

RequĂȘte exĂ©cutĂ©e ou ressource créée.

400 - ParamĂštre Invalide

Le corps JSON est malformé ou un champ obligatoire est manquant.

401 - Non Autorisé

Clé API manquante ou invalide dans X-Api-Key.

404 - Introuvable

La route ou la référence de transaction est introuvable.

curl -X GET "http://localhost:8000/api/v1/payments/COMMANDE_99812" \
  -H "X-Api-Key: sk_test_your_key_here" \
  -H "Accept: application/json"
© 2026 Documentation API Développeur Nelsius. Tous droits réservés.
Nelsius - Solution de Paiement Mobile en Afrique