Intégrer CMI sur WooCommerce en 2026 : guide pas-à-pas pour e-commerce marocains

Guide pratique pour connecter CMI (Centre Monétique Interbancaire) à WooCommerce : prérequis banque, plugin, paramétrage, tests, mise en production.

Intégrer CMI sur WooCommerce en 2026 : guide pas-à-pas pour e-commerce marocains

Intégrer CMI sur WooCommerce en 2026 : guide pas-à-pas pour e-commerce marocains

CMI + WooCommerce : l'association incontournable au Maroc

Si vous lancez un e-commerce au Maroc et voulez accepter les cartes bancaires marocaines (CMI, Visa, Mastercard domestiques), la passerelle CMI (Centre Monétique Interbancaire) est incontournable. Ce guide couvre l'intégration technique à WooCommerce de bout en bout.

Étape 1 : obtenir un compte marchand CMI

  1. Être immatriculé au RC (registre de commerce) avec une société marocaine.
  2. Ouvrir un compte bancaire professionnel dans une banque partenaire CMI (Attijariwafa, BMCE, BP, Crédit Agricole, CIH, SGMB...).
  3. Remplir le dossier marchand CMI fourni par votre banque : extrait RC, identité dirigeant, K-bis, URL site, description produits.
  4. Délai typique : 2 à 4 semaines selon la banque.
  5. À la validation, CMI fournit : ClientID, Store Name, Store Password, URL de test + production.

Étape 2 : choisir un plugin WooCommerce CMI

Plusieurs options existent :

  • Plugins payants spécialisés (~500-1500 MAD one-shot) : maintenance assurée, support.
  • Plugin sur mesure : je développe des intégrations CMI dédiées avec gestion des statuts, webhooks, réconciliation.
  • Plugins gratuits : attention à la maintenance, souvent obsolètes.

Je recommande un développement sur mesure si votre boutique dépasse 100 commandes/mois — la fiabilité devient critique.

Étape 3 : flux technique CMI en détail

  1. Client valide son panier et clique "Payer avec CMI".
  2. WooCommerce génère un formulaire signé (SHA-512 HMAC) avec montant, devise (MAD), OID (order ID), clientId, hash.
  3. Redirect POST vers la page sécurisée CMI (3DSecure obligatoire).
  4. Client saisit sa carte, reçoit OTP SMS, valide.
  5. CMI redirige vers votre URL OkUrl (succès) ou FailUrl (échec) en POST.
  6. Vérification du hash de retour côté serveur obligatoire (évite la manipulation URL).
  7. Mise à jour du statut commande WooCommerce + envoi mail client.

Étape 4 : tests en sandbox CMI

CMI fournit un environnement de test avec URL dédiée et cartes fictives. Testez impérativement :

  • Paiement réussi
  • Paiement refusé (carte bloquée, solde insuffisant)
  • Abandon après redirect (client ferme la fenêtre)
  • Erreur hash (cas malveillant)
  • Double soumission (idempotence)

Étape 5 : passage en production

  • Remplacer URL test par URL production CMI.
  • Configurer certificat SSL valide (obligatoire pour 3DSecure).
  • Logger toutes les transactions (succès + échec) pour audit bancaire.
  • Activer le mode live côté dashboard CMI après validation banque.

Erreurs fréquentes à éviter

  • Hash non vérifié côté retour — faille majeure, un attaquant peut simuler un succès.
  • Montant en MAD non converti en centimes (100 MAD = 10000 en paramètre).
  • Pas de gestion du timeout (client ferme navigateur, commande reste en "pending").
  • OID non unique — CMI rejette un OID déjà utilisé.
  • Devise autre que MAD — CMI n'accepte que MAD (978).

Combiner CMI + Stripe + COD

Pour une boutique MA internationale, proposez 3 méthodes :

  • CMI pour cartes marocaines
  • Stripe (via société UE/US, voir guide Stripe Maroc) pour cartes internationales
  • Paiement à la livraison pour les clients MA méfiants du paiement en ligne (encore ~40% du marché)

Besoin d'une intégration CMI fiable ?

J'intègre CMI sur WooCommerce depuis 2016 (et sur Magento, PrestaShop, Laravel custom). [email protected] pour un devis sous 24h.

Partager : LinkedIn Twitter WhatsApp