VibeFox MultiSafepay for PrestaShop — Aide
Prérequis
PrestaShop : 8.0 à 9.x.
PHP : 8.0 ou ultérieur. Le module refuse de s'installer sur les anciennes versions de PHP.
Devise : la devise du panier doit être une devise acceptée par MultiSafepay, par exemple EUR, USD, GBP, PLN, CHF, SEK, DKK ou NOK. Pour les autres devises, le moyen de paiement n'est pas affiché au moment du paiement.
Compte MultiSafepay : vous avez besoin de la clé API de votre site web dans MultiSafepay Control. Les comptes test et production ont des clés différentes. Rien d'autre n'est à configurer dans MultiSafepay : l'adresse de notification est transmise avec chaque paiement.
Site public : MultiSafepay doit pouvoir atteindre votre boutique pour envoyer les notifications. Sinon, les commandes sont tout de même créées lorsque le client revient de MultiSafepay.
Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne sur un seul domaine.
Installation
1. Dans le back-office, allez dans Modules > Module Manager et cliquez sur Upload a module. Choisissez le fichier ZIP du module.
2. Une fois le téléversement terminé, cliquez sur Configure, ou retrouvez plus tard VibeFox MultiSafepay Gateway dans la liste des modules et cliquez sur Configure.
3. Saisissez votre clé de licence VibeFox dans le champ License key du bloc de licence en haut de la page Configure et cliquez sur Activate (voir Clé de licence).
4. Collez la clé API de test et/ou de production depuis MultiSafepay Control (voir Configuration).
5. Activez Enable/Disable et cliquez sur Save. Testez un paiement avec Test mode activé, puis désactivez-le pour accepter de vrais paiements.
À l'installation, le module crée le statut de commande MultiSafepay payment on hold. PrestaShop propose un nouveau module de paiement pour toutes les devises, tous les pays et tous les groupes de clients. Vous pouvez les restreindre dans Payment > Preferences.
Configuration
Tous les réglages se trouvent sur la page du module : Modules > Module Manager > VibeFox MultiSafepay Gateway > Configure. Chaque section possède son propre bouton Save, qui enregistre l'ensemble de la page. Au-dessus des champs, la page affiche Test mode: new payments use the MultiSafepay test environment (no real payments). tant que le mode test est activé, vous avertit lorsque le mode en cours n'a pas de clé API (le moyen de paiement n'est alors pas affiché au moment du paiement) et lorsque MultiSafepay n'accepte pas la devise par défaut de votre boutique. La page ne peut pas être enregistrée sans Title.
Paiement
Enable/Disable : Enable MultiSafepay active ou désactive le moyen de paiement. Par défaut : désactivé.
Title : le nom du moyen de paiement que le client voit au moment du paiement. C'est aussi le nom du moyen de paiement enregistré dans la commande. Par défaut : MultiSafepay. Obligatoire.
Description : le texte affiché sous le moyen de paiement au moment du paiement. Par défaut : Pay securely with iDEAL, cards, Bancontact, PayPal and more via MultiSafepay.
Clés API
Retrouvez la clé API dans MultiSafepay Control > Manage settings > Website settings. La section renvoie vers le compte test (testmerchant.multisafepay.com) et le compte production (merchant.multisafepay.com). Ils ont des clés différentes. Le mode test n'utilise que la clé test, et le mode production uniquement la clé production.
Test mode : Use the MultiSafepay test environment (no real payments). Il bascule à la fois l'adresse de l'API et la clé API. Les paiements déjà effectués continuent d'utiliser l'environnement dans lequel ils ont été effectués pour les vérifications de statut et les remboursements. Par défaut : activé. Tant qu'il est activé, les clients voient Test mode: no real payment will be made. sous le moyen de paiement.
Test API key : la clé API de votre compte test MultiSafepay.
Live API key : la clé API de votre compte production MultiSafepay.
Les clés enregistrées ne sont plus jamais affichées. Le champ reste vide et indique Saved — leave empty to keep it. Ne saisissez une nouvelle valeur que pour la modifier.
Clear saved keys : cochez une clé et cliquez sur Save pour la supprimer. Un champ vide conserve la valeur enregistrée.
Notifications
Rien à configurer. Le champ Notification URL affiche l'adresse envoyée à MultiSafepay avec chaque paiement. Avec des URL conviviales, elle ressemble à https://your-shop/module/wcp_multisafepay_gateway/webhook, éventuellement avec un code de langue comme /en/. Une notification indique seulement au module quel paiement a changé : le statut, le montant et la devise sont toujours lus depuis l'API MultiSafepay avec votre clé API avant qu'une commande ne soit créée ou modifiée. Les notifications concernant des paiements qui n'ont pas été lancés dans votre boutique sont ignorées. La notification fonctionne pendant que la boutique est en maintenance et n'est pas bloquée par la restriction par pays de votre boutique.
Commandes
Order status after payment : le statut d'une commande payée. Le statut est défini immédiatement, avec un seul changement de statut et un seul e-mail au client.
Avancé
Debug log : Log API calls and notifications écrit dans logs/mspg_debug.log.php, dans le dossier du module. Le fichier ne peut pas être ouvert depuis le web. Les erreurs et avertissements sont toujours journalisés. Les clés API et les données client ne sont jamais journalisées. Par défaut : désactivé.
Log : affiche la taille et les dernières entrées du journal. Cliquez sur Clear log pour le vider.
Delete data on uninstall : lorsqu'elle est activée, la désinstallation du module supprime les réglages et le journal. Les données de paiement MultiSafepay des commandes et le statut de commande restent toujours en place, de sorte que les remboursements des commandes anciennes restent possibles. La désactivation du module ne supprime jamais rien. Par défaut : désactivé.
Paiement
Au moment du paiement, le client choisit le moyen de paiement (par défaut MultiSafepay, avec le logo MultiSafepay) et confirme. Le module crée un paiement MultiSafepay pour le total du panier dans la devise du panier et envoie le client sur la page de paiement MultiSafepay. Là, le client choisit n'importe quel moyen de paiement activé sur votre compte MultiSafepay et paie. L'adresse de facturation, l'e-mail, le téléphone et la langue du client sont transmis à MultiSafepay, et le paiement apparaît sous la forme Order #, le numéro du panier et le nom de votre boutique. Aucune commande n'existe encore à ce stade.
Après le paiement, le client revient sur votre boutique. La commande n'est marquée comme payée qu'une fois MultiSafepay l'a confirmé : par la notification ou par une vérification auprès de l'API MultiSafepay lorsque le client revient. La commande est alors créée et le client voit la page standard de confirmation de commande avec Your payment with MultiSafepay has been received. Pour une commande en attente, la page affiche We are confirming your payment with MultiSafepay. The order will be updated automatically — please do not pay again. Si le paiement échoue plus tard, la page affiche Your MultiSafepay payment was not completed. Please contact us about this order. Si MultiSafepay n'a pas encore confirmé le paiement au retour du client (par exemple lorsqu'un virement bancaire est attendu), une page Payment confirmation affiche le même texte de confirmation et un bouton Check again ; la notification crée la commande dès que MultiSafepay signale le paiement.
Si le client annule sur la page MultiSafepay, ou si le paiement est refusé ou expire, il revient à l'étape de paiement avec son panier conservé et l'un de ces messages : The MultiSafepay payment was cancelled. You can try again or choose another payment method., The payment was declined. Please try again or choose another payment method. ou The payment session has expired. Please try again.
Avant de créer un nouveau paiement pour le même panier, le module vérifie le précédent auprès de MultiSafepay. S'il est déjà payé ou en cours de traitement, la commande est créée à la place d'un nouveau paiement. S'il est encore ouvert avec le même montant, la même page de paiement est réutilisée. Si le montant a changé, l'ancien paiement est annulé chez MultiSafepay afin qu'il ne puisse plus être payé.
Si MultiSafepay ne peut pas démarrer le paiement, le client reste à l'étape de paiement avec un court message, par exemple Could not connect to MultiSafepay. Please try again in a moment. ou MultiSafepay cannot accept this order amount or currency. Please choose another payment method. La raison technique est inscrite dans le journal.
Le module propose un seul moyen de paiement, qui mène à la page MultiSafepay. Il n'existe pas de moyens de paiement PrestaShop distincts pour chaque moyen de paiement MultiSafepay, ni de champs de carte intégrés, ni de boutons express Apple Pay ou Google Pay, ni d'abonnements, de paiements récurrents ou de cartes enregistrées, et aucune capture ni annulation depuis PrestaShop. Aucune donnée de panier n'est transmise : les moyens de paiement différé qui en ont besoin (par exemple Klarna, in3 ou Riverty) ne sont donc pas proposés par MultiSafepay pour ces commandes.
Commandes et remboursements
Statuts de commande
Aucune commande pour l'instant : le client a été envoyé vers MultiSafepay et n'a pas payé, ou MultiSafepay n'a pas encore confirmé le paiement. Seul le panier existe.
Payment accepted ou Delivered : MultiSafepay a confirmé le paiement (terminé ou expédié). Le statut suit Order status after payment. Le paiement est enregistré avec l'ID de commande MultiSafepay comme ID de transaction, et une note indique le paiement, le moyen de paiement et l'environnement.
MultiSafepay payment on hold before payment : le paiement n'est pas réglé (en cours d'examen par MultiSafepay) ou réservé (autorisé). Capturez un paiement réservé dans MultiSafepay Control pour recevoir l'argent. La commande passe automatiquement au statut payé lorsque MultiSafepay signale le paiement comme terminé.
MultiSafepay payment on hold after payment : MultiSafepay a confirmé un montant ou une devise différent du total du panier (par exemple, le panier a été modifié après le début du paiement), un paiement test a été effectué alors que le module est en mode production (aucun argent réel reçu, aucun paiement enregistré), ou le paiement a été effectué après l'annulation de la commande. La note l'explique. Vérifiez la transaction dans MultiSafepay Control, puis traitez ou remboursez la commande.
MultiSafepay payment on hold after a chargeback : MultiSafepay a signalé une rétrofacturation pour une commande payée : l'argent a été retiré de votre compte.
Payment error : un paiement non réglé ou réservé a ensuite été refusé, annulé, expiré ou invalidé.
Refunded : le paiement a été intégralement remboursé via le module.
Une commande payée ou remboursée n'est jamais rouverte par une notification tardive. Si un second paiement est effectué pour un panier déjà payé, la commande n'est pas modifiée. Une note vous invite à rembourser le doublon dans MultiSafepay Control.
Bloc de paiement MultiSafepay
La page de commande affiche un bloc MultiSafepay payment avec l'ID de commande MultiSafepay, le moyen de paiement, le statut, les montants payé et remboursé, un badge Test mode pour les paiements test, l'historique des remboursements et les MultiSafepay notes de la commande.
Remboursements
Dans le bloc MultiSafepay payment, saisissez le montant (le montant non encore remboursé est pré-rempli), éventuellement un motif, puis cliquez sur Refund via MultiSafepay. Confirmez la question Refund this amount through MultiSafepay? This cannot be undone. Les remboursements totaux et partiels sont pris en charge. Vous devez disposer du droit de modifier les commandes ; l'accès aux pages Modules n'est pas nécessaire. Les remboursements sont effectués dans le montant et la devise débités par MultiSafepay : après un écart de montant, vous pouvez donc rembourser jusqu'au montant que le client a réellement payé, et non le total de la commande. Le remboursement est envoyé à l'environnement dans lequel le paiement a été effectué (test ou production), la clé API de cet environnement doit donc être renseignée. Si MultiSafepay refuse le remboursement, le bloc affiche MultiSafepay refund failed: avec l'erreur de MultiSafepay, et aucun remboursement n'est enregistré. Un remboursement réussi est ajouté à l'historique des remboursements et aux notes, avec l'ID de remboursement MultiSafepay. Un remboursement total place la commande en Refunded. Un remboursement partiel ne modifie pas le statut. Les remboursements sont disponibles dès que MultiSafepay a signalé le paiement.
Le module ne crée pas d'avoirs. Les boutons de remboursement standard de PrestaShop sur la page de commande ne renvoient pas d'argent via MultiSafepay.
Les remboursements effectués dans MultiSafepay Control sont ajoutés aux notes lorsque MultiSafepay les signale. Le statut de la commande et les avoirs ne sont pas modifiés automatiquement. Mettez-les à jour manuellement si nécessaire.
Clé de licence
Le module fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox MultiSafepay Gateway est le premier bloc de la page Modules > Module Manager > VibeFox MultiSafepay Gateway > Configure, au-dessus des réglages. Saisissez la clé dans le champ License key et cliquez sur Activate. Ensuite, le bloc affiche la clé masquée, le statut (par exemple la date jusqu'à laquelle la licence est active et votre domaine) ainsi que les boutons Check now pour vérifier à nouveau le statut, Change key pour saisir une autre clé et Remove key pour retirer la clé de cette boutique. En dessous figurent la ligne Product: presta-payment-multisafepay et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les employés disposant de la permission Configure pour le module peuvent modifier la clé. Les textes du bloc suivent la langue du back-office (l'anglais et le russe sont inclus).
Si la clé n'est pas acceptée, le bloc indique la raison, par exemple Key not found, This key belongs to another product, Domain limit reached ou License expired on suivi d'une date. Après un changement d'adresse de la boutique, ou après avoir libéré un emplacement de domaine dans votre compte, cliquez sur Check now. Si le serveur de licences est injoignable, le module continue de fonctionner avec le dernier statut connu.
Une clé fonctionne sur un seul domaine : le domaine de la boutique principale, y compris dans une configuration multiboutique. Retirer la clé de la boutique ne libère pas son emplacement de domaine. Libérez l'emplacement dans votre compte vibefox.net.
Sans clé active, MultiSafepay n'est pas affiché aux clients au moment du paiement. Si un paiement est tout de même lancé, le client voit This payment method is not available. Please choose another one. La vitrine PrestaShop ne sait pas que vous êtes connecté au back-office : le moyen de paiement est donc aussi masqué pour vous. Vous pouvez configurer le module avant d'acheter une clé, mais vous ne pouvez pas le tester au moment du paiement. Un rappel apparaît dans Modules > Module Manager, sur l'onglet Alerts. Les commandes existantes ne sont pas affectées : les paiements déjà lancés sont toujours confirmés, et les remboursements fonctionnent.
Lorsqu'une licence expire, le module continue de fonctionner, mais les mises à jour et l'assistance nécessitent un renouvellement. Le statut est vérifié à nouveau automatiquement pendant votre travail dans le back-office : une fois par jour pendant les 14 premiers jours après la saisie de la clé, puis une fois par semaine. Aucune tâche cron n'est nécessaire. La désinstallation ou la réinitialisation du module supprime toujours la clé de licence et le statut de la licence.
Dépannage
MultiSafepay n'apparaît pas au moment du paiement : vérifiez que la licence est active, que Enable/Disable est activé, que le mode en cours dispose d'une clé API (Test API key en mode test, Live API key en mode production) et que la devise du panier est acceptée par MultiSafepay. La page des réglages affiche un avertissement lorsque la clé est absente ou que la devise de la boutique n'est pas acceptée. Dans Payment > Preferences, vérifiez que le module est autorisé pour la devise du panier, le pays du client et le groupe du client.
Le paiement a abouti, mais aucune commande n'a été créée : la notification n'a pas atteint votre boutique. Vérifiez que la boutique est accessible depuis Internet et que la clé API de l'environnement du paiement est renseignée, car le module lit le statut via l'API MultiSafepay. Si l'API est injoignable ou si la clé est absente, la notification répond ERROR et MultiSafepay la renouvelle. La commande est aussi créée lorsque le client revient sur la boutique et lorsqu'il tente de payer à nouveau le même panier.
La notification répond Invalid request : la requête ne contenait pas d'ID de transaction valide. Les notifications de MultiSafepay en contiennent toujours un.
Le client voit une erreur en choisissant MultiSafepay : activez Debug log et consultez le champ Log sur la page du module. This payment method is temporarily unavailable. Please choose another payment method. signale généralement une clé API erronée ou absente. MultiSafepay cannot accept this order amount or currency. Please choose another payment method. signifie que MultiSafepay a refusé le montant ou la devise.
La commande est en MultiSafepay payment on hold : lisez les notes dans le bloc MultiSafepay payment. Le paiement peut être non réglé ou réservé, le montant ou la devise payés peuvent différer du panier, un paiement test a pu arriver en mode production, le paiement a pu arriver après l'annulation de la commande, ou il y a eu une rétrofacturation. Vérifiez la transaction dans MultiSafepay Control.
Les paiements test ne confirment pas une commande réelle : un paiement test ne règle jamais une commande lorsque le module est en mode production ; la commande est alors mise en attente. Les anciens paiements test sont toujours vérifiés et remboursés avec la clé test après le passage en production.
Le remboursement échoue avec un message concernant l'environnement : le paiement a été effectué dans l'environnement test ou production, et la clé API de cet environnement n'est pas renseignée. Saisissez-la et réessayez.
Désinstallation
Allez dans Modules > Module Manager, ouvrez le menu à côté de VibeFox MultiSafepay Gateway et choisissez Uninstall. La clé de licence et le statut de licence de ce module sont toujours supprimés. Si Delete data on uninstall est activé, les réglages et le journal sont supprimés. S'il est désactivé, tous les réglages sont conservés pour une future réinstallation. Les données de paiement MultiSafepay des commandes et le statut de commande MultiSafepay payment on hold sont toujours conservés, afin que les commandes payées auparavant puissent encore être remboursées après une réinstallation. Les commandes existantes conservent leurs notes de paiement et leurs ID de transaction.
MultiSafepay est une marque déposée de son propriétaire respectif. Ce module n'est ni affilié à MultiSafepay ni approuvé par MultiSafepay.
