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-sdkConfiguration
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.appUtilisation 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
}