alphapay-node enveloppe l’API REST AlphaPay (checkout, softpay, liens de paiement, clients, webhooks…) avec retry automatique (backoff exponentiel + gigue sur 429/5xx/erreur réseau), gestion d’idempotence et exceptions typées par cas d’erreur. Écrit en TypeScript, types fournis nativement.
Chaque exemple ci-dessous est autonome : copiez-le, remplacez
process.env.ALPHAPAY_SECRET_KEY par votre clé (sk_test_... en sandbox, sk_live_... en production) et lancez-le avec tsx/ts-node ou après compilation.Sommaire
- Checkout (session hébergée)
- Softpay (encaissement direct)
- Lien de paiement
- Solde et grand livre
- Clients (CRM)
- Webhooks
- Reversements et transferts entre wallets
- Clés API et whitelist IP
- Gestion des erreurs
1. Checkout (session hébergée)
Crée une page de paiement hébergée par AlphaPay et pré-remplie pour un client précis — l’usage le plus simple pour un e-commerce classique (redirigez le client verscheckout_url).
2. Softpay (encaissement direct)
Pousse directement une demande de paiement (USSD mobile money) sans page de checkout à afficher — utile pour une app où vous collectez déjà le numéro du client.3. Lien de paiement
Un lien réutilisable (partageable sur WhatsApp, réseaux sociaux, etc.), avec ses propres champs personnalisés et suivi publicitaire.4. Solde et grand livre
5. Clients (CRM)
6. Webhooks
Réception et vérification d’un webhook entrant (exemple avec un serveur HTTP natif Node ; adaptezreq/res à Express/Fastify au besoin — le
principe ne change pas : toujours vérifier la signature sur le corps
brut, avant tout JSON.parse).
7. Reversements et transferts entre wallets
8. Clés API et whitelist IP
apiKeys.list/create/get/revoke/delete sont dashboard-only (403 via clé
API — une clé compromise ne doit pas pouvoir en créer d’autres). Seule
ipWhitelist fonctionne via clé API, et elle est requise pour les
payouts.
9. Gestion des erreurs
Toutes les erreurs API héritent deAlphaPayError — vérifiez le type le
plus spécifique d’abord.
maxRetries dans les options du
client. Les erreurs ci-dessus ne surviennent donc qu’après épuisement de
ces tentatives automatiques.