Installer Virevo sur votre boutique en ligne

WooCommerce, PrestaShop ou Magento : le parcours est le même en quatre étapes, une clé d'API, l'extension, le webhook, puis un paiement de test. Comptez vingt minutes la première fois, et gardez le mode test jusqu'à ce que tout soit vert.

Mis à jour le 23 septembre 2026

Au sommaire

  1. Avant de commencer
  2. Étape 1 : créer votre clé d'API
  3. Étape 2 : installer l'extension
  4. Étape 3 : enregistrer le webhook
  5. Étape 4 : un paiement de test, de bout en bout
  6. Passer en production
  7. Quand ça ne marche pas

Avant de commencer

Trois choses à avoir sous la main.

Pour encaisser réellement

Il faudra en plus vérifier votre identité et renseigner votre IBAN professionnel dans le tableau de bord. Rien de tout cela n'est nécessaire pour la phase de test, et mieux vaut avoir fini l'installation avant de s'en occuper.

Étape 1 : créer votre clé d'API

  1. Connectez-vous à app.virevo.fr et ouvrez Développeurs.
  2. Dans Mode, choisissez Test.
  3. Donnez-lui un Nom, par exemple « Boutique WooCommerce ». C'est facultatif, mais indispensable le jour où vous en aurez cinq.
  4. Cliquez sur Créer une clé.
La clé ne s'affiche qu'une fois

Elle commence par vrv_test_, ou vrv_live_ en production. Copiez-la tout de suite : nous n'en conservons qu'une empreinte, personne ne peut vous la réafficher. Si vous la perdez, il suffit d'en créer une autre et de révoquer la première.

Étape 2 : installer l'extension

WooCommerce

  1. Dans l'administration WordPress : Extensions → Ajouter → Téléverser une extension.
  2. Choisissez l'archive virevo-for-woocommerce-x.y.z.zip, installez, puis activez.
  3. Allez dans WooCommerce → Réglages → Paiements, ligne « Virevo — virement instantané », puis Gérer.
  4. Cochez « Activer le paiement par virement instantané Virevo ».
  5. Mode : « Test (bac à sable) ».
  6. Collez votre clé dans Clé API test. Le champ Clé API live attendra.
  7. Enregistrez. Ne quittez pas cet écran : l'URL du webhook y est affichée, vous en aurez besoin à l'étape 3.

Le champ « URL de l'API (avancé) » se laisse vide. Il ne sert qu'à pointer vers une API locale pendant un développement.

PrestaShop 1.7 et 8

  1. Dans le back-office : Modules → Gestionnaire de modules → Importer un module.
  2. Déposez l'archive virevopay-x.y.z.zip, puis Configurer.
  3. Mode : test. Collez votre clé dans le champ de clé de test.
  4. Enregistrez. L'écran affiche alors l'URL de webhook propre à votre boutique.

Tant que le virement n'est pas reçu, la commande reste dans l'état natif « En attente de virement », puis bascule en « Paiement accepté » à la confirmation. Vous retrouvez donc vos automatismes habituels, sans nouvel état à configurer.

Magento 2 et Adobe Commerce

Au choix, par Composer ou par dépôt de fichiers.

bin/magento module:enable Virevo_Payment
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

Puis Stores → Configuration → Sales → Payment Methods → « Virevo — virement instantané » : Activer, Mode sur test, et la clé dans Clé API test.

À savoir

Le module Magento respecte les conventions 2.4 mais n'a pas encore été éprouvé en production chez un marchand. Prévenez-nous avant de l'installer, nous suivrons la mise en route avec vous.

Étape 3 : enregistrer le webhook

C'est l'étape qui décide. Sans elle, vos clients paieront correctement et vos commandes resteront en attente, parce que rien ne viendra dire à votre boutique que l'argent est arrivé.

L'adresse à déclarer dépend de votre boutique :

BoutiqueURL de notification
WooCommercehttps://votre-boutique.fr/wp-json/virevo/v1/webhook
PrestaShopcelle affichée dans l'écran de configuration du module
Magentohttps://votre-boutique.fr/virevo/standard/webhook
  1. Dans le tableau de bord, Développeurs, section des webhooks.
  2. Collez l'adresse dans URL de notification et validez.
  3. Le Secret de signature s'affiche, une seule fois lui aussi. Il commence par whsec_.
  4. Retournez dans les réglages de l'extension et collez-le dans Secret de webhook. Enregistrez.
  5. Revenez au tableau de bord et utilisez le bouton de test de l'endpoint : votre boutique doit répondre. Si elle ne répond pas, arrêtez-vous là et voyez le dépannage.
Pourquoi un secret

Chaque notification est signée avec ce secret. Votre boutique recalcule la signature avant d'accepter quoi que ce soit : personne ne peut donc valider une commande en devinant l'adresse de votre webhook. Le secret se renouvelle depuis le tableau de bord, et les deux versions restent acceptées pendant la bascule, ce qui évite toute coupure.

Étape 4 : un paiement de test, de bout en bout

En mode test, rien n'est réel : aucun compte bancaire n'est sollicité, aucun mouvement n'a lieu. Vous pouvez donc jouer le parcours entier.

  1. Passez une commande sur votre boutique et choisissez « Virement instantané » au paiement.
  2. Vous êtes redirigé vers la page de paiement Virevo. Vérifiez que le montant et la référence de commande sont les bons.
  3. Notez l'identifiant du paiement, puis déclenchez un encaissement fictif :
curl -X POST https://app.virevo.fr/v1/payments/{id}/simulate \
  -H "Authorization: Bearer vrv_test_votre_cle"

Retournez dans votre boutique : la commande doit être passée en payée, et le stock décrémenté. Si c'est le cas, l'installation est terminée. Sinon, la suite est faite pour vous.

Passer en production

  1. Terminez la vérification d'identité et renseignez votre IBAN professionnel dans le tableau de bord.
  2. Créez une clé en mode Live, et collez-la dans le champ Clé API live de l'extension.
  3. Basculez le Mode de l'extension sur Live.
  4. Faites un vrai paiement d'un euro, depuis votre propre compte. C'est la seule vérification qui prouve quelque chose.
Une erreur classique, désormais bloquée

Une clé vrv_test_ laissée dans un réglage passé en Live n'encaisse rien du tout. Le mode de l'extension et le mode de la clé doivent correspondre. Depuis la version 0.6.0, l'extension refuse une clé dont le préfixe contredit son champ, et masque le moyen de paiement plutôt que de laisser un client s'y engager pour rien.

Quand ça ne marche pas

Le client a payé, la commande reste en attente

Dans l'immense majorité des cas, c'est le webhook. Trois causes, dans cet ordre :

« Signature invalide » dans le journal

Le secret n'est pas le bon, ou l'horloge de votre serveur dérive. La signature n'est acceptée que dans une fenêtre de cinq minutes, ce qui empêche qu'un appel capté soit rejoué plus tard. Vérifiez que votre serveur est synchronisé.

Une commande abandonnée, refusée ou expirée

Elle se ferme toute seule, et le stock réservé est libéré. Un paiement refusé par la banque du client passe la commande en « échoué », ce qui lui laisse la possibilité de réessayer. Une demande annulée ou expirée la passe en « annulé ».

Une commande déjà payée n'est jamais annulée par une de ces notifications, même si elle arrive en retard : c'est le cas qui compte le plus, et il est gardé explicitement.

Versions

Ce comportement arrive avec WooCommerce 0.7.0, PrestaShop 0.5.0 et Magento 0.4.0. En dessous, seul l'encaissement était traité et ces commandes restaient en attente : demandez-nous la mise à jour.

Un remboursement fait depuis Virevo

Sur WooCommerce, il crée la ligne de remboursement correspondante dans la commande. Un remboursement lancé depuis votre administration n'est pas compté deux fois.

Sur PrestaShop et Magento, il est tracé sur la commande sans créer d'avoir. C'est délibéré : sur PrestaShop, un avoir créé automatiquement renverrait un second remboursement à Virevo, en boucle. L'écriture comptable reste votre décision.

« Virement instantané » n'apparaît pas au checkout

C'est voulu : l'extension masque le moyen de paiement tant qu'il ne peut pas aboutir, plutôt que de le proposer et d'échouer après le clic. Trois cas le déclenchent.

Un bandeau dans l'administration vous dit lequel des trois s'applique. Il ne se ferme pas : il disparaît quand la situation est corrigée.

Un client ne peut pas payer

Rien de tout cela

Écrivez à contact@virevo.fr avec le numéro de commande et l'heure approximative. Le journal des envois de webhook, côté tableau de bord, garde la trace de chaque tentative et de la réponse de votre serveur : on trouve vite.