Retour

VibeFox Vindi 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 : le réal brésilien (BRL) doit être configuré dans System > Localisation > Currencies. Vindi ne facture qu'en BRL ; le mode de paiement n'est donc affiché que lorsque le client paie en BRL.

Compte Vindi : vous avez besoin de la clé d'API de votre compte Vindi. Le sandbox Vindi est un compte de test Vindi distinct, avec sa propre clé. Le boleto, le PIX et le BolePix doivent aussi être activés dans votre compte Vindi si vous voulez les proposer.

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_vindi_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_vindi_gateway.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_vindi_gateway-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 aussi 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. Repérez VibeFox Vindi 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 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, et cliquez sur Activate (voir Clé de licence).

4. Collez la Sandbox API key et, lorsque vous êtes prêt, la Live API key. Choisissez les Offered methods.

5. Copiez l'URL du webhook depuis les réglages dans Vindi (voir Configuration).

6. Activez Enable / Disable et cliquez sur Save. Testez un paiement en mode sandbox, puis désactivez Sandbox mode pour accepter des paiements réels.

OpenCart 4

1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_vindi_gateway.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 Vindi Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton crayon).

4. Saisissez la clé de licence, les clés d'API, les modes et le webhook comme aux étapes 3 à 6 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).

Une nouvelle installation démarre avec le mode de paiement désactivé et le mode sandbox activé.

Configuration

Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox Vindi Gateway > Edit. Les sections sont listées à gauche ; le bouton Save situé sous la liste enregistre la page entière. Au-dessus des réglages, la page affiche le mode, TEST MODE ou LIVE, et vous avertit lorsque la clé d'API du mode actuel est vide (le mode de paiement n'est alors pas affiché à la commande) ou lorsque la devise par défaut de la boutique n'est pas le BRL (le mode de paiement n'est alors affiché que lorsque le client paie en BRL). Sans le droit de modifier l'extension, la page affiche les réglages mais ne peut pas les enregistrer.

Lors de l'enregistrement, les clés sont enregistrées telles que saisies, sans espaces en début et en fin. Si aucun mode de paiement n'est sélectionné, la carte de crédit est enregistrée et la page affiche Choose at least one payment method — credit card was selected. Un Title vide ou dépassant 128 caractères, un Sort Order qui n'est pas un nombre entier (les valeurs négatives sont admises), un Total qui n'est pas un nombre égal ou supérieur à 0, ou une zone géographique ou un statut de commande inexistant ne sont pas acceptés : rien n'est enregistré et la page affiche le message, par exemple Enter a title for the payment method (1 to 128 characters).

Vindi

Enable / Disable : Enable Vindi payments active ou désactive le mode de paiement. Par défaut : désactivé.

Title : le nom du mode de paiement affiché à la commande. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Vindi. Obligatoire, 128 caractères maximum.

Description : le texte affiché au client à l'étape Confirm Order, au-dessus des champs de paiement. Par défaut : Pay by credit card on the secure Vindi page, or by boleto / PIX.

Sort Order : la position de Vindi parmi les modes de paiement à la commande. Laissez vide ou saisissez un nombre entier (les valeurs négatives sont admises).

Geo Zone : proposer Vindi uniquement pour les adresses de facturation de 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 avant que Vindi soit proposé. Laissez vide pour proposer Vindi quel que soit le total.

Clés d'API

Créez les clés dans le tableau de bord Vindi, sous Settings > API keys : sur app.vindi.com.br pour la production et sur sandbox-app.vindi.com.br pour le sandbox. La production et le sandbox ont des hôtes et des clés distincts. Chaque paiement mémorise l'endroit où sa facture a été créée, de sorte que les vérifications, les annulations et les remboursements utilisent toujours cet environnement.

Sandbox mode : crée les nouveaux paiements dans le sandbox Vindi, en utilisant sandbox-app.vindi.com.br avec la clé d'API sandbox. Les clients voient une note TEST MODE à la commande : Vindi sandbox: no real charges. Par défaut : activé. Désactivez-le pour accepter des paiements réels.

Live API key : la clé privée du compte Vindi de production. Elle n'est envoyée qu'à l'API de Vindi.

Sandbox API key : la clé privée du compte sandbox Vindi.

Les clés enregistrées ne sont jamais réaffichées. Le champ reste vide et affiche Saved — leave empty to keep it. Ne saisissez une nouvelle valeur que pour la modifier. Pour supprimer une clé enregistrée, cochez Clear the saved key on save sous le champ, puis cliquez sur Save.

