VibeFox EveryPay for PrestaShop — Aide
Prérequis
PrestaShop : 8.0 à 9.x.
PHP : 8.0 ou ultérieur. Le module refuse de s'installer sur les versions antérieures de PHP.
Compte EveryPay : vous avez besoin du nom d'utilisateur API, du secret API et du nom du compte de traitement de votre boutique. Ils se trouvent dans le Merchant Portal d'EveryPay, dans les paramètres de votre boutique : le portail de démonstration pour le mode test, le portail de production pour les paiements réels. Les environnements de test et de production ont des identifiants distincts. Vous configurez aussi l'URL de callback de votre boutique dans les deux portails (voir Configuration).
Devise de la boutique : le compte de traitement définit la devise débitée, par exemple EUR3D1 débite en EUR. Le mode de paiement n'est proposé que pour les paniers dans cette devise.
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échargement terminé, cliquez sur Configure, ou retrouvez plus tard VibeFox EveryPay Payment dans la liste des modules et cliquez sur Configure.
3. Saisissez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page Configure, puis cliquez sur Activate (voir Clé de licence).
4. Saisissez le nom d'utilisateur API de test, le secret API de test et le nom du compte de traitement issus du Merchant Portal de démonstration. Laissez Test Mode activé.
5. Copiez l'URL de callback affichée sur la page de réglages dans la Callback notification URL de votre boutique dans le Merchant Portal.
6. Activez Enable/Disable, cliquez sur Save et passez une commande de test. Quand tout fonctionne, saisissez les identifiants de production, configurez aussi l'URL de callback dans le portail de production et désactivez Test Mode.
À l'installation, le module crée le statut de commande EveryPay 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 EveryPay Payment > Configure. Chaque section a son propre bouton Save, qui enregistre la page entière. Au-dessus des champs, la page affiche Mode test activé : les paiements sont envoyés à l'environnement de démonstration d'EveryPay, aucun argent réel n'est débité. tant que le mode test est activé. Elle vous avertit lorsque le mode de paiement est activé mais que le nom d'utilisateur API, le secret API ou le compte de traitement du mode en cours est manquant (le mode de paiement est alors masqué au paiement), et lorsque le compte de traitement débite une autre devise que la devise par défaut de la boutique. Les espaces et sauts de ligne collés avec les identifiants sont supprimés à l'enregistrement.
EveryPay
Enable/Disable : Enable EveryPay payment gateway active ou désactive le mode de paiement. Par défaut : off.
Title : le nom du mode de paiement que les clients voient au moment du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : EveryPay.
Description : le texte affiché sous le mode de paiement au moment du paiement. Par défaut : Pay securely by card or bank link on the EveryPay payment page.
Compte EveryPay
Le nom d'utilisateur API, le secret API et le nom du compte de traitement sont affichés dans le Merchant Portal d'EveryPay (paramètres de la boutique) : le portail de démonstration pour le mode test, le portail de production pour les paiements réels. La section contient des liens vers les deux portails.
Test Mode : lorsqu'il est activé, les paiements sont envoyés à l'environnement de démonstration d'EveryPay avec les identifiants de test. Aucun argent réel n'est débité. Par défaut : on. Tant qu'il est activé, les clients voient MODE TEST : environnement de démonstration d'EveryPay, aucun argent réel n'est débité. sous le mode de paiement.
Test API Username : le nom d'utilisateur API de l'environnement de démonstration.
Test API Secret : le secret API de l'environnement de démonstration.
Live API Username : le nom d'utilisateur API de l'environnement de production.
Live API Secret : le secret API de l'environnement de production.
Les secrets enregistrés ne sont jamais réaffichés. Le champ reste vide et affiche Enregistré — laissez vide pour le conserver. Saisissez une nouvelle valeur uniquement pour la modifier.
Clear saved API secrets : cochez un secret et cliquez sur Save pour le supprimer. Un champ vide conserve la valeur enregistrée.
Processing Account Name : le compte de traitement EveryPay, par exemple EUR3D1. Ce compte définit la devise débitée : le mode de paiement n'est proposé que pour les paniers dans cette devise. Le même nom de compte est utilisé dans les deux modes.
Notifications de paiement (callback)
Le callback indique à votre boutique qu'un paiement a été finalisé, afin que les commandes soient créées même si le client ferme le navigateur. Copiez l'URL affichée dans Callback notification URL dans la Callback notification URL de votre boutique dans le Merchant Portal d'EveryPay, en démonstration comme en production. Avec des URL conviviales, elle ressemble à ceci : https://your-shop/module/wcp_everypay_payment/callback. Copiez l'URL exactement telle qu'elle apparaît dans les réglages. La demande de paiement ne transporte pas d'URL de callback : elle doit donc être renseignée dans le portail.
Le callback ne transporte que des références de paiement. À sa réception, le module interroge l'API EveryPay sur le statut du paiement avec les identifiants de l'environnement où le paiement a été créé, et vérifie que la réponse correspond bien à ce panier. Les callbacks concernant un paiement que votre boutique n'a pas créé sont rejetés sans requête vers EveryPay. Sans callback, la commande est créée lorsque le client revient sur la boutique après le paiement, ou lorsque EveryPay renouvelle le callback.
Avancé
Debug log : enregistre les événements de paiement dans logs/wc_evp_debug.log.php, dans le dossier du module. Le fichier ne peut pas être ouvert depuis le web. Les erreurs et les avertissements sont toujours enregistrés, même lorsque l'option est désactivée. Les secrets API, les données de carte et les e-mails des clients ne sont jamais journalisés. Par défaut : off.
Log : affiche la taille et les dernières entrées du journal. Cliquez sur Clear log pour le vider.
Uninstall : supprime les réglages de la passerelle et les journaux lorsque le module est désinstallé. Les données de paiement EveryPay des commandes sont toujours conservées. Par défaut : off.
Paiement
À l'étape du paiement, le client choisit le mode de paiement (par défaut EveryPay) et confirme. Le module crée un paiement EveryPay unique pour le total du panier, dans la devise du panier, avec l'e-mail et l'adresse de facturation du client, puis envoie le client sur la page de paiement EveryPay. La langue de cette page suit la langue de la boutique (anglais, estonien, russe, letton, lituanien, finnois ou allemand ; sinon anglais). Le client y paie avec l'un des modes activés pour votre compte EveryPay. Aucune commande n'existe encore à ce stade.
Après le paiement, le client revient sur votre boutique. La commande n'est marquée payée qu'après confirmation par EveryPay : le module interroge l'API EveryPay sur le statut du paiement au retour et lors du callback. La commande est alors créée et le client voit la page de confirmation de commande habituelle. Si EveryPay traite encore le paiement, ou si son API est injoignable à ce moment, une page Payment confirmation affiche Votre paiement est en cours de confirmation par EveryPay. Vous recevrez un e-mail dès que la commande sera confirmée. et un bouton Check again ; le callback crée la commande dès qu'EveryPay confirme le paiement.
Si le paiement a échoué, le client revient au paiement avec le message Votre paiement EveryPay n'a pas abouti. Veuillez réessayer ou choisir un autre mode de paiement. Si le client a quitté la page de paiement sans payer, le message est Le paiement EveryPay n'a pas été finalisé. Vous pouvez réessayer ou choisir un autre mode de paiement. Le panier est conservé. Chaque nouvelle tentative crée un nouveau paiement EveryPay ; les tentatives précédentes sont mémorisées, de sorte qu'un paiement effectué avec un ancien lien reste reconnu.
Si EveryPay ne peut pas démarrer le paiement, le client reste au paiement avec un bref message, par exemple EveryPay est temporairement indisponible. Veuillez réessayer dans un instant ou choisir un autre mode de paiement. Les détails figurent dans le journal.
Le callback fonctionne même lorsque la boutique est en mode maintenance, et n'est pas bloqué par la restriction géographique de votre boutique.
Le module ne prend en charge que les paiements uniques. Il ne propose ni remboursements ni captures depuis PrestaShop, ni cartes enregistrées ou paiements en un clic, ni abonnements ou paiements récurrents, ni champs de carte intégrés, et il ne gère pas plusieurs devises.
Commandes
Statuts de commande
No order yet : le client a été envoyé vers EveryPay et n'a pas payé, le paiement a échoué ou a été abandonné, ou EveryPay n'a pas encore confirmé le paiement. Seul le panier existe.
Payment accepted : EveryPay a indiqué le paiement comme réglé ou autorisé. Le paiement est enregistré avec la référence de paiement EveryPay comme ID de transaction, et une note indique le montant, la devise et la référence. Pour un paiement autorisé, la note indique que les fonds sont réservés : si votre compte ne capture pas automatiquement, capturez le paiement dans le Merchant Portal d'EveryPay. Lorsqu'il est réglé plus tard, une note le précise.
EveryPay payment on hold : le paiement nécessite une vérification manuelle. Le montant ou la devise payés diffèrent du panier (par exemple, le panier a été modifié après le début du paiement), la commande avait été annulée avant l'arrivée du paiement, ou la commande utilise désormais un autre mode de paiement. La note l'explique et indique que la commande n'a pas été marquée comme payée. Vérifiez le paiement dans le Merchant Portal, puis livrez ou remboursez-le manuellement. Les callbacks ultérieurs pour ce paiement ne finalisent pas automatiquement la commande.
Si un second paiement est finalisé pour une commande déjà payée, la commande ne change pas. Une note vous demande de rembourser le paiement en double dans le Merchant Portal d'EveryPay.
Bloc de paiement EveryPay
La page de commande affiche un bloc EveryPay payment avec chaque tentative de paiement EveryPay de la commande : date, référence de paiement (avec un badge Test mode pour les paiements de test), référence de commande, montant, statut EveryPay et résultat. En dessous figurent les EveryPay notes de la commande, les plus récentes en premier.
Check EveryPay payment status : le bouton du bloc vérifie chaque paiement EveryPay de la commande auprès de l'API, du plus récent au plus ancien, applique le résultat comme décrit ci-dessus et ajoute une note avec le statut de chaque paiement. Le résultat s'affiche dans le bloc. Vous avez besoin du droit de modifier les commandes ; l'accès aux pages Modules n'est pas nécessaire. Utilisez-le lorsqu'un callback n'est jamais arrivé, par exemple pour voir une capture ou un remboursement ultérieur.
Remboursements
Les remboursements depuis PrestaShop ne sont pas pris en charge. Effectuez le remboursement dans le Merchant Portal d'EveryPay, puis mettez à jour le statut de la commande dans PrestaShop. Lorsque EveryPay indique un paiement comme remboursé ou contesté, le module ajoute seulement une note à la commande ; le statut de la commande ne change pas. Les boutons de remboursement standard de PrestaShop sur la page de commande ne renvoient pas d'argent via EveryPay.
Clé de licence
Le module fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox EveryPay Payment est le premier bloc de Modules > Module Manager > VibeFox EveryPay Payment > Configure, au-dessus des réglages. Saisissez la clé dans 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-everypay et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les employés disposant de l'autorisation 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 la libération d'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 : celui 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, EveryPay n'est pas affiché aux clients au moment du paiement. Si un paiement est tout de même lancé, le client voit Cette méthode de paiement n'est pas disponible. Veuillez en choisir une autre. La vitrine PrestaShop ne sait pas que vous êtes connecté au back-office : le mode de paiement est donc masqué pour vous aussi. Vous pouvez configurer le module avant d'acheter une clé, mais pas le tester au moment du paiement. Un rappel apparaît dans Modules > Module Manager, sous l'onglet Alerts. Les commandes existantes ne sont pas affectées : les paiements déjà lancés sont toujours confirmés, et la vérification du statut fonctionne.
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 licence.
Dépannage
EveryPay n'apparaît pas au moment du paiement : vérifiez que la licence est active, que Enable/Disable est activé, que le nom d'utilisateur API, le secret API et le Processing Account Name du mode en cours sont renseignés, et que la devise du panier est celle du compte de traitement. La page de réglages affiche un avertissement dans ces cas. 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 : le callback ne fonctionne pas. Vérifiez que l'URL de callback des réglages est renseignée comme Callback notification URL dans le Merchant Portal du mode utilisé (démonstration ou production). La commande est aussi créée lorsque le client revient sur la boutique après le paiement. Consultez le champ Log de la page du module : les erreurs sont toujours enregistrées.
Le callback répond Unknown payment, Unknown payment reference ou Payment does not belong to this order : le paiement n'a pas été créé par cette boutique ou ce panier, ou la réponse d'EveryPay ne correspond pas. Rien n'est modifié.
Le callback répond Not configured : les identifiants de l'environnement où le paiement a été créé sont absents, par exemple pour un paiement de test après la suppression des identifiants de test. Saisissez-les à nouveau ; EveryPay renouvelle le callback.
Le callback répond Payment status unavailable, Busy, please retry ou Order could not be created : l'API EveryPay n'a pas pu être jointe, une autre requête était en train de créer la commande au même moment, ou la commande n'a pas pu être créée (par exemple parce que le module est désactivé). EveryPay renouvelle le callback. La raison figure dans le journal.
Le client voit « EveryPay est temporairement indisponible » : EveryPay a refusé les identifiants ou n'a pas pu être joint. Vérifiez le nom d'utilisateur et le secret API du mode en cours.
Le client voit « Ce mode de paiement ne prend pas en charge la devise de la commande » : la devise du panier diffère de la devise du compte de traitement.
Le client reste sur la page Payment confirmation : EveryPay n'a pas encore finalisé le paiement. La commande est créée par le callback, ou lorsque le client clique sur Check again après confirmation du paiement par EveryPay.
La commande est en EveryPay payment on hold : lisez les EveryPay notes dans le bloc de la commande. Le montant ou la devise différait, ou la commande avait été annulée avant l'arrivée du paiement. Vérifiez le paiement dans le Merchant Portal, puis livrez ou remboursez-le manuellement.
Pour les développeurs, le README du module répertorie les hooks actionWcpEverypayOneoffRequest (modifier la demande de paiement) et actionWcpEverypayLocale (modifier la langue de la page de paiement).
Désinstallation
Allez dans Modules > Module Manager, ouvrez le menu à côté de VibeFox EveryPay Payment et choisissez Uninstall. La clé de licence et le statut de licence de ce module sont toujours supprimés. Si l'option Uninstall (supprimer les réglages de la passerelle et les journaux) est activée dans les réglages, les réglages de la passerelle et le journal sont supprimés. Si elle est désactivée, tous les réglages sont conservés pour une réinstallation ultérieure. Les données de paiement EveryPay des commandes et le statut de commande EveryPay payment on hold sont toujours conservés. Les commandes existantes conservent leurs notes de paiement et leurs ID de transaction.
EveryPay est une marque commerciale de son propriétaire respectif. Ce module n'est ni affilié à EveryPay ni approuvé par EveryPay.
