Chargement de vos clés API…

Odoo

Module de paiement pour Odoo 17 et 18.

Validé de bout en bout

Prérequis

  • Odoo 17.0 ou 18.0, auto-hébergé ou sur Odoo.sh.
  • Une instance joignable depuis internet, en HTTPS : Mobupay y livre les confirmations de paiement.
  • Une clé API Mobupay (sk_test_… pour tester, sk_live_… en production), depuis votre espace marchand, rubrique Développeurs, Clés API. C'est le seul secret à saisir : le secret de signature des webhooks est récupéré automatiquement.

Installation

Le module est publié sur Odoo Apps, sous le nom Mobupay Payment. Odoo publie une fiche par version : ouvrez celle qui correspond à la vôtre.

Depuis cette fiche, le parcours dépend de votre hébergement.

  • Sur Odoo.sh : depuis la fiche du module, cliquez sur « Deploy on Odoo.sh ». Odoo ajoute le module au dépôt de votre projet et reconstruit. Il apparaît ensuite dans vos applications.
  • Si vous hébergez votre Odoo vous-même : téléchargez le module, placez le dossier mobupay_payment/ dans votre répertoire addons, puis redémarrez le service Odoo.

Pour l'installation manuelle, une étape est indispensable et souvent oubliée : activez le mode développeur avant de mettre à jour la liste des applications. Sans lui, le menu correspondant n'existe pas, et le module reste introuvable alors qu'il est bien en place.

  1. 1Paramètres, section Outils du développeur, « Activer le mode développeur ».
  2. 2Applications, menu à trois points, « Mettre à jour la liste des applications ».
  3. 3Cherchez « Mobupay » et installez le module.

Configuration

Comptabilité (ou Site web), Configuration, Fournisseurs de paiement, Mobupay. Renseignez votre clé API, puis enregistrez.

Le module vérifie alors la clé, récupère le secret de signature des webhooks et vous confirme dans quel environnement vous êtes, test ou production. Le bouton « Vérifier la connexion » rejoue ce contrôle à tout moment, et vous prévient si votre adresse publique ne permet pas de recevoir les confirmations.

Le module s'installe désactivé : un moyen de paiement ne doit jamais arriver prêt à encaisser. Passez sur « Mode test », encaissez un paiement d'essai, puis sur « Activé ».

  • Détail de la commande, actif par défaut : transmet les articles, les taxes par ligne, les frais de port et les remises. Le client voit le récapitulatif de son panier sur la page de paiement.
  • Coordonnées du client, actif par défaut : nom, adresse de facturation, téléphone et adresse de livraison. Nécessaire pour qu'une facture porte les mentions obligatoires.
  • Facture Mobupay, inactif par défaut : établit une facture à chaque encaissement, avec envoi au client si vous le souhaitez. S'il manque une mention obligatoire, le paiement aboutit quand même et la facture est créée en brouillon, à compléter : un paiement n'est jamais refusé pour un motif de facturation.
  • Nature de l'opération : livraison de biens, prestation de services, ou les deux. C'est une mention obligatoire de la facture, et sans elle une facture ne peut pas être émise. « Livraison de biens » convient à une boutique qui vend des produits ; ce choix ne vous est demandé qu'une fois.

Une sécurité vous empêche de confondre les environnements : une clé de test sur un fournisseur activé en production est refusée, et une clé de production en mode test également.

Ce que le module transmet

Tout est déduit de la commande : vous n'avez aucun champ à remplir. Les taxes partent avec le nom que vous leur avez donné, « TGC » en Nouvelle-Calédonie comme « TVA » en France, sans réglage particulier.

  • Les lignes de commande au prix taxe comprise, avec leur libellé.
  • Les taxes par ligne, et les frais de port comme une ligne à part entière.
  • Les coordonnées du client, depuis le partenaire de facturation.

Les lignes de section et de note sont ignorées : ce sont des titres de mise en page, et les transmettre produirait des lignes à zéro sur votre facture.

Fonctionnement

  1. 1Le client choisit Mobupay et valide sa commande.
  2. 2Le module crée une session Mobupay et redirige vers la page hébergée ; la transaction passe en attente.
  3. 3Le client paie par carte sur la page Mobupay.
  4. 4Mobupay envoie un webhook signé ; le module vérifie la signature, retrouve la transaction via externalId et confirme la commande.

Si ce webhook n'arrive pas, une reprise prend le relais : la page de statut interroge Mobupay pendant que le client attend, et une tâche planifiée rattrape toutes les dix minutes ce que personne n'a vu. Un paiement encaissé ne laisse jamais une commande en attente.

Devises

Mobupay encaisse en XPF et en EUR. Le module ne se propose pas au paiement d'une commande dans une autre devise : mieux vaut ne pas apparaître que d'apparaître et refuser.

Remboursement

Depuis la transaction de paiement dans Odoo, utilisez le bouton de remboursement. Le remboursement partiel est pris en charge : seul le montant demandé est remboursé.

Code source

Le module est publié sous licence LGPL-3. Vous pouvez le lire, l'auditer ou l'installer directement depuis le dépôt : github.com/mobupay/mobupay-odoo. La branche 17.0 et la branche 18.0 portent chacune la version de leur série.

Tester

Avec une clé sk_test_… et le fournisseur en « Mode test », passez une commande et payez sur la page Mobupay avec la carte de test Monext 5476 4309 9999 9892 (CVV 123, date d'expiration future). La commande doit se confirmer seule après le webhook, sans que vous ayez à revenir dessus.