Sites Web11 min de lecture

Integrer l'API Wave a un checkout Next.js au Senegal : tutoriel complet 2026

Mohamed Bah·Fondateur, Kolonell
14 août 2026
Partager :
Integrer l'API Wave a un checkout Next.js au Senegal : tutoriel complet 2026

Integrer l'API Wave a un checkout Next.js au Senegal : tutoriel complet 2026

Sites Web

Le verdict en trois phrases

Integrer Wave a un checkout Next.js, ce n'est pas afficher un bouton : c'est creer une session cote serveur, rediriger, puis verifier le statut avant tout fulfillment. La regle d'or 2026 : ne jamais faire confiance au retour navigateur, toujours confirmer via un GET status avec votre cle secrete. Une session expire en 30 minutes, le montant minimum est de 100 FCFA, et sans verification serveur vous livrez des commandes non payees.

Le flux Wave de bout en bout

Le cycle est simple mais chaque etape a un piege. Vous appelez l'API depuis une route serveur (jamais depuis le client, votre cle secrete ne doit jamais partir dans le bundle), Wave renvoie une URL de paiement, vous redirigez, le client paie dans son app Wave, puis vous confirmez.

EtapeCoteEndpoint / actionPiege a eviter
1. Creer la sessionServeurPOST /v1/checkout/sessionsCle secrete dans une route API, jamais client
2. RedirigerClientwave_launch_urlStocker le session id en base avant redirect
3. Client paieApp WaveSession expire apres 30 min
4. Retour navigateurClientsuccess_url / error_urlNe PAS livrer sur ce seul retour
5. Verifier le statutServeurGET /v1/checkout/sessions/{id}Livrer uniquement si status = complete
6. Webhook (backup)ServeurPOST /votre-webhookVerifier la signature

Le point critique est l'etape 5. Le retour navigateur peut etre falsifie ou interrompu (le client ferme l'onglet). La seule source de verite est l'appel serveur qui interroge Wave avec votre cle secrete.

Endpoints, montants et codes d'erreur 2026

Voici les parametres concrets a connaitre avant de coder, en ordre de grandeur 2026.

ElementValeur 2026Note
Montant minimum100 FCFARejet en dessous
DeviseXOFEntier, pas de decimales
Expiration session30 minutesStatut passe a expired
Statut a attendrecompleteAvant fulfillment
Erreur 401Cle invalideVerifiez Authorization: Bearer
Erreur 422Montant/devise invalideMontant en entier XOF
Erreur 404Session inconnueid errone ou expire purge
Frais encaissement~1 % ordre de grandeurA confirmer selon contrat

Cote code, votre route de verification ressemble a ceci (pseudo-code) : const session = await fetch("https://api.wave.com/v1/checkout/sessions/" + id, { headers: { Authorization: "Bearer " + process.env.WAVE_SECRET } }); if (session.payment_status === "succeeded") { await fulfillOrder(orderId); }. Vous stockez l'etat en base et vous rendez l'operation idempotente : un fulfillment deja effectue ne doit jamais se rejouer.

Mini cas pratique

Awa, gerante d'une boutique de cosmetiques a Dakar, vend un panier moyen de 18 000 FCFA. Sur 300 commandes par mois, elle recevait 12 litiges "j'ai paye mais rien recu". En analysant, on decouvre que son ancien systeme livrait sur le retour navigateur : quand la 4G coupait apres le paiement, la commande partait quand meme, parfois sans paiement reel. Apres passage a la verification serveur (GET status obligatoire avant fulfillment), les litiges tombent a 1 par mois. Sur un panier de 18 000 FCFA, eviter ne serait-ce que 8 fulfillments non payes par mois represente 144 000 FCFA de marchandise sauvee chaque mois.

Besoin d'un site web professionnel ?

Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.

FAQ

Combien de temps une session Wave reste-t-elle valide en 2026 ?

Environ 30 minutes. Passe ce delai, la session passe au statut expired et le client doit repartir d'un nouveau checkout. Stockez toujours le session id en base avec un horodatage.

Quel est le montant minimum encaissable via Wave ?

100 FCFA. Toute session creee sous ce seuil est rejetee avec une erreur 422. Le montant s'exprime en entier XOF, sans decimales.

Puis-je livrer la commande sur le simple retour navigateur ?

Non, jamais. Le retour success_url peut etre interrompu ou falsifie. Faites toujours un GET sur la session avec votre cle secrete et ne livrez que si le statut est complete.

Combien de temps prend une integration Wave Next.js propre ?

En ordre de grandeur 2026, comptez 3 a 5 jours pour un checkout robuste avec verification serveur, gestion des erreurs et webhook de secours. Un prototype sans garde-fous se fait en une journee mais ne doit pas aller en production.

Le webhook remplace-t-il la verification GET ?

Non, ils se completent. Le GET status confirme au moment du retour client, le webhook rattrape les cas ou le client a ferme l'onglet. Les deux doivent etre idempotents.

Discutons de votre projet. On integre Wave a votre checkout Next.js avec verification serveur, webhooks et tests de recette. WhatsApp +221 77 596 93 33.

Tags :#wave api#paystack api#nextjs#checkout#integration#senegal#nigeria#developpement
Partager :

Mohamed Bah

Fondateur, Kolonell

Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.