ITSkillsCenter
E-commerce

Guide complet : Intégrer Orange Money sur votre site e-commerce

6 دقائق للقراءة

Orange Money : le deuxième pilier du paiement mobile au Sénégal

Si Wave domine en volume, Orange Money reste incontournable avec sa base massive d’utilisateurs Orange. Beaucoup de clients, surtout en région et chez les plus de 40 ans, utilisent exclusivement Orange Money. Ne pas le proposer, c’est ignorer une partie significative de votre marché.

Ce guide vous montre comment intégrer Orange Money sur votre boutique WooCommerce, de la méthode manuelle à l’intégration automatisée via l’API Orange Money ou une passerelle intermédiaire.

Comprendre l’écosystème Orange Money

Caractéristique Détail
Frais marchand 2-4% selon le volume et le contrat
Frais client Généralement 0 (payés par le marchand)
Plafond transaction Jusqu’à 2 000 000 FCFA selon le niveau de compte
Délai crédit Instantané sur compte OM, J+1 à J+3 sur compte bancaire
USSD #144# (fonctionne sans internet)
Couverture Tout le Sénégal + 15 pays d’Afrique

Méthode 1 : Paiement USSD manuel

La méthode la plus basique, qui fonctionne même quand le client n’a pas internet :

Configuration WooCommerce

Utilisez la passerelle « Virement bancaire » détournée pour Orange Money :

  • Titre : Paiement par Orange Money
  • Description : Envoyez le montant via Orange Money. Instructions détaillées après validation de commande.
  • Instructions :
Pour payer par Orange Money :
1. Composez #144# sur votre téléphone Orange
2. Choisissez "Transfert d'argent"
3. Entrez le numéro : 77 XXX XX XX
4. Entrez le montant exact : [MONTANT] FCFA
5. Confirmez avec votre code secret
6. Envoyez la confirmation SMS à notre WhatsApp : 77 XXX XX XX

Votre commande sera traitée dès réception du paiement.

Avantage clé : fonctionne pour les clients en zone rurale avec un simple téléphone basique, sans smartphone ni internet.

Méthode 2 : Via CinetPay (recommandé)

CinetPay est une passerelle de paiement panafricaine qui intègre Orange Money dans 10+ pays d’Afrique de l’Ouest. C’est la solution la plus simple pour une intégration automatisée.

Étape 1 : Créer un compte CinetPay

  1. Inscrivez-vous sur cinetpay.com
  2. Complétez le KYC : pièce d’identité, NINEA, registre de commerce
  3. Validez votre compte (3-7 jours ouvrables)
  4. Récupérez votre API Key et Site ID dans le tableau de bord

Étape 2 : Installer le plugin WooCommerce CinetPay

  1. Dans WordPress : Extensions > Ajouter
  2. Recherchez « CinetPay » ou téléchargez depuis le site CinetPay
  3. Installez et activez
  4. Allez dans WooCommerce > Réglages > Paiements > CinetPay

Étape 3 : Configuration

Activer : Oui
Titre : Payer par Orange Money / Wave / Carte
Description : Paiement sécurisé par mobile money ou carte bancaire
Mode : Live (après tests en Sandbox)
API Key : votre_api_key_cinetpay
Site ID : votre_site_id
URL de notification : https://votresite.sn/?wc-api=wc_cinetpay

Frais CinetPay : 2% pour Orange Money Sénégal (négociable selon volume), 3.5% pour cartes bancaires.

Méthode 3 : API Orange Money directe

Pour les entreprises avec un volume important et qui veulent réduire les frais d’intermédiaire.

Prérequis

  • Contrat marchand Orange Money (contactez Orange Business via votre agence ou le 800 800 800)
  • Compte Orange Money Business actif
  • Clés d’accès API (Consumer Key, Consumer Secret, Merchant Key)
  • Serveur HTTPS avec certificat SSL valide

Flux de paiement Orange Money API

  1. Votre site envoie une requête de paiement à l’API Orange Money
  2. Orange Money retourne une URL de paiement ou un code de paiement
  3. Le client entre son code secret Orange Money pour valider
  4. Orange Money envoie une notification (callback) à votre serveur
  5. Votre site confirme la commande automatiquement
// Initier un paiement Orange Money
function initier_paiement_om($order_id) {
    $order = wc_get_order($order_id);
    
    // 1. Obtenir le token d'accès
    $token_response = wp_remote_post('https://api.orange.com/oauth/v3/token', array(
        'headers' => array(
            'Authorization' => 'Basic ' . base64_encode(CONSUMER_KEY . ':' . CONSUMER_SECRET),
            'Content-Type'  => 'application/x-www-form-urlencoded'
        ),
        'body' => 'grant_type=client_credentials'
    ));
    $token = json_decode(wp_remote_retrieve_body($token_response))->access_token;
    
    // 2. Créer la demande de paiement
    $payment_response = wp_remote_post('https://api.orange.com/orange-money-webpay/dev/v1/webpayment', array(
        'headers' => array(
            'Authorization' => 'Bearer ' . $token,
            'Content-Type'  => 'application/json'
        ),
        'body' => json_encode(array(
            'merchant_key' => MERCHANT_KEY,
            'currency'     => 'OUV',
            'order_id'     => 'CMD-' . $order_id,
            'amount'       => intval($order->get_total()),
            'return_url'   => $order->get_checkout_order_received_url(),
            'cancel_url'   => $order->get_cancel_order_url(),
            'notif_url'    => home_url('/wc-api/om_callback/'),
            'lang'         => 'fr'
        ))
    ));
    
    $body = json_decode(wp_remote_retrieve_body($payment_response));
    
    if (isset($body->payment_url)) {
        return array('result' => 'success', 'redirect' => $body->payment_url);
    }
    
    return new WP_Error('om_error', 'Erreur Orange Money. Veuillez réessayer.');
}

Via PayDunya : Wave + Orange Money en une seule intégration

Si vous avez déjà intégré PayDunya pour Wave (voir notre guide Wave), Orange Money est automatiquement inclus. Le client choisit son moyen de paiement préféré sur la page PayDunya.

C’est la solution la plus pragmatique : une seule intégration = Wave + Orange Money + Carte bancaire. Les frais sont de 3.5% par transaction, mais vous économisez le temps de développement et de maintenance de deux intégrations séparées.

Gérer les cas particuliers

Paiement échoué / timeout

Orange Money peut mettre 30 secondes à 1 minute pour traiter un paiement. Prévoyez :

  • Un message d’attente clair : « Validation en cours, ne fermez pas cette page… »
  • Un timer de 90 secondes avant d’afficher « Réessayer »
  • Un recours : « Si le problème persiste, payez par Wave ou contactez-nous sur WhatsApp »

Remboursement Orange Money

Les remboursements Orange Money ne sont pas automatisés. Processus :

  1. Identifiez le paiement dans votre tableau de bord Orange Money / CinetPay
  2. Effectuez un transfert retour manuellement depuis votre compte OM
  3. Documentez la transaction avec numéro de référence
  4. Mettez à jour le statut WooCommerce en « Remboursé »

Client sans smartphone

Environ 25% des utilisateurs Orange Money au Sénégal utilisent un téléphone basique. Pour eux :

  • Proposez le USSD (#144#) comme option principale
  • Envoyez les instructions par SMS (pas WhatsApp) après la commande
  • Acceptez les commandes par appel téléphonique avec paiement USSD

Sécurité des paiements Orange Money

  • Ne stockez jamais les clés API dans le code source : utilisez wp-config.php ou des variables d’environnement
  • Vérifiez toujours les montants dans le callback : comparez le montant reçu avec le montant de la commande WooCommerce
  • Utilisez HTTPS : obligatoire pour les API de paiement
  • Loguez toutes les transactions : en cas de litige, vous avez besoin de preuves
  • Vérifiez la provenance des callbacks : vérifiez l’IP source ou utilisez un token de sécurité
// Stocker les clés API de manière sécurisée dans wp-config.php
define('OM_CONSUMER_KEY', 'votre_consumer_key');
define('OM_CONSUMER_SECRET', 'votre_consumer_secret');
define('OM_MERCHANT_KEY', 'votre_merchant_key');

// Puis dans votre plugin :
$consumer_key = defined('OM_CONSUMER_KEY') ? OM_CONSUMER_KEY : '';

Checklist intégration Orange Money

  • Compte Orange Money Business ou passerelle (CinetPay/PayDunya) actif
  • Plugin configuré et testé en mode sandbox
  • Callback/webhook fonctionnel (testez avec un vrai paiement de 100 FCFA)
  • Logo Orange Money visible sur la page checkout et le footer
  • Instructions USSD claires pour les clients sans smartphone
  • Fallback en place (Wave, COD) si Orange Money est indisponible
  • Clés API stockées dans wp-config.php, pas dans le code
  • Processus de remboursement documenté
  • Rapprochement comptable quotidien entre OM et WooCommerce
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é