IntegrationsSDKs

SDK Node.js / TypeScript

Integrer Novasend avec le SDK officiel Node.js et TypeScript.

Le SDK officiel Novasend pour Node.js permet d'intégrer rapidement les paiements Mobile Money, les transferts et les remboursements dans vos applications backend.

Installation

Installez le package via votre gestionnaire de dépendances préféré :

npm install novasend-sdk

Configuration

Le SDK utilise des variables d'environnement pour une sécurité maximale. Ne codez jamais vos clés en dur.

NOVASEND_API_KEY=votre_clé_publique
NOVASEND_SECRET_KEY=votre_clé_secrète
NOVASEND_BASE_URL=https://business.novasend.app

Utilisation Rapide

Initialisation du Client

import { NovasendClient } from "novasend-sdk";

const client = new NovasendClient({
  apiKey: process.env.NOVASEND_API_KEY!,
  secretKey: process.env.NOVASEND_SECRET_KEY!,
  baseUrl: process.env.NOVASEND_BASE_URL!,
  language: "fr", // 'fr' ou 'en'
});

Créer un Paiement (Wallet)

Cette méthode génère un lien de redirection vers le portail de paiement Novasend.

const response = await client.createWalletPayment({
  reference: "commande_12345",
  amount: 2500,
  msisdn: "+2250700000000",
  customerName: "Jean Dupont",
  country: "CI",
  action: {
    successUrl: "https://votre-site.com/success",
    failureUrl: "https://votre-site.com/cancel",
  },
});

console.log("Lien de paiement :", response.paymentUrl);

Vérifier le Statut

const status = await client.getPaymentStatus("commande_12345");
console.log("Statut :", status.status); // 'processing', 'processed', 'failed', 'expired'

Validation Intégrée

Le SDK valide vos données localement avant d'envoyer la requête pour éviter des appels inutiles :

  • Montant Paiement : 100 à 2 000 000 FCFA.
  • Montant Transfert : 200 à 1 500 000 FCFA.
  • Format Téléphone : Valide les formats +225 (CI) et +237 (CM).
  • OTP Orange : Obligatoire si l'opérateur est Orange Money en paiement direct.

Utilisez toujours une X-Idempotency-Key (gérée automatiquement par le SDK) pour éviter les doubles débits en cas de problème réseau.

Gestion des Webhooks

Pour recevoir les confirmations de paiement, configurez un endpoint sur votre serveur et utilisez l'utilitaire de vérification de signature.

import { NovasendWebhooks } from "novasend-sdk";

const webhooks = new NovasendWebhooks(process.env.NOVASEND_WEBHOOK_SECRET!);

// Dans votre contrôleur Express/Next.js
const signature = req.headers["x-signature-value"];
try {
  const event = webhooks.verifySignature(req.body, signature);
  // Traitez l'événement (event.status, event.reference, etc.)
} catch (err) {
  // Signature invalide
}