Intégrer le paiement en ligne en 30 minutes : tutoriel complet Node.js
Ce tutoriel vous emmène d'un projet Node.js vide au premier paiement en production, en 30 minutes. Zéro copier-coller mystérieux — chaque ligne est expliquée.
Prérequis
- Node.js 18+
- Un compte Aventopay (mode test disponible immédiatement)
- Un endpoint HTTPS accessible pour recevoir les webhooks (ngrok en local)
Étape 1 — Récupérer vos identifiants
Depuis votre dashboard, notez merchant_id, api_key, api_secret, webhook_secret. Placez-les dans un .env — jamais dans le code.
Étape 2 — Créer une session côté serveur
Le pattern : sérialiser le body, calculer la signature HMAC dessus, envoyer les deux ensemble. Ne pas re-sérialiser après signature — sinon le hash ne correspond plus.
Étape 3 — Rediriger vers la page hébergée (ou embarquer l'iframe)
La réponse de session contient payment_url et iframe_url. Selon votre UX, redirigez ou embarquez.
Étape 4 — Recevoir et traiter le webhook
express.raw pour lire le body brut. Vérifier la signature. Utiliser timingSafeEqual. Idempotence sur provider_reference. Répondre 200 OK.
Étape 5 — Passage en production
Basculer sur les clés live. Vérifier que votre callback_url est en HTTPS, publique, sans authentification préalable. Premier test avec une vraie carte à petit montant.
