ITSkillsCenter
E-commerce

Comment intégrer Wave comme moyen de paiement en ligne

7 min de lecture

Pourquoi Wave est incontournable pour le e-commerce au Sénégal

Wave est devenu le portefeuille mobile numéro 1 au Sénégal. Avec des frais de transfert à 1% (plafonnés à 5 000 FCFA), une adoption massive, et une interface simple, c’est le moyen de paiement que vos clients utilisent déjà au quotidien. Ne pas proposer Wave sur votre boutique, c’est perdre 40 à 60% de vos ventes potentielles.

Ce guide couvre toutes les méthodes d’intégration de Wave sur votre site WooCommerce : du simple lien de paiement au checkout automatisé via l’API Wave Business.

Les différentes façons d’accepter Wave

Méthode Complexité Automatisation Coût Idéal pour
Virement manuel Très simple Aucune 0 FCFA Débutants, -10 commandes/semaine
QR Code fixe Simple Aucune 0 FCFA Boutiques avec peu de produits
Lien de paiement Wave Moyen Semi-auto 1% par transaction PME, 10-50 commandes/semaine
API Wave Business Avancé Complète 1% par transaction Boutiques à volume, +50 commandes/semaine
Via PayDunya/CinetPay Moyen Complète 2-3.5% par transaction Besoin de plusieurs moyens de paiement

Méthode 1 : Virement Wave manuel (gratuit)

La méthode la plus simple pour commencer. Aucune intégration technique nécessaire.

Configuration dans WooCommerce

Allez dans WooCommerce > Réglages > Paiements > Virement bancaire et configurez-le comme passerelle Wave :

  • Titre : Paiement par Wave
  • Description : Envoyez le montant exact à notre numéro Wave. Votre commande sera traitée dès réception du paiement.
  • Instructions : Envoyez [montant] FCFA au 77 XXX XX XX via Wave. Indiquez votre numéro de commande en référence. Envoyez une capture d’écran à notre WhatsApp : 77 XXX XX XX

Processus de vérification manuelle

  1. Le client passe commande et choisit « Paiement par Wave »
  2. Il reçoit les instructions avec votre numéro Wave
  3. Il effectue le transfert et envoie la capture d’écran sur WhatsApp
  4. Vous vérifiez dans votre app Wave et passez la commande en « En cours »

Avantage : zéro frais technique. Inconvénient : vérification manuelle, risque d’erreur, ne scale pas.

Méthode 2 : QR Code Wave sur la page de paiement

Générez un QR Code Wave avec votre numéro marchand et affichez-le sur la page de confirmation :

// Ajouter le QR Code Wave sur la page de remerciement
add_action('woocommerce_thankyou', 'afficher_qr_wave');
function afficher_qr_wave($order_id) {
    $order = wc_get_order($order_id);
    if ($order->get_payment_method() !== 'bacs') return;
    if ($order->get_status() !== 'on-hold') return;
    
    $montant = $order->get_total();
    $numero_wave = '77XXXXXXX'; // Votre numéro Wave
    
    echo '<div style="text-align:center;padding:20px;background:#f0f7ff;border-radius:10px;margin:20px 0;">';
    echo '<h3>Payez par Wave</h3>';
    echo '<p>Scannez ce QR Code avec votre app Wave ou envoyez <strong>' . number_format($montant, 0, ',', ' ') . ' FCFA</strong> au <strong>' . $numero_wave . '</strong></p>';
    echo '<img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=wave://pay?phone=' . $numero_wave . '%26amount=' . $montant . '" alt="QR Code Wave" />';
    echo '<p style="margin-top:15px;">Après paiement, envoyez la capture à notre <a href="https://wa.me/221' . $numero_wave . '">WhatsApp</a></p>';
    echo '</div>';
}

Méthode 3 : Intégration via PayDunya (recommandé)

PayDunya est une passerelle de paiement sénégalaise qui intègre Wave, Orange Money, et carte bancaire. C’est la solution la plus équilibrée entre simplicité et automatisation.

Étape 1 : Créer un compte PayDunya Business

  1. Inscrivez-vous sur paydunya.com avec votre compte Business
  2. Soumettez les documents : NINEA, pièce d’identité, RIB bancaire
  3. Attendez la validation (2-5 jours ouvrables)
  4. Récupérez vos clés API dans le tableau de bord (Master Key, Private Key, Token, Public Key)

Étape 2 : Installer le plugin WooCommerce PayDunya

  1. Téléchargez le plugin WooCommerce PayDunya depuis le site PayDunya
  2. Allez dans Extensions > Ajouter > Téléverser et installez le fichier .zip
  3. Activez le plugin
  4. Allez dans WooCommerce > Réglages > Paiements > PayDunya

Étape 3 : Configuration du plugin

Titre : Payer avec Wave, Orange Money ou Carte
Description : Paiement sécurisé via Wave, Orange Money ou carte bancaire
Mode : Production (après tests en Sandbox)
Master Key : pk_live_XXXXXXXXXXXXX
Private Key : prv_live_XXXXXXXXXXXXX  
Token : tk_live_XXXXXXXXXXXXX
URL de callback : https://votresite.sn/wc-api/wc_paydunya/

Frais PayDunya : 3.5% par transaction Wave, 3.5% par transaction Orange Money. Le paiement est automatisé : dès que le client paye, la commande passe automatiquement en « En cours de traitement ».