Modes de paiement

Offered methods : les modes que les clients peuvent choisir. Par défaut : carte de crédit. Les modes doivent aussi être activés dans votre compte Vindi.

Credit card : le client paie sur la page de facture de Vindi.
Boleto : le boleto est émis immédiatement et la commande reste en statut en attente.
PIX : le QR code PIX et le code à copier-coller sont émis immédiatement, et la commande reste en statut en attente.
BolePix (boleto + PIX) : un boleto qui peut aussi être payé par PIX, émis immédiatement comme le boleto et le PIX.

Le boleto, le PIX et le BolePix nécessitent le CPF ou le CNPJ du client, demandé à la commande.

Notifications de paiement (webhook)

Le webhook indique à votre boutique qu'une facture a été payée, annulée, rejetée ou remboursée. Le champ Webhook URL de cette section affiche l'URL. Sur OpenCart 3, elle ressemble à https://your-store/index.php?route=extension/payment/wcp_vindi_gateway/webhook&token=..., sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_vindi_gateway/payment/wcp_vindi_gateway.webhook&token=.... Elle est construite à partir de l'adresse de la boutique de votre installation OpenCart et contient un jeton secret créé par l'extension. Copiez-la exactement telle qu'elle est affichée dans les réglages. Dans Vindi, allez dans Settings > Webhooks, à la fois dans le compte de production et dans le compte sandbox, ajoutez cette URL et sélectionnez ces événements :

bill_paid : une facture a été payée.
bill_canceled : une facture a été annulée.
charge_rejected : une tentative de paiement a été rejetée.
charge_refunded : un paiement a été remboursé, par exemple dans le tableau de bord Vindi.

Vindi ne signe pas ses notifications : les requêtes dont le jeton est absent ou erroné sont donc rejetées, et chaque notification amène seulement l'extension à relire la facture via l'API de Vindi avant qu'une commande ne change. L'URL fonctionne aussi lorsque la boutique est en mode maintenance (sur OpenCart 4, une action de démarrage de l'extension laisse passer le webhook et la page de statut du paiement). Les factures Vindi n'ont pas d'URL de retour : sans le webhook, un paiement par carte n'est pris en compte que lorsque le client confirme de nouveau la commande avec le même panier (la facture payée est alors retrouvée), et un paiement par boleto ou PIX lorsque le client ouvre à nouveau la commande dans son compte (My Account > Order History).

Commandes

OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). Elle n'obtient un statut qu'après que Vindi a signalé la facture ; la facture est toujours relue depuis Vindi. Les commandes en boleto, PIX et BolePix passent en statut en attente dès que la facture est émise. Chaque champ ci-dessous liste vos statuts de commande OpenCart. OpenCart n'a pas de statut En suspens : les statuts en attente et en suspens utilisent donc En attente par défaut ; les notes de commande les distinguent. Vous pouvez créer vos propres statuts dans System > Localisation > Order Statuses et les sélectionner ici.

Order Status After Payment : défini après un paiement Vindi vérifié. Par défaut : En cours de traitement.

Awaiting Vindi Payment Status : boleto, PIX ou BolePix émis à la commande ; Vindi confirme ensuite l'encaissement. Les données de paiement sont ajoutées au commentaire d'historique que voit le client. Par défaut : En attente.

Vindi Payment On Hold Status : la facture est en cours d'examen chez Vindi, la facture payée ne correspond pas à la commande (devise, montant, code de facture ou client Vindi), ou elle a été payée après l'annulation de la commande. Une note explique pourquoi. Par défaut : En attente.

Payment Error Status : Vindi a rejeté la tentative de paiement d'une commande en attente. Le client peut toujours payer la même facture ; un paiement ultérieur définit le statut après paiement. Par défaut : Échoué.

Canceled Status : la facture d'une commande en attente a été annulée chez Vindi. Lorsque vous placez une commande de cette extension dans ce statut, sa facture Vindi en attente est également annulée. Par défaut : Annulé.

Refunded Status : défini après un remboursement total du paiement depuis la page de commande. Par défaut : Remboursé.

Avancé

Debug log : journalise les appels API et les notifications dans wc_vdi_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. Les erreurs et avertissements sont toujours journalisés, même lorsque cette option est désactivée. Les clés, le jeton du webhook et les données clients ne sont jamais journalisés. 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 de l'extension supprime les réglages, le jeton du webhook, le cache des produits et le journal. Les commandes et les références de facture Vindi des commandes sont conservées. Par défaut : désactivé.

Import / Export

Export : Download JSON enregistre les réglages dans un fichier JSON. Les clés d'API ne sont pas exportées.

Import : collez un JSON exporté précédemment et cliquez sur Import pour restaurer les réglages. Les clés d'API enregistrées sont conservées.

Commande

À l'étape Payment Method, le client choisit le mode de paiement (par défaut Vindi). À l'étape Confirm Order, le client voit votre description. Lorsque plusieurs modes sont proposés, le bloc de paiement affiche Pay with et un choix entre carte de crédit, boleto, PIX ou BolePix. Lorsque le boleto, le PIX ou le BolePix est proposé, le bloc comporte aussi un champ CPF or CNPJ. Il est obligatoire lorsque la carte de crédit n'est pas proposée ; sinon, il affiche Required for boleto and PIX. Le champ est rempli à partir d'un champ personnalisé du client ou de l'adresse nommée CPF ou CNPJ lorsqu'elle contient un numéro valide. Le numéro est vérifié au moyen de ses chiffres de contrôle. S'il manque quelque chose, le client voit Please choose how you want to pay with Vindi., Please enter a valid CPF or CNPJ. ou Please enter your CPF or CNPJ — it is required for boleto and PIX. 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 ; le bloc de paiement avec ces champs et le bouton Confirm Order se trouvent en bas de la page de commande.

Lorsque le client clique sur Confirm Order, l'extension crée pour ce panier un client Vindi à partir de l'adresse de facturation, ainsi qu'une facture Vindi pour le total de la commande, en une seule échéance. Dans Vindi, la facture porte le nom Order # suivi du numéro de commande OpenCart.

Carte de crédit : le client est envoyé sur la page de facture de Vindi et y paie. La commande reste sans statut. Vindi n'a pas d'URL de retour pour les factures : le client n'est donc pas renvoyé automatiquement vers la boutique. La commande reçoit son statut lorsque Vindi confirme le paiement par le webhook. Si le client confirme de nouveau la commande avec le même panier et que la facture est déjà payée, la commande payée est confirmée et le client voit la page de succès.

Boleto, PIX et BolePix : la facture est émise immédiatement, la commande reçoit le statut en attente et le client arrive sur la page de succès de commande d'OpenCart. Là, ainsi que dans les détails de commande de son compte client, une section Payment affiche le QR code PIX, le code PIX à copier-coller avec un bouton Copy code et sa date d'expiration, ainsi qu'un bouton Open boleto. L'e-mail de commande et l'historique de commandes du client contiennent le code PIX et le lien du boleto. Si Vindi ne renvoie pas les données du boleto ou du PIX, la facture est annulée et le client voit une erreur.

La commande n'est marquée payée qu'après confirmation par Vindi : l'extension relit la facture depuis l'API de Vindi et vérifie la devise, que la facture appartient à la commande (code de facture et client Vindi) et que le montant payé est égal au total de la commande. La page de succès et la page de commande du compte client revérifient une commande en attente via l'API, au plus toutes les 15 secondes. Lorsque le paiement a été reçu, la page de succès affiche Your payment with Vindi has been received. Tant que le paiement n'est pas encore confirmé, elle affiche We are confirming your payment with Vindi. The order will be updated automatically — please do not pay again. Pour une commande annulée, elle affiche This order was cancelled and its Vindi bill can no longer be paid. Please contact us if you have already paid.

Tant que le paiement n'est pas confirmé, la page de succès et la page de commande du compte client (pour une commande en attente ou en suspens) affichent également un bouton Check payment status. Il vérifie la dernière facture Vindi de la commande. Une commande confirmée ou en attente revient à la page de succès avec ses données de paiement. Si la facture est toujours impayée, la section Payment indique Your payment has not been completed yet. If you have already paid, the order is confirmed as soon as Vindi reports the payment — please do not pay again. et propose les boutons Pay at Vindi, Check again et Back to checkout.

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 ; l'extension ne paie donc qu'une seule fois chaque panier. Si une autre commande du même panier est déjà payée, en attente d'un boleto ou d'un PIX, ou en suspens, le client est dirigé vers la page de succès et aucune nouvelle facture n'est émise. Une nouvelle tentative pour la même commande réutilise sa facture Vindi en attente si le mode, le montant et l'environnement sont identiques. Sinon, la facture précédente est annulée chez Vindi avant qu'une nouvelle ne soit créée, de sorte que le client ne puisse pas payer deux fois le même panier. 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. Après un paiement par carte rejeté ou une facture annulée, le client paie de nouveau la même commande. Si cette commande a été close sans paiement entre-temps, le client est renvoyé vers la commande, et le Confirm Order suivant paie une nouvelle commande : une commande annulée affiche This order was cancelled and its Vindi bill can no longer be paid. Please contact us if you have already paid., une commande échouée Your Vindi payment attempt was rejected. You can try again below. Sur OpenCart 4, les messages de la page de statut Payment qui ramènent à la commande s'affichent au-dessus de la page de commande.

Si Vindi ne peut pas démarrer le paiement, le client reste à l'étape Confirm Order avec un bref message au-dessus du bouton, par exemple pour vérifier le CPF / CNPJ, l'adresse de facturation (la rue, le code postal, la ville et l'État sont obligatoires pour le boleto), l'adresse e-mail ou le numéro de téléphone, ou pour indiquer que Vindi est temporairement indisponible. La raison technique est écrite dans le journal.

L'extension accepte les paiements uniques en une seule échéance. Elle ne prend pas en charge les abonnements ni la facturation récurrente, les cartes enregistrées, les paiements en plusieurs fois ni de formulaire de carte sur votre site : la carte est toujours saisie sur la page de Vindi. Le numéro de rue et le quartier ne font pas partie de l'adresse OpenCart et ne sont donc pas transmis à Vindi.

Commandes et remboursements

Statuts de commande

Aucun statut (commande manquante) : un paiement par carte a été lancé et Vindi ne l'a pas encore confirmé. 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.

Awaiting Vindi Payment Status (par défaut En attente) : un paiement par boleto, PIX ou BolePix est en attente. La commande passe à Order Status After Payment lorsque Vindi indique que la facture est payée.

Order Status After Payment (par défaut En cours de traitement) : le paiement a été confirmé. La commande reçoit son statut de la manière habituelle d'OpenCart, avec les e-mails de commande habituels et la mise à jour du stock. Une note affiche la facture Vindi, le montant et l'environnement.

Vindi Payment On Hold Status (par défaut En attente) : la facture Vindi est en cours d'examen, la facture payée ne correspond pas à la commande (devise, montant, code de facture ou client Vindi), ou la facture a été payée après l'annulation de la commande. La note l'explique. Vérifiez la commande et le stock, puis traitez la commande ou remboursez le paiement.

Payment Error Status (par défaut Échoué) : Vindi a rejeté la tentative de paiement d'une commande en attente. La note affiche la raison transmise par l'acquéreur, s'il y en a une. Le client peut toujours payer la même facture, et un paiement ultérieur fait passer la commande à Order Status After Payment.

Canceled Status (par défaut Annulé) : la facture d'une commande en attente a été annulée chez Vindi. Lorsque vous placez une commande dans ce statut dans OpenCart, sa facture Vindi en attente est également annulée, de sorte qu'elle ne peut plus être payée. Si ce n'est pas possible, une note vous invite à annuler la facture dans le tableau de bord Vindi.

Refunded Status (par défaut Remboursé) : le paiement a été intégralement remboursé par l'intermédiaire de l'extension.

Si une deuxième facture est payée 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 invite à rembourser un paiement dans Vindi. Les notes sont des entrées de l'History de la commande que le client ne voit pas.

Onglet VibeFox Vindi Gateway

Dans Sales > Orders, ouvrez une commande payée avec Vindi. En bas de la page de commande, à côté de History et Additional, l'onglet VibeFox Vindi Gateway affiche la Vindi bill, le Charge, l'environnement (avec un badge Sandbox pour les paiements sandbox), le Payment method, le Status, les montants Paid / refunded, le formulaire de remboursement, l'historique des remboursements, toutes les Bills of this cart et les Vindi notes de la commande. L'onglet est affiché aux utilisateurs ayant accès à l'extension.

Remboursements

Dans l'onglet VibeFox Vindi Gateway, saisissez le Amount (le montant non encore remboursé est prérempli), éventuellement un Reason (optional), puis cliquez sur Refund via Vindi. Confirmez la question Refund this amount through Vindi? This cannot be undone. Les remboursements totaux et partiels des paiements par carte et PIX sont pris en charge. Vous devez avoir le droit de modifier l'extension (défini dans System > Users > User Groups). Les remboursements sont limités au montant effectivement débité par Vindi ; ainsi, après un écart, vous pouvez rembourser jusqu'à ce que le client a payé, et non le total de la commande. Le remboursement est envoyé dans l'environnement du paiement (production ou sandbox) ; la clé d'API de cet environnement doit donc être renseignée.

Un remboursement total annule aussi la facture chez Vindi et place la commande au Refunded Status sans en informer le client et sans remettre les produits en stock, comme pour un changement manuel de statut. Un remboursement partiel ne modifie pas le statut. Un remboursement réussi est ajouté à l'historique des remboursements et aux notes, avec le débit Vindi et le statut. Si Vindi ou l'acquéreur refuse le remboursement, l'onglet affiche l'erreur et aucun remboursement n'est enregistré. Les remboursements sont disponibles une fois que Vindi a signalé la facture comme payée.

Vindi ne peut pas rembourser les paiements par boleto. L'onglet affiche Vindi cannot refund boleto payments. Return the money to the customer by bank transfer and record the refund manually.

Les retours de produits dans Sales > Returns ne renvoient pas d'argent via Vindi. Les remboursements effectués dans le tableau de bord Vindi arrivent par le webhook charge_refunded et sont ajoutés aux notes. Le statut de la commande n'est pas modifié automatiquement. Mettez-le à jour manuellement si nécessaire.

Clé de licence

L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox Vindi Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox Vindi 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-vindi 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 issue de 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, Vindi 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 factures déjà créées sont toujours confirmées par le webhook Vindi, 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

Vindi n'apparaît pas à la commande : vérifiez que la licence est active, que Enable / Disable est activé, que le client paie en BRL, qu'au moins un mode est sélectionné dans Offered methods et que le mode actuel dispose d'une clé d'API : Sandbox API key en mode sandbox, Live API key en mode production. La page des réglages affiche un avertissement lorsque la clé manque ou lorsque la devise de la boutique n'est pas le BRL. Vérifiez également que l'adresse de facturation 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 ou en statut en attente : le webhook ne fonctionne pas. Dans Vindi, vérifiez que le webhook existe dans le compte utilisé (production ou sandbox), que son URL correspond exactement à celle affichée dans les réglages, jeton compris, et que les quatre événements sont sélectionnés.

Le webhook répond Forbidden : le jeton dans l'URL est absent ou erroné. Copiez de nouveau l'URL depuis les réglages.

Le webhook répond Verification failed, retry later : la facture n'a pas pu être lue via l'API de Vindi (par exemple la clé d'API de cet environnement a été supprimée), le panier était mis à jour par une autre requête au même moment, ou le statut de la commande n'a pas pu être défini. Vindi renvoie la notification. Le journal indique la raison.

L'URL du webhook affiche Method not allowed dans le navigateur : c'est normal. L'URL n'accepte que les requêtes provenant de Vindi.

Le client voit This payment method is temporarily unavailable : Vindi a rejeté la clé d'API. Vérifiez la clé du mode actuel.

Le client voit une erreur après Confirm Order : consultez le champ Log sur la page de l'extension. Les erreurs sont journalisées même lorsque Debug log est désactivé. Pour le boleto, l'adresse de facturation doit comporter la rue, le code postal, la ville et l'État.

La commande est au statut suspendu : lisez les notes de l'onglet VibeFox Vindi Gateway (voir Statuts de commande), puis traitez la commande ou remboursez le paiement.

Anciennes commandes sandbox après le passage en production : chaque paiement conserve l'environnement de sa facture. Les vérifications, annulations et remboursements des commandes sandbox continuent d'utiliser la clé sandbox tant qu'elle reste dans les réglages.

Le remboursement échoue : lisez le message. Les paiements par boleto ne peuvent pas être remboursés via Vindi, et la clé d'API de l'environnement du paiement doit être renseignée. Sans le droit de modifier l'extension, l'onglet affiche You do not have permission to refund orders (modify this extension).

Pour les développeurs : avant la création du client et de la facture Vindi, l'extension déclenche les événements OpenCart wc_vdi_customer_request et wc_vdi_bill_request avec les données de requête et la commande.

Désinstallation

Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox Vindi 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 reprennent leurs valeurs par défaut lors d'une réinstallation. Les événements OpenCart de l'extension sont également supprimés (sur OpenCart 4, aussi son action de démarrage, qui laisse passer le webhook et la page de statut du paiement en mode maintenance). Si Delete data on uninstall est activé, les autres réglages (titre, description, mode sandbox, clés d'API, modes de paiement, journalisation), le jeton du webhook, le cache des produits et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les factures et remboursements Vindi des commandes 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 Vindi Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge corbeille) pour supprimer le paquet téléversé.

Vindi est une marque de son titulaire respectif. Cette extension n'est ni affiliée à Vindi, ni approuvée par Vindi.