VibeFox Yoco for OpenCart — Aide
Prérequis
OpenCart : 3.0.x (testé sur 3.0.5.0) ou 4.0.2 et ultérieur (testé sur 4.1.0.3).
PHP : 8.0 ou ultérieur.
Devise de la boutique : le rand sud-africain (ZAR) doit être une devise activée dans System > Localisation > Currencies. Yoco n'accepte que le ZAR. Lorsque le client paie dans une autre devise, le mode de paiement est masqué à la commande. Le montant de la commande doit être d'au moins R2.00.
Compte Yoco : un compte Yoco avec paiements en ligne. Vous avez besoin de ses clés secrètes, que vous trouvez dans le Yoco Business Portal sous Selling Online > Payment Gateway. Seules les clés secrètes sont saisies. Le webhook est enregistré par l'extension, et son secret de signature est renseigné pour vous.
Site public : Yoco envoie des webhooks à votre boutique, qui doit donc être accessible depuis Internet.
Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne sur un seul domaine.
Installation
Le téléchargement est un fichier zip unique contenant les paquets pour les deux versions d'OpenCart. Décompressez-le sur votre ordinateur. Il contient README.txt, le paquet OpenCart 3 wcp_yoco_pay-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_yoco_pay.ocmod.zip. Installez uniquement le paquet correspondant à votre version d'OpenCart. La clé de licence est la même pour les deux versions.
OpenCart 3
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_yoco_pay-oc3-(version).ocmod.zip. L'extension ne comporte aucune modification OCMOD : Extensions > Modifications n'a donc pas besoin d'être actualisé. Au lieu de l'installateur, vous pouvez copier le contenu du dossier upload de ce paquet dans le dossier racine de votre boutique.
2. Allez dans Extensions > Extensions et choisissez le type Payments. Trouvez VibeFox Yoco Pay Gateway et cliquez sur Install (le bouton vert +). Votre utilisateur administrateur doit avoir le droit de modifier la liste des extensions de paiement.
3. Cliquez sur Edit (le bouton en forme de crayon) pour ouvrir la page des réglages. Saisissez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page, puis cliquez sur Activate (voir License key).
4. Collez la clé secrète de test (sk_test_...) et, lorsque vous êtes prêt, la clé secrète de production (sk_live_...). Cliquez sur Save. Le webhook est enregistré pour chaque mode qui dispose d'une clé.
5. Activez Enable/Disable et cliquez sur Save. Effectuez un paiement de test avec une carte de test Yoco pendant que Test mode est activé, puis désactivez Test mode pour accepter de vrais paiements.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_yoco_pay.ocmod.zip. Ne renommez pas le fichier : OpenCart 4 prend le code de l'extension dans le nom du fichier, et un paquet renommé ne fonctionne pas.
2. Le paquet apparaît dans la liste des extensions installées sur la même page. Cliquez sur Install (le bouton vert +) à côté.
3. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox Yoco Pay Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton crayon).
4. Saisissez la clé de licence et les clés Yoco comme aux étapes 3 à 5 pour OpenCart 3. La page des réglages et ses champs sont les mêmes dans les deux versions. Seule l'URL du webhook diffère (voir Webhook) ; elle est enregistrée chez Yoco à l'enregistrement de la même manière.
Une nouvelle installation démarre avec le mode de paiement désactivé et le mode test activé.
Configuration
Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox Yoco Pay Gateway > Edit. Les sections sont listées à gauche ; le bouton Save situé sous la liste enregistre la page entière. Sans le droit de modifier l'extension, la page affiche les réglages mais ne peut pas les enregistrer.
Au-dessus des réglages, la page indique le mode actif (Test mode: the test secret key is used, no real money is charged. ou Live mode: real payments are accepted.). Elle vous avertit lorsque la devise par défaut de la boutique n'est pas le ZAR (Yoco n'est alors proposé que lorsque le client paie en ZAR, ou pas du tout si aucune devise ZAR n'est activée) et lorsque le mode actuel n'a pas de clé secrète, par exemple Enter the test secret key to offer Yoco at checkout (test mode).
À l'enregistrement, Title peut comporter 128 caractères au maximum, Sort Order doit être un nombre entier (les nombres négatifs sont autorisés), Total doit être un nombre égal ou supérieur à 0, et la zone géographique ainsi que les statuts de commande doivent exister. Sinon, rien n'est enregistré et la page indique le champ concerné. Ensuite, l'extension vérifie les clés et les secrets des webhooks et enregistre les webhooks. Les messages à ce sujet apparaissent au-dessus des réglages.
Yoco
Enable/Disable : Enable Yoco active ou désactive le mode de paiement. Par défaut : off.
Title : le nom du mode de paiement que voient les clients à la commande. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Card or Instant EFT (Yoco). 128 caractères au maximum ; si le champ est vide, les clients voient Card or Instant EFT (Yoco).
Description : le texte affiché au client à l'étape Confirm Order, au-dessus du bouton de confirmation. Par défaut : You will be redirected to the secure Yoco page to pay by card or Instant EFT.
Sort Order : la position de Yoco parmi les modes de paiement à la commande. Laissez vide ou saisissez un nombre entier.
Geo Zone : proposer Yoco uniquement pour les adresses de paiement situées dans la zone géographique sélectionnée. Par défaut : All zones. Les zones géographiques se configurent dans System > Localisation > Geo Zones.
Total : le total de la commande, dans la devise par défaut de la boutique, que doit atteindre une commande pour que Yoco soit proposé. Laissez vide pour proposer Yoco quel que soit le total. Yoco lui-même exige toujours au moins R2.00.
Clés d'API
Copiez les clés secrètes depuis le Yoco Business Portal sous Selling Online > Payment Gateway (la section comporte des liens vers cette page). Yoco propose une seule API pour les deux modes : c'est la clé qui détermine si un paiement est un test ou un vrai paiement. Le mode test n'utilise que la clé de test, et le mode production uniquement la clé de production.
Test mode : utilise la clé secrète de test. Aucun argent réel n'est débité ; payez avec les cartes de test Yoco. Par défaut : on. Désactivez-le pour accepter de vrais paiements. Tant qu'il est activé, les clients voient Test mode — use a Yoco test card; no real money is charged. à l'étape Confirm Order.
Test secret key : la clé secrète du mode test. Elle commence par sk_test_.
Live secret key : la clé secrète du mode production. Elle commence par sk_live_.
Une clé qui ne commence pas par le préfixe attendu n'est pas enregistrée : la page affiche une erreur, par exemple Yoco: the test secret key must start with sk_test_ — the previous value was kept. Les autres réglages sont enregistrés. Si Yoco signale lors de l'enregistrement du webhook qu'une clé appartient à l'autre mode, la page vous le indique.
Les clés et secrets enregistrés ne sont jamais réaffichés. Le champ reste vide et affiche Saved — leave empty to keep it. Ne saisissez une nouvelle valeur que pour la modifier. Pour supprimer une valeur enregistrée, cochez Clear the saved value sous le champ et cliquez sur Save.
Webhooks
Yoco confirme les paiements et les remboursements à l'URL affichée dans Webhook URL, dans cette section. Sur OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_yoco_pay/webhook, et sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_yoco_pay/payment/wcp_yoco_pay.webhook. Elle est construite à partir de l'adresse de la vitrine de votre installation OpenCart. Vous n'avez pas besoin de créer le webhook dans le portail Yoco. Lorsque vous enregistrez les réglages, l'extension enregistre l'URL auprès de Yoco pour chaque mode qui a une clé secrète mais pas de secret de webhook, et stocke le secret de signature dans le champ de ce mode. Elle réenregistre l'URL lorsque la clé secrète de ce mode ou l'URL du webhook change. Lorsque l'URL change, l'ancien enregistrement est supprimé.
Pour chaque mode (Test et Live), la section affiche l'état du webhook :
L'extension gère ces événements (ils sont également listés dans cette section) :
Les webhooks sans signature valide sont rejetés. Un événement doit être signé avec le secret du mode dans lequel le paiement a été effectué, si bien qu'un secret de test ne confirme jamais un paiement réel.
Test webhook secret : rempli automatiquement lors de l'enregistrement du webhook. Ne collez un secret (whsec_...) que si vous avez enregistré vous-même l'URL du webhook.
Live webhook secret : rempli automatiquement lors de l'enregistrement du webhook. Videz-le et enregistrez pour enregistrer à nouveau le webhook.
Un secret de webhook doit ressembler à whsec_ suivi d'un texte en base64. Toute autre valeur n'est pas enregistrée, et la valeur précédente est conservée. Vider un secret de webhook et enregistrer réenregistre le webhook.
Commandes
OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). La commande n'obtient un statut qu'une fois que Yoco a confirmé le paiement par l'API. Chacun des champs ci-dessous liste vos statuts de commande OpenCart.
Paid Order Status : le statut après un paiement confirmé. Par défaut : Processing.
On Hold Status : un paiement dont le montant ou la devise ne correspond pas au total de la commande place la commande dans ce statut, avec une note. Un paiement ultérieur d'un montant correct la règle. Par défaut : Pending, car OpenCart n'a pas de statut On hold. Vous pouvez créer votre propre statut dans System > Localisation > Order Statuses et le sélectionner ici.
Refunded Status : défini lorsque les remboursements atteignent le montant payé. Par défaut : Refunded.
Avancé
Debug log : écrit les requêtes et les webhooks Yoco dans yoco_p_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs, sur OpenCart 4 system/storage/logs). Le fichier ne peut pas être ouvert depuis le web et, à 5 Mo, il est déplacé vers yoco_p_debug.old.log.php. Les erreurs et avertissements, comme les requêtes échouées vers Yoco et les webhooks rejetés, sont toujours journalisés. Les clés, les secrets de webhook et les adresses e-mail sont masqués. Par défaut : off.
Log : affiche la taille et les dernières entrées du journal. Cliquez sur Clear log pour le vider.
Delete data : lorsqu'elle est activée, la désinstallation de l'extension supprime les réglages de la passerelle, le journal et les webhooks que l'extension a enregistrés chez Yoco. Les données de commande (identifiants des checkouts et paiements Yoco, remboursements) sont toujours conservées, car elles sont nécessaires aux remboursements. Par défaut : off.
Import / Export
Export : Download JSON enregistre les réglages dans un fichier JSON. Les clés secrètes et les secrets de webhook ne sont pas exportés.
Import : collez un JSON exporté précédemment et cliquez sur Import pour restaurer les réglages. Les secrets enregistrés sont conservés, et aucun webhook n'est enregistré par un import.
Paiement à la commande
Le mode de paiement s'affiche lorsque le client paie en ZAR et que le total de la commande est d'au moins R2.00. À l'étape Payment Method, le client le choisit (par défaut, Card or Instant EFT (Yoco)). À l'étape Confirm Order, le client voit votre description. OpenCart crée la commande à cette étape, toujours sans statut. Sur OpenCart 4, le client choisit le mode de paiement avec le bouton Choose du bloc des modes de paiement, dans la fenêtre Payment method options, et clique sur Confirm Order au bas de la page de commande. Lorsque le client clique sur Confirm Order, l'extension crée un checkout Yoco pour le total de la commande, en centimes, et envoie le client sur la page de paiement Yoco, où il paie par carte ou Instant EFT.
Après le paiement, le client revient dans votre boutique. La commande n'est marquée comme payée qu'après confirmation de Yoco : l'extension demande le checkout à Yoco lorsque le client revient, puis à nouveau lorsque le webhook signé arrive. La commande reçoit alors son statut de la façon standard d'OpenCart, avec les e-mails de commande habituels et la mise à jour du stock, et le client voit la page de confirmation de commande d'OpenCart avec Your payment with Yoco has been received. Si Yoco n'a pas encore confirmé le paiement lorsque le client revient, une page Payment confirmation affiche We are waiting for Yoco to confirm your payment. The order will be updated automatically — please do not pay again. avec les boutons Check again et Back to checkout ; le webhook définit le statut de la commande dès son arrivée. Sur OpenCart 4, lorsque le client revient de la page Yoco, une courte page intermédiaire rouvre l'adresse de retour de votre boutique, afin que le panier et la connexion du client soient conservés.
Si le client annule sur la page de Yoco, il revient à la commande avec le message The Yoco payment was cancelled. Your cart is saved — you can pay again or choose another payment method. Si le paiement échoue, le message est The Yoco payment was not successful. Please try again or choose another payment method., et une note est ajoutée à la commande. Le panier est conservé. Sur OpenCart 4, ces messages s'affichent au-dessus de la page de commande.
OpenCart 3 crée une nouvelle commande chaque fois que l'étape Confirm Order est affichée ; OpenCart 4 met à jour la commande en cours de passage. Avant un nouveau paiement, l'extension vérifie le panier : si une autre commande de ce même panier est déjà payée, le client accède directement à la page de succès. Les checkouts Yoco non payés de cette commande et du panier des dernières 24 heures sont d'abord vérifiés auprès de Yoco ; si l'un a été payé entre-temps, ce paiement est confirmé au lieu d'en créer un nouveau. Si le checkout ouvert de la même commande porte sur le même montant et le même mode et a été créé il y a moins de 30 minutes, le client reçoit à nouveau la même page Yoco. Sinon, un nouveau checkout Yoco est créé. Un changement du panier, y compris une nouvelle quantité, compte comme un nouveau panier qui nécessite son propre paiement.
OpenCart 4 garde la commande en cours de passage jusqu'à l'affichage de la page de succès, si bien qu'après un paiement annulé ou échoué le client paie de nouveau la même commande. Si cette commande a été close sans paiement entre-temps (par exemple, vous l'avez annulée), le client revient à la commande avec Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order., et le Confirm Order suivant paie une nouvelle commande.
Si Yoco ne peut pas démarrer le paiement, le client reste à l'étape Confirm Order avec Yoco could not start the payment. Please try again in a moment or choose another payment method. au-dessus du bouton, et la raison est écrite dans le journal et dans les notes de la commande. Une commande inférieure à R2.00 reçoit Yoco requires an order total of at least R2.00.
Le webhook fonctionne aussi lorsque la boutique est en mode maintenance, car OpenCart laisse passer les requêtes des extensions de paiement. Sur OpenCart 4, une action de démarrage de l'extension laisse passer le webhook et le retour du client.
Les paiements sont débités immédiatement sur la page de Yoco. L'extension n'a ni cartes enregistrées, ni abonnements ou paiements récurrents, ni formulaire de carte sur la boutique, ni autorisation et capture séparées, et elle ne fonctionne pas avec des devises autres que le ZAR.
Commandes et remboursements
Statuts de commande
Aucun statut (commande manquante) : le client a été envoyé vers Yoco et n'a pas payé, a annulé sur la page Yoco, ou Yoco n'a pas encore confirmé le paiement. Dans Sales > Orders, ces commandes ne s'affichent qu'avec le filtre Order Status réglé sur Missing Orders. Sur OpenCart 4.1, une telle commande peut aussi avoir le statut Voided, que OpenCart définit lorsque l'étape de confirmation est de nouveau affichée ; l'extension la compte comme une commande sans statut.
Paid Order Status (par défaut Processing) : le paiement a été confirmé. Une note indique le montant, les identifiants Yoco du paiement et du checkout, le mode et la manière dont le paiement a été confirmé (retour du client, webhook ou vérification avant une nouvelle tentative de paiement).
On Hold Status (par défaut Pending) : Yoco a signalé un montant ou une devise différents du total de la commande, par exemple parce que le panier a été modifié dans un autre onglet après le début du paiement. La note l'explique, et le client voit We received your payment and are reviewing it. We will contact you if anything else is needed. Vérifiez le paiement avant l'expédition. Si le client paie ensuite le bon montant lors d'une autre tentative, la commande passe au statut Paid Order Status.
Refunded Status (par défaut Refunded) : les remboursements ont atteint le montant payé.
Si un paiement arrive pour une commande ayant un autre statut, par exemple annulée ou remboursée, la commande n'est pas modifiée. Une note vous demande de rembourser le paiement dans le portail Yoco ou de restaurer la commande manuellement. Le client voit Your payment was received after the order had been cancelled. Please contact us — do not pay again.
Si un second paiement arrive pour une commande déjà payée, ou pour une autre commande d'un panier déjà payé, la commande n'est pas modifiée. Une note sur la commande payée vous demande de la rembourser dans le portail Yoco.
Les notes sont des entrées de l'History de la commande que le client ne voit pas. Elles commencent par le mot Yoco.
VibeFox Yoco Pay Gateway tab
Dans Sales > Orders, ouvrez une commande payée avec Yoco. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox Yoco Pay Gateway affiche le Checkout ID, le Payment ID, le Mode (avec la mention Test pour les paiements de test), le Status, les montants Paid / refunded, le formulaire de remboursement, le tableau Yoco checkouts of this order, l'historique des Refunds et les Yoco notes de la commande. L'onglet est affiché aux utilisateurs ayant accès à l'extension.
Remboursements
Dans l'onglet VibeFox Yoco Pay Gateway, saisissez le Amount (le montant non encore remboursé est pré-rempli), éventuellement un Reason (optional), puis cliquez sur Refund via Yoco. Confirmez la question Refund this amount through Yoco? This cannot be undone. Les remboursements totaux et partiels sont pris en charge. Vous devez avoir le droit de modifier l'extension (réglé dans System > Users > User Groups). Les remboursements sont calculés à partir du montant débité par Yoco : vous ne pouvez donc rembourser que ce que le client a réellement payé, même si la commande a été modifiée ensuite. Le remboursement est envoyé dans le mode dans lequel le paiement a été effectué (test ou production), la clé secrète de ce mode doit donc être définie. Un remboursement répété après une réponse perdue n'est pas versé deux fois.
Un remboursement réussi est ajouté à l'historique des remboursements et aux notes, avec l'identifiant de remboursement Yoco. Lorsque les remboursements atteignent le montant payé, la commande reçoit le Refunded Status sans notifier le client et sans remettre les produits en stock ; un remboursement partiel ne modifie pas le statut. Si Yoco refuse le remboursement, l'onglet affiche Yoco refused the refund: avec la raison, et aucun remboursement n'est enregistré. Si Yoco signale le remboursement comme en attente, l'onglet l'indique. Ne le répétez pas : il sera enregistré lorsque Yoco le confirmera par webhook. Les remboursements sont disponibles pour les commandes payées par un checkout Yoco. Une commande en On Hold Status n'a pas de paiement confirmé à rembourser ; remboursez-la dans le portail Yoco.
Les retours de produits dans Sales > Returns ne renvoient pas d'argent via Yoco.
Les remboursements effectués dans le portail Yoco arrivent par le webhook refund.succeeded et sont enregistrés dans l'historique des remboursements et dans les notes. Lorsqu'ils atteignent le montant payé, la commande reçoit le Refunded Status. Un remboursement supérieur au montant restant à rembourser n'est pas enregistré, et une note vous demande de vérifier la commande. Un remboursement échoué ajoute une note indiquant que l'argent n'a pas été restitué au client.
Clé de licence
L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox Yoco Pay Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox Yoco Pay Gateway > Edit, 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) et 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: opencart-payment-yoco et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les utilisateurs administrateurs disposant du droit Modify pour l'extension peuvent modifier la clé. Les textes du bloc suivent la langue de l'administration (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, l'extension continue de fonctionner avec le dernier statut connu.
Une clé fonctionne sur un seul domaine : l'adresse de la boutique indiquée dans la configuration d'OpenCart. 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, Yoco n'est pas affiché aux clients à la commande. Si un paiement est tout de même lancé, le client voit This payment method is not available. Please choose another one. Un utilisateur administrateur connecté à l'administration dans le même navigateur voit encore le mode de paiement dans la boutique, marqué (unlicensed — visible to admins only), afin que vous puissiez configurer et tester l'extension avant d'acheter une clé. Sur OpenCart 4, cet aperçu n'est pas disponible : la boutique ne voit pas la connexion administrateur, donc sans clé active le mode de paiement est masqué pour tout le monde. Après avoir ouvert une fois la page Edit, un rappel apparaît sur le Dashboard de l'administration. Fermez-le avec × pour le masquer pendant 7 jours. 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, l'extension continue de fonctionner, mais les mises à jour et le support nécessitent un renouvellement. Le statut est vérifié à nouveau automatiquement lorsque vous ouvrez le Dashboard de l'administration ou la page Edit : 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 de l'extension supprime toujours la clé de licence et le statut de licence.
Dépannage
Yoco n'apparaît pas à la commande : vérifiez que la licence est active, que Enable/Disable est activé et que le mode actuel dispose d'une clé secrète : Test secret key en mode test, Live secret key en mode production. Le client doit payer en ZAR, et le total de la commande doit être d'au moins R2.00. La page des réglages affiche un avertissement lorsque la clé est absente ou que la devise de la boutique n'est pas le ZAR. Vérifiez également que l'adresse de paiement se trouve dans la Geo Zone sélectionnée et que la commande atteint le Total défini dans les réglages.
Le paiement a abouti, mais la commande reste sans statut : le webhook ne fonctionne pas. Ouvrez la section Webhooks des réglages et vérifiez l'état du mode utilisé. S'il n'est pas enregistré, ou enregistré pour une autre URL, enregistrez les réglages. Si l'enregistrement échoue, la page affiche la raison. Si vous avez saisi le secret vous-même, vérifiez qu'il appartient au webhook de cette URL et de ce mode. La commande reçoit aussi son statut lorsque le client revient dans la boutique après avoir payé, et lorsque le client tente de payer à nouveau.
Impossible d'enregistrer le webhook : les paiements sont toujours confirmés lorsque les clients reviennent dans la boutique. Corrigez la raison affichée dans le message, par exemple la boutique doit être accessible depuis Internet, puis enregistrez à nouveau. Vous pouvez aussi enregistrer l'URL vous-même et coller le secret de signature.
Les webhooks sont rejetés : les webhooks rejetés sont écrits dans le journal. webhook secret not configured signifie qu'aucun secret de webhook n'est défini. invalid signature signifie que le secret appartient à un autre enregistrement ou mode. timestamp outside the tolerance signifie que l'horloge du serveur est fausse : les signatures ne sont acceptées que dans les 5 minutes autour de l'heure du serveur. checkout not completed yet — retry et could not confirm the checkout with Yoco — retry sont temporaires ; Yoco renvoie le webhook.
L'URL du webhook n'affiche que POST dans le navigateur : c'est normal. L'URL n'accepte que les requêtes de Yoco.
L'erreur à l'enregistrement The secret key must start with sk_test_ / sk_live_ : une clé a été collée dans le mauvais champ. La clé de test commence par sk_test_, la clé de production par sk_live_. La valeur précédente a été conservée.
Le client voit une erreur après Confirm Order : consultez le champ Log de la page de l'extension. Yoco is not available at the moment. Please choose another payment method. signifie que le mode actuel n'a pas de clé secrète.
Le client est informé qu'un paiement doit être vérifié : une tentative a été payée d'un montant différent, ou après l'annulation de la commande. Lisez les notes de l'onglet VibeFox Yoco Pay Gateway et traitez la commande ou remboursez le paiement dans le portail Yoco.
Le remboursement échoue avec un message concernant le mode : le paiement a été effectué en mode test ou production, et la clé secrète de ce mode n'est pas définie. Saisissez-la et réessayez.
Le remboursement échoue avec No answer from Yoco : rien n'a été enregistré dans OpenCart. Si Yoco a bien traité le remboursement, répétez le même remboursement : il ne sera pas remboursé deux fois.
Pour les développeurs : avant la création du checkout Yoco, l'extension déclenche l'événement OpenCart yoco_p_checkout_payload avec les données de la requête et la commande, afin qu'une autre extension puisse compléter la requête.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox Yoco Pay Gateway. La clé de licence et le statut de licence de cette extension sont toujours supprimés. OpenCart supprime toujours ses propres réglages de l'extension : Enable/Disable, Sort Order, Geo Zone, Total et les statuts de commande de la section Orders, qui reviennent à leurs valeurs par défaut lors d'une réinstallation. L'événement OpenCart de l'extension est également supprimé (sur OpenCart 4, ses événements et son action de démarrage, qui laissent passer le webhook et le retour du client en mode maintenance). Si Delete data est activé, les autres réglages de la passerelle (titre, description, mode test, clés, secrets de webhook, journalisation), le journal et les webhooks que l'extension a enregistrés chez Yoco sont supprimés. Si l'option est désactivée, ils sont conservés pour une réinstallation ultérieure. Les checkouts et remboursements Yoco sont toujours conservés, de sorte que les commandes payées auparavant peuvent encore être remboursées après une réinstallation. Les commandes existantes conservent leurs notes de paiement.
Sur OpenCart 4, pour supprimer aussi les fichiers de l'extension, allez dans Extensions > Installer après la désinstallation et cliquez sur Uninstall (le bouton orange −) à côté de VibeFox Yoco Pay Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge corbeille) pour supprimer le paquet téléversé.
Yoco est une marque de son propriétaire respectif. Cette extension n'est ni affiliée à Yoco ni approuvée par Yoco.