Méthode 4 : API Wave Business (intégration directe)

Pour les boutiques à volume qui veulent minimiser les frais (1% vs 3.5% via PayDunya). Nécessite un compte Wave Business et des compétences techniques.

Prérequis

  • Compte Wave Business actif
  • Clé API Wave (demandée via le support Wave Business)
  • Serveur avec HTTPS (certificat SSL obligatoire)
  • URL de callback accessible publiquement

Créer un checkout Wave via l’API

// Plugin custom WooCommerce pour Wave API
// Fichier : wp-content/plugins/wave-payment/wave-payment.php

add_action('plugins_loaded', 'init_wave_gateway');
function init_wave_gateway() {
    class WC_Gateway_Wave extends WC_Payment_Gateway {
        public function __construct() {
            $this->id = 'wave_payment';
            $this->method_title = 'Wave';
            $this->method_description = 'Paiement direct via Wave Mobile Money';
            $this->has_fields = false;
            $this->init_form_fields();
            $this->init_settings();
            $this->title = $this->get_option('title');
            $this->api_key = $this->get_option('api_key');
            
            add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options'));
        }
        
        public function init_form_fields() {
            $this->form_fields = array(
                'enabled' => array('title' => 'Activer', 'type' => 'checkbox', 'default' => 'yes'),
                'title' => array('title' => 'Titre', 'type' => 'text', 'default' => 'Payer avec Wave'),
                'api_key' => array('title' => 'Clé API Wave', 'type' => 'password')
            );
        }
        
        public function process_payment($order_id) {
            $order = wc_get_order($order_id);
            
            $response = wp_remote_post('https://api.wave.com/v1/checkout/sessions', array(
                'headers' => array(
                    'Authorization' => 'Bearer ' . $this->api_key,
                    'Content-Type'  => 'application/json'
                ),
                'body' => json_encode(array(
                    'amount'       => $order->get_total(),
                    'currency'     => 'XOF',
                    'error_url'    => $order->get_cancel_order_url(),
                    'success_url'  => $this->get_return_url($order),
                    'client_reference' => 'CMD-' . $order_id
                ))
            ));
            
            $body = json_decode(wp_remote_retrieve_body($response));
            
            if (isset($body->wave_launch_url)) {
                $order->update_status('pending', 'En attente du paiement Wave');
                return array('result' => 'success', 'redirect' => $body->wave_launch_url);
            }
            
            wc_add_notice('Erreur Wave : veuillez réessayer.', 'error');
            return;
        }
    }
}

add_filter('woocommerce_payment_gateways', function($gateways) {
    $gateways[] = 'WC_Gateway_Wave';
    return $gateways;
});

Gérer le callback (webhook)

// Webhook pour confirmer le paiement Wave
add_action('woocommerce_api_wave_callback', 'traiter_callback_wave');
function traiter_callback_wave() {
    $payload = json_decode(file_get_contents('php://input'), true);
    
    if (!$payload || !isset($payload['client_reference'])) {
        wp_die('Requête invalide', 400);
    }
    
    // Extraire l'ID de commande
    $order_id = str_replace('CMD-', '', $payload['client_reference']);
    $order = wc_get_order($order_id);
    
    if (!$order) wp_die('Commande introuvable', 404);
    
    if ($payload['payment_status'] === 'succeeded') {
        $order->payment_complete($payload['transaction_id']);
        $order->add_order_note('Paiement Wave reçu. Transaction : ' . $payload['transaction_id']);
    } elseif ($payload['payment_status'] === 'failed') {
        $order->update_status('failed', 'Paiement Wave échoué');
    }
    
    wp_die('OK', 200);
}

Bonnes pratiques paiement Wave

  • Affichez le logo Wave sur votre checkout, page d’accueil et footer. Les clients cherchent visuellement les moyens de paiement qu’ils connaissent
  • Montrez les frais clairement : « Paiement Wave : 0 FCFA de frais pour vous » (les frais sont pour le marchand)
  • Testez en sandbox d’abord : utilisez le mode test de PayDunya ou Wave avant de passer en production
  • Prévoyez un fallback : si Wave est en panne (rare mais possible), proposez Orange Money ou COD
  • Envoyez la confirmation instantanément : un message WhatsApp automatique à la réception du paiement rassure le client
  • Rapprochez vos comptes quotidiennement : vérifiez que chaque paiement Wave correspond à une commande WooCommerce

Comparatif des coûts selon le volume

Volume mensuel Wave manuel PayDunya (3.5%) Wave API (1%)
500 000 FCFA 0 FCFA 17 500 FCFA 5 000 FCFA
2 000 000 FCFA 0 FCFA 70 000 FCFA 20 000 FCFA
5 000 000 FCFA 0 FCFA 175 000 FCFA 50 000 FCFA
10 000 000 FCFA 0 FCFA 350 000 FCFA 100 000 FCFA

Au-delà de 2 millions FCFA/mois, l’intégration API directe se rentabilise en 1 mois par rapport à PayDunya. En dessous, PayDunya reste le meilleur choix car l’automatisation vous fait gagner du temps.

#paiement #sénégal #wave
Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 350.000 FCFA
Parlons de Votre Projet
Publicité

Articles Similaires