VibeFox Paystack for OpenCart — Aide
Prérequis
OpenCart : 3.0.x (testé avec la version 3.0.5.0) ou 4.0.2 et ultérieures (testé avec la version 4.1.0.3).
PHP : 8.0 ou ultérieur.
Devise : la commande doit être dans une devise acceptée par Paystack : NGN, USD, GHS, ZAR, KES, XOF, EGP ou RWF, selon ce qui est activé sur votre compte Paystack. Dans les autres devises, le mode de paiement est masqué. En XOF et RWF, Paystack n'accepte que des montants entiers.
Compte Paystack : vous avez besoin des clés secrètes de votre compte Paystack : la clé secrète de test (sk_test_...) et/ou la clé secrète réelle (sk_live_...). Les clés publiques (pk_...) ne sont pas nécessaires, car le paiement s'effectue sur la page hébergée par Paystack. Dans le tableau de bord Paystack, vous définissez également l'URL du webhook de votre boutique (voir Configuration). Votre boutique doit être accessible depuis Internet pour recevoir les webhooks.
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_paystack_payment-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_paystack_payment.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_paystack_payment-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 Paystack Payment 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 paramètres. Collez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page, puis cliquez sur Activate (voir Clé de licence).
4. Collez vos clés secrètes depuis le tableau de bord Paystack et définissez l'URL du webhook dans le tableau de bord Paystack (voir Configuration).
5. Activez Enable/Disable et cliquez sur Save. Gardez Test Mode activé jusqu'à ce que vous ayez effectué un paiement test, puis désactivez-le pour accepter de vrais paiements.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_paystack_payment.ocmod.zip. Ne renommez pas le fichier : OpenCart 4 prend le code de l'extension à partir du 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 Paystack Payment, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton en forme de crayon).
4. Saisissez la clé de licence, les clés Paystack et le webhook comme aux étapes 3 à 5 pour OpenCart 3. La page des paramètres 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 test activé.
Configuration
Tous les paramètres se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox Paystack Payment > Edit. Les sections sont listées à gauche ; le bouton Save situé sous la liste enregistre la page entière. Au-dessus des paramètres, un encadré d'état indique le mode : Mode test : aucun argent réel n'est débité. ou Mode réel : les paiements réels sont acceptés. Il signale aussi lorsque la clé secrète du mode actuel est vide, lorsqu'une clé publique (pk_...) a été saisie dans un champ de clé secrète, lorsque le mode réel contient une clé de test (sk_test_...) ou que le mode test contient une clé réelle (sk_live_...), et lorsque Paystack n'accepte pas la devise par défaut de votre boutique. Tant qu'un problème de clé existe, le mode de paiement est masqué à la commande. Sans le droit de modifier l'extension, la page affiche les paramètres mais ne peut pas les enregistrer.
Lors de l'enregistrement, Title ne doit pas être vide ni dépasser 128 caractères, Sort Order doit être un nombre entier, 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é. Les problèmes de clés n'empêchent pas l'enregistrement : l'encadré d'état les signale.
Paystack
La section commence par une brève note : cartes, virements bancaires, USSD et argent mobile sur la page de paiement hébergée par Paystack, chaque paiement confirmé côté serveur via l'API Paystack, et les devises acceptées.
Enable/Disable: Enable Paystack Payment active ou désactive le mode de paiement. Par défaut : désactivé.
Title: le nom du mode de paiement affiché aux clients à la commande. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : Paystack. Obligatoire, 128 caractères maximum.
Description: le texte affiché au client à l'étape Confirm Order, au-dessus du bouton de confirmation. Par défaut : Pay securely using your debit card, credit card, or bank account via Paystack.
Sort Order: la position de Paystack parmi les modes de paiement à la commande. Laissez le champ vide ou saisissez un nombre entier.
Geo Zone: proposer Paystack uniquement pour les adresses de paiement 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 montant total du panier, dans la devise par défaut de la boutique, que la commande doit atteindre avant que Paystack ne soit proposé. Laissez le champ vide pour proposer Paystack quel que soit le montant.
Clés API
Copiez les clés secrètes depuis le tableau de bord Paystack, page Settings > API Keys & Webhooks. La section y renvoie par un lien.
Test Mode: utilise la clé secrète de test pour les nouveaux paiements, et aucun argent réel n'est débité. Désactivez-le pour accepter de vrais paiements avec la clé secrète réelle. Les paiements effectués dans l'autre mode continuent d'utiliser la clé de leur propre mode pour la vérification et les remboursements. Par défaut : activé. Lorsqu'il est activé, les clients voient MODE TEST ACTIVÉ. Aucun débit réel ne sera effectué. à l'étape Confirm Order.
Test Secret Key: votre clé secrète de test Paystack. Elle commence par sk_test_.
Live Secret Key: votre clé secrète réelle Paystack. Elle commence par sk_live_.
Les clés enregistrées ne sont jamais réaffichées. Le champ reste vide et affiche Enregistrée — laissez vide pour la conserver. Ne saisissez une nouvelle valeur que pour la modifier. Pour supprimer une clé enregistrée, cochez Clear the saved value sous le champ et cliquez sur Save.
Webhook
Le webhook indique à votre boutique qu'un paiement a été effectué, même si le client ne revient pas sur la boutique. Dans le tableau de bord Paystack, page Settings > API Keys & Webhooks, renseignez l'URL affichée dans Webhook URL de cette section, à la fois comme Test Webhook URL et comme Live Webhook URL. Sur OpenCart 3, elle a la forme https://your-store/index.php?route=extension/payment/wcp_paystack_payment/webhook, sur OpenCart 4 https://your-store/index.php?route=extension/wcp_paystack_payment/payment/wcp_paystack_payment.webhook. Elle est construite à partir de l'adresse de la boutique de votre installation OpenCart. Copiez l'URL exactement telle qu'elle est affichée dans les paramètres.
Paystack signe chaque webhook avec votre clé secrète : il n'y a donc rien d'autre à configurer. Les webhooks sans signature valide sont rejetés. L'extension utilise l'événement charge.success :
Les autres événements reçoivent la réponse OK et sont ignorés. Sans le webhook, une commande n'est confirmée que lorsque le client revient sur la boutique après avoir payé. Les virements bancaires et paiements USSD finalisés plus tard ne sont confirmés que par le webhook.
Commandes
OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante, missing order). La commande ne reçoit un statut qu'après que Paystack a confirmé le paiement via l'API. Chaque champ de statut ci-dessous répertorie vos statuts de commande OpenCart.
Autocomplete Order: lorsqu'il est activé, les commandes payées reçoivent le Complete Order Status au lieu du Paid Order Status. Par défaut : désactivé.
Paid Order Status: le statut attribué après un paiement confirmé. Par défaut : Processing.
Complete Order Status: le statut attribué après un paiement confirmé lorsque Autocomplete Order est activé. Par défaut : Complete.
Awaiting Payment Status: le client est revenu pendant que Paystack traitait encore le paiement (virement bancaire, USSD, argent mobile). La commande conserve ce statut jusqu'à ce que le webhook confirme le paiement. Par défaut : Pending.
On Hold (Review) Status: le paiement nécessite votre vérification (voir Statuts de commande). 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.
Failed Status: un paiement que Paystack traitait encore a échoué pour une commande en attente de paiement. Par défaut : Failed.
Refunded Status: le paiement a été entièrement remboursé depuis la page de la commande. Par défaut : Refunded.
Avancé
Debug log: écrit les événements Paystack et les appels API dans paystack_p_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web et, à 5 Mo, il est déplacé vers paystack_p_debug.old.log.php. Les erreurs et les avertissements sont toujours journalisés. Les clés et les données clients 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'il est activé, la désinstallation de l'extension supprime les paramètres de la passerelle et le journal. Les données de paiement enregistrées sur les commandes sont toujours conservées. Par défaut : désactivé.
Import / Export
Export: Download JSON enregistre les paramètres dans un fichier JSON. Les clés secrètes ne sont pas exportées.
Import: collez le JSON exporté précédemment et cliquez sur Import pour restaurer les paramètres. Les clés secrètes enregistrées sont conservées.
Paiement
À l'étape Payment Method, le client choisit le mode de paiement (par défaut Paystack). À l'étape Confirm Order, le client voit votre description et la mention Vous allez être redirigé vers la page sécurisée de Paystack pour finaliser le paiement. 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 du mode de paiement, dans la fenêtre Payment method options, puis clique sur Confirm Order en bas de la page de commande. Lorsque le client clique sur Confirm Order, l'extension lance une transaction Paystack pour le total de la commande dans la devise de la commande, avec l'e-mail du client, et envoie le client sur la page de paiement hébergée par Paystack. Le client y paie avec l'un des canaux activés sur votre compte Paystack. Le paiement contient le numéro de commande et le nom du client.
Après le paiement, le client revient sur votre boutique. La commande n'est marquée comme payée qu'une fois que Paystack l'a confirmé : lorsque le client revient et lorsque le webhook arrive, l'extension lit la transaction via l'API Paystack et vérifie la référence, le statut, le montant et la devise. La commande reçoit alors son statut de la manière standard d'OpenCart, avec les e-mails habituels de commande et la mise à jour du stock, et le client voit la page de confirmation de commande d'OpenCart.
Si le paiement est encore en cours de traitement, par exemple un virement bancaire, la commande reçoit le Awaiting Payment Status lorsque le client revient, et la page de succès affiche Merci. Votre paiement est en cours de confirmation par Paystack ; vous recevrez un e-mail de confirmation. Le webhook finalise la commande plus tard, et le client reçoit l'e-mail de statut de commande d'OpenCart lorsque la commande est payée ou que le paiement échoue. Pour une commande en cours de vérification, la page de succès affiche Votre paiement a bien été reçu et votre commande est en cours de vérification. Nous vous contacterons si quelque chose est nécessaire. Si Paystack est injoignable lorsque le client revient, ou n'a pas encore confirmé le paiement, une page Payment confirmation demande au client de ne pas payer à nouveau et propose Check again et Back to checkout ; le webhook met à jour le statut de la commande dès son arrivée.
Si le client clique sur Cancel payment sur la page Paystack, quitte la page sans payer ou si le paiement est refusé, la commande reste sans statut et le panier est conservé. Le client revient à la commande avec un message : Le paiement a été annulé. Vous pouvez réessayer ou choisir un autre mode de paiement., Le paiement n'a pas été finalisé. Vous pouvez réessayer ou choisir un autre mode de paiement. ou Votre paiement a été refusé. Vous pouvez réessayer ou choisir un autre mode de paiement. Sur OpenCart 4, ces messages s'affichent au-dessus de la page de commande.
Chaque nouvelle tentative (OpenCart 3 crée une nouvelle commande à chaque affichage de l'étape Confirm Order, OpenCart 4 met à jour la commande en cours de passage à la commande) lance une nouvelle transaction Paystack. Une page de paiement plus ancienne reste valide : si elle est payée plus tard, le paiement est toujours accepté. Avant le lancement d'un nouveau paiement, les tentatives ouvertes pour le même panier des dernières 24 heures sont vérifiées auprès de Paystack. Si le panier est déjà payé, en cours de vérification ou en attente d'un virement bancaire, le client est directement redirigé vers la page de succès et aucun second paiement n'est lancé. Si une autre commande du même panier est tout de même payée, cette commande reste sans statut et la commande payée reçoit une note indiquant de rembourser le doublon. Une modification du panier, y compris une nouvelle quantité, est considérée comme un nouveau panier qui nécessite son propre paiement.
Sur OpenCart 4, la commande est conservée jusqu'à l'affichage de la page de succès. Si cette commande a été fermée entre-temps sans paiement (par exemple si vous l'avez annulée), le client est renvoyé à la commande avec le message Votre commande précédente a été annulée sans paiement. Veuillez confirmer à nouveau la commande pour payer avec une nouvelle commande. Le prochain Confirm Order paie une nouvelle commande. Si cette commande avait déjà été payée pour un panier antérieur et que le panier a changé depuis, le client est ramené à la commande, et le prochain Confirm Order paie une nouvelle commande du panier actuel. Une commande fermée n'est jamais affichée comme payée.
Le lien de retour ne fonctionne qu'avec son propre jeton aléatoire. Un retour qui ne peut être associé à aucune commande mène à la commande avec le message Nous n'avons pas pu associer ce paiement à une commande. Si vous avez été débité, veuillez nous contacter.
Si Paystack ne peut pas lancer le paiement, le client reste à l'étape Confirm Order avec un bref message au-dessus du bouton, par exemple Paystack n'a pas pu lancer le paiement : suivi du motif indiqué par Paystack, ou Paystack est temporairement indisponible. Veuillez réessayer dans un instant ou choisir un autre mode de paiement. Le montant total de la commande doit être supérieur à zéro, et le client doit fournir une adresse e-mail valide.
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, l'extension ajoute pour cela sa propre action de démarrage, qui permet aussi au client de revenir depuis Paystack).
L'extension n'a ni formulaire de paiement intégré ou en fenêtre, ni cartes enregistrées, ni abonnements, ni paiements fractionnés ou sous-comptes, ni choix des canaux de paiement dans OpenCart.
Commandes et remboursements
Statuts de commande
Aucun statut (commande manquante) : le client a été envoyé sur Paystack et n'a pas payé, a quitté la page Paystack, ou Paystack 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.
Awaiting Payment Status (par défaut Pending) : le client est revenu pendant que Paystack traitait encore le paiement, par exemple un virement bancaire ou USSD. La commande passe au statut payé lorsque Paystack confirme le paiement. Si ce paiement n'est jamais finalisé, la commande reste dans ce statut jusqu'à ce que vous la modifiez.
Paid Order Status (par défaut Processing) ou Complete Order Status : le paiement a été confirmé. Le statut complet est utilisé lorsque Autocomplete Order est activé. Une note indique le montant, la référence Paystack, le numéro de transaction, le mode (test ou réel), le canal de paiement, le type de carte et les derniers chiffres pour les paiements par carte, ainsi que les frais Paystack payés par le client.
On Hold (Review) Status (par défaut Pending) : le montant ou la devise payé diffère de la commande (note Paystack amount or currency mismatch), ou le paiement est arrivé après l'annulation de la commande ou son passage à un autre statut sans paiement. La note explique ce qu'il faut vérifier. Traitez la commande ou remboursez le paiement.
Failed Status (par défaut Failed) : Paystack signale que la dernière tentative de paiement d'une commande en attente de paiement a échoué ou a été annulée. L'échec d'une tentative plus ancienne ne modifie pas la commande.
Si un second paiement arrive pour une commande déjà payée, la commande n'est pas modifiée. Une note vous demande de rembourser le paiement en double dans le tableau de bord Paystack. Un paiement qui arrive pour une commande dans un autre statut de traitement, par exemple Shipped, est seulement noté sur la commande.
Les notes sont des entrées de l'History de la commande que le client ne voit pas.
Onglet VibeFox Paystack Payment
Dans Sales > Orders, ouvrez une commande payée avec Paystack. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox Paystack Payment affiche la Transaction reference, le Mode avec le libellé Test pour les paiements test, le Status du paiement, la Transaction ID, le Channel et la Card, la date du paiement, les montants Paid / refunded, le formulaire de remboursement, l'historique des remboursements et les Paystack notes de la commande. L'onglet est affiché aux utilisateurs qui ont accès à l'extension.
Remboursements
Dans l'onglet VibeFox Paystack Payment, saisissez le Amount (le montant non encore remboursé est prérempli), éventuellement un Reason (optional), puis cliquez sur Refund via Paystack. Confirmez la question Rembourser ce montant via Paystack ? Cette action est irréversible. Les remboursements totaux et partiels sont pris en charge. Vous devez avoir le droit de modifier l'extension (défini dans System > Users > User Groups). Le remboursement est effectué sur la transaction qui a réglé la commande, avec la clé secrète du mode (test ou réel) dans lequel elle a été réalisée ; cette clé doit donc être renseignée. Les remboursements sont effectués dans le montant et la devise débités par Paystack : pour une commande en vérification après un écart de montant ou de devise, vous pouvez donc rembourser jusqu'au montant réellement payé par le client, et non le total de la commande. En XOF et RWF, les remboursements doivent être des montants entiers.
Paystack met les remboursements en file d'attente : la note et l'historique des remboursements affichent le statut renvoyé par Paystack, par exemple pending, et l'identifiant du remboursement. Si Paystack n'accepte pas le remboursement, l'onglet affiche Paystack refund failed: avec le motif, et aucun remboursement n'est enregistré. Un remboursement total place la commande en Refunded Status sans notifier le client et sans remettre les produits en stock, comme un changement de statut manuel. Un remboursement partiel ne modifie pas le statut. Les remboursements sont disponibles dès que Paystack a confirmé le paiement.
Les retours de produits dans Sales > Returns ne renvoient pas d'argent via Paystack. Les remboursements effectués dans le tableau de bord Paystack, ainsi que le statut final des remboursements mis en file d'attente par Paystack, ne sont pas synchronisés avec OpenCart. Si nécessaire, enregistrez-les manuellement.
Clé de licence
L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox Paystack Payment est le premier bloc de Extensions > Extensions > Payments > VibeFox Paystack Payment > Edit, au-dessus des paramètres. Collez 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-paystack 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 configurée dans 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, Paystack 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 administrateur connecté à l'administration dans le même navigateur voit toujours 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 à l'administration, 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 ou la page Edit de l'administration : une fois par jour pendant les 14 premiers jours suivant 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
Paystack n'apparaît pas à la commande : vérifiez que la licence est active, que Enable/Disable est activé, que le mode actuel dispose d'une clé secrète correcte (Test Secret Key avec sk_test_... en mode test, Live Secret Key avec sk_live_... en mode réel) et que la devise de la commande est acceptée par Paystack. L'encadré d'état en haut des paramètres signale le problème. Vérifiez aussi 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 paramètres.
Le paiement a été effectué, mais la commande reste sans statut : le webhook n'a pas atteint votre boutique et le client n'est pas revenu. Dans le tableau de bord Paystack, vérifiez que les URL Test Webhook URL et Live Webhook URL sont exactement celle affichée dans Webhook URL, et qu'aucun pare-feu ni aucune protection par mot de passe ne la bloque. Activez Debug log et consultez le champ Log pour voir les webhooks rejetés.
Le webhook répond Invalid signature : le webhook n'a pas été signé avec la clé secrète de test ou réelle saisie dans les paramètres, par exemple parce que les clés appartiennent à un autre compte Paystack. Saisissez les clés du compte qui envoie le webhook.
Le webhook répond Secret key not configured : aucune clé secrète n'est renseignée. Saisissez les clés secrètes dans les paramètres.
Le webhook répond Verification failed, Busy, retry later ou Order could not be updated, retry later : la transaction n'a pas pu être lue via l'API Paystack à ce moment, le panier était traité au même moment par le retour du client, ou le statut de la commande n'a pas pu être défini. Paystack renvoie le webhook. Le journal indique la raison.
Le webhook répond OK - unknown reference : le paiement n'a pas été effectué pour une commande de cette boutique, par exemple une page de paiement Paystack ou une autre intégration sur le même compte. Il est ignoré.
L'URL du webhook affiche Empty body dans le navigateur : c'est normal. L'URL n'accepte que les requêtes envoyées par Paystack.
Le client voit Payment gateway is not properly configured : la clé secrète du mode actuel est absente ou incorrecte. Corrigez-la comme l'indique l'encadré d'état en haut des paramètres. This payment method is not available. après Confirm Order signifie que le mode de paiement a été désactivé entre-temps ou que la commande ne correspond plus au panier : le client doit recharger la page de commande.
La commande est en statut de vérification après le paiement : lisez les notes dans l'onglet VibeFox Paystack Payment (voir Statuts de commande), puis traitez la commande ou remboursez le paiement.
La commande reste en statut d'attente de paiement : Paystack n'a pas encore confirmé le paiement. Vérifiez la transaction dans le tableau de bord Paystack et les paramètres du webhook. Si le client n'a jamais finalisé le paiement, modifiez le statut manuellement.
Pas de formulaire de remboursement dans l'onglet : l'onglet indique la raison : le paiement n'est pas encore confirmé, il est entièrement remboursé, votre groupe d'utilisateurs n'a pas le droit de modifier l'extension, ou la clé secrète du mode du paiement est absente.
Le remboursement échoue avec un message sur le mode : le paiement a été effectué en mode test ou réel, et la clé secrète de ce mode n'est pas configurée. Saisissez-la et réessayez.
Pour les développeurs : l'extension déclenche les événements OpenCart paystack_p_payment_request (la requête de transaction), paystack_p_supported_currencies et paystack_p_currency_decimals.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox Paystack Payment. La clé de licence et le statut de licence de cette extension sont toujours supprimés. OpenCart supprime toujours ses propres paramètres 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 sont supprimés, ce qui permet de laisser passer le webhook et le retour du client en mode maintenance). Si Delete data on uninstall est activé, les autres paramètres de la passerelle (titre, description, mode test, clés, autocomplétion, journalisation) et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une future réinstallation. Les données de paiement Paystack des commandes et les remboursements 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 Paystack Payment dans la liste des extensions installées, puis sur Delete (le bouton rouge en forme de corbeille) pour supprimer le paquet envoyé.
Paystack est une marque déposée de son propriétaire respectif. Cette extension n'est ni affiliée à Paystack ni approuvée par Paystack.
