Skip to main content

JavaScript SDK

Le SDK JavaScript officiel pour intégrer SahelPay côté serveur (Node.js, TypeScript).

Installation

Le SDK utilise fetch global : Node.js 18 ou plus récent. Version actuelle du dépôt : 1.1.0 (changements).

Configuration

Créer un paiement

  • X-Idempotency-Key est obligatoire côté API. Fournissez une clé stable (liée à votre commande) pour que les retries ne créent jamais de doublon ; à défaut, le SDK en génère une aléatoire à chaque appel.
  • hosted_checkout vaut true par défaut : redirect_url (et checkout_url) pointe vers le checkout SahelPay.
  • Après un paiement confirmé, le client est renvoyé automatiquement vers return_url.
  • Partenaires SPAY : passez items: [{ product_id, quantity }] (voir Programme Partenaires SPAY).

Tester sans appel opérateur

L’option mock active le simulateur SahelPay : aucun appel opérateur, et le statut final est piloté par le montant (4000 réussi, 4001 échoué, 4002 en attente, 4003 erreur opérateur). À ne pas confondre avec sandbox, qui appelle l’environnement de test de l’opérateur. Les deux sont refusées avec une clé live.

Vérifier le statut

Liens de paiement

Sans montant, le lien est à montant libre (OPEN, bornes min_amount / max_amount).

Livraisons webhook

Voir Livraisons et relances.

Paiement sécurisé

Fonction activée sur demande : voir Paiement sécurisé.

Vérifier un webhook

Gestion des erreurs

Voir Codes d’erreur.

Fonctions à éviter pour l’instant

Billing 1.3.0

Clients sans téléphone via customer_external_ref/customer_email/customer_id, essais (trial_end), périodes (current_period_start/end), lecture par ID et import. Les trois SDK exposent aussi les factures et la pagination. ACTIVE ≠ paid : lire la facture et l’abonnement canoniques avant d’accorder des droits payés. Voir le guide Billing français/anglais pour les signatures, les garanties de rejeu et le parcours TEST sans numéro inventé. La version Billing 1.3.0 est disponible dans les sources taguées javascript-v1.3.0. Avant d’installer @sahelpay/sdk@^1.3.0, vérifiez npm view @sahelpay/sdk version. Si npm indique encore 1.1.0, clonez ce tag, exécutez npm ci puis npm run build dans javascript et installez ce dossier local. La publication npm dépend des accès au registre ; une version source taguée n’implique pas sa disponibilité sur npm.