VibeFox PayU India 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 : roupie indienne (INR). PayU India ne facture qu'en roupies. Votre boutique doit disposer de la devise INR (System > Localisation > Currencies). Pour les commandes dans d'autres devises, le mode de paiement est masqué lors du paiement.
Numéro de téléphone : PayU exige un numéro de téléphone pour chaque paiement. Gardez le champ Telephone dans votre tunnel de paiement afin que la commande en comporte un. Sur OpenCart 4, le tunnel de paiement ne demande pas de téléphone par défaut : si la commande n'en a pas, l'extension affiche son propre champ Phone à l'étape de confirmation (voir Paiement).
Compte PayU India : vous avez besoin de la Merchant Key et du Merchant Salt (v1) figurant dans PayU Dashboard > Payment Gateway > Key Salt Details. Basculez le tableau de bord en Test Mode pour voir la paire de test. Utilisez le Salt v1, et non le Salt v2.
Accès à Internet pour votre boutique : nécessaire pour le webhook facultatif. Sans lui, les commandes sont confirmées lorsque le client revient de PayU.
Clé de licence VibeFox : achetée sur vibefox.net. Une clé fonctionne pour 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_payu_india_payment-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_payu_india_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_payu_india_payment-oc3-(version).ocmod.zip. L'extension ne comporte aucune modification OCMOD : il n'est donc pas nécessaire d'actualiser Extensions > Modifications. 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 PayU India Payment 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. Collez votre clé de licence VibeFox dans le champ License key du bloc de licence situé en haut de la page, puis cliquez sur Activate (voir Clé de licence).
4. Saisissez la Merchant Key et le Salt de test ainsi que la Merchant Key et le Salt Live (voir Configuration).
5. Recommandé : dans PayU Dashboard > Webhooks, ajoutez l'URL du webhook affichée sur la page des réglages pour les paiements réussis et échoués.
6. Choisissez le Mode, activez Enable/Disable et cliquez sur Save. Testez un paiement en mode Test, puis passez en Live.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_payu_india_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 PayU India Payment Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton en forme de crayon).
4. Saisissez la clé de licence, les identifiants PayU 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. Seules les URL de retour et de webhook diffèrent (voir URL de retour et de webhook).
Une nouvelle installation démarre avec le mode de paiement désactivé et le mode Test sélectionné.
Configuration
Tous les réglages se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox PayU India Payment 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 vous avertit lorsque la clé ou le salt du mode actuel manque, affiche Le mode test est actif : les paiements sont envoyés à test.payu.in et aucun argent réel n'est débité. en mode Test, et affiche une erreur lorsque la devise par défaut de votre boutique n'est pas l'INR : la passerelle n'est alors proposée lors du paiement que si le client paie en INR. Sans le droit de modifier l'extension, la page affiche les réglages 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 (les nombres négatifs sont acceptés), Total doit être un nombre égal ou supérieur à 0, et la zone géographique et les statuts de commande doivent exister ; sinon, rien n'est enregistré. Les espaces et les sauts de ligne sont supprimés des clés et des salts, car un salt contenant un espace collé ferait échouer toutes les réponses PayU lors de la vérification. Si le mode de paiement est activé sans la clé et le salt du mode actuel, la page vous en avertit après l'enregistrement.
PayU India
La section commence par une brève note : cartes, NetBanking, UPI et portefeuilles sur la page de paiement hébergée par PayU ; résultats acceptés uniquement avec une signature PayU valide ; roupies uniquement.
Enable/Disable : Enable PayU India Payment Gateway active ou désactive le mode de paiement. Par défaut : désactivé.
Title : le titre du mode de paiement affiché au client lors du paiement. C'est aussi le nom du mode de paiement enregistré dans la commande. Par défaut : PayU India. 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 via Credit/Debit Card, NetBanking, UPI, or Wallets through PayU.
Sort Order : la position de PayU India parmi les modes de paiement lors du paiement. Laissez le champ vide ou saisissez un nombre entier.
Geo Zone : proposer PayU India uniquement pour les adresses de facturation 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 montant total du panier, dans la devise par défaut de la boutique, qu'une commande doit atteindre pour que PayU India soit proposé. Laissez le champ vide pour proposer PayU India quel que soit le montant.
Identifiants API
Copiez la Merchant Key et le Merchant Salt (v1) depuis PayU Dashboard > Payment Gateway > Key Salt Details. Basculez le tableau de bord en Test Mode pour obtenir la paire de test. La section comporte un lien Open the PayU Dashboard.
Mode : l'environnement PayU utilisé par les nouveaux paiements.
Les paiements déjà lancés conservent le mode dans lequel ils ont été lancés : leurs résultats sont vérifiés et leurs remboursements envoyés avec la clé et le salt de ce mode, même après un changement de mode.
Live Merchant Key : votre Merchant Key PayU de production.
Live Merchant Salt (v1) : votre Merchant Salt (v1) PayU de production. Il signe les requêtes et vérifie les réponses de PayU. Gardez-le secret.
Test Merchant Key : votre Merchant Key PayU de test, utilisée uniquement en mode Test.
Test Merchant Salt (v1) : votre Merchant Salt (v1) PayU de test, utilisé uniquement en mode Test.
Les salts enregistrés ne sont jamais réaffichés. Le champ reste vide et affiche Enregistré — laissez vide pour le conserver. Ne saisissez une nouvelle valeur que pour la modifier. Pour supprimer un salt enregistré, cochez Clear the saved salt on save sous le champ puis cliquez sur Save.
URL de retour et de webhook
Return URL : sur OpenCart 3 elle ressemble à https://your-store/index.php?route=extension/payment/wcp_payu_india_payment/back, sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_payu_india_payment/payment/wcp_payu_india_payment.back. Elle est transmise automatiquement à PayU à chaque paiement ; rien n'est à configurer.
Webhook URL : sur OpenCart 3 elle ressemble à https://your-store/index.php?route=extension/payment/wcp_payu_india_payment/webhook, sur OpenCart 4 à https://your-store/index.php?route=extension/wcp_payu_india_payment/payment/wcp_payu_india_payment.webhook. Facultatif mais recommandé : elle confirme les paiements même si le client ferme son navigateur avant de revenir. Ajoutez-la dans PayU Dashboard > Webhooks pour les paiements réussis et échoués. Copiez l'URL exactement telle qu'elle est affichée sur la page des réglages. Elle doit être accessible depuis Internet (pas d'authentification de base ni de blocage par un pare-feu). Le mode maintenance de la boutique ne la bloque pas.
Le webhook transmet le même résultat signé que le retour du client. Les webhooks sans hash PayU valide sont rejetés.
Commandes
OpenCart crée la commande à l'étape Confirm Order sans statut (une commande manquante). La commande ne reçoit un statut qu'après que PayU a envoyé un résultat correctement signé. Un paiement échoué ou annulé laisse la commande sans statut, et le client revient au paiement avec son panier conservé. Chaque champ ci-dessous liste vos statuts de commande OpenCart.
Order Status After Payment : un paiement réussi d'un montant attendu en INR, confirmé par verify_payment lorsque Verify Payment est activé. Par défaut : Processing.
Awaiting PayU Payment Status : PayU signale le paiement comme en attente (UPI collect, NetBanking en cours). La commande reçoit le statut après paiement lorsque PayU le confirme. Par défaut : Pending.
On Hold (Review) Status : PayU a signalé un paiement réussi nécessitant une vérification manuelle (voir Statuts de commande). Par défaut : Pending, car OpenCart ne dispose pas du statut On hold. Vous pouvez créer votre propre statut dans System > Localisation > Order Statuses et le sélectionner ici.
Payment Error Status : un paiement en attente que PayU a ensuite signalé comme échoué. Par défaut : Failed.
Refunded Status : défini lorsque tout le montant payé a été remboursé depuis la page de la commande. Par défaut : Refunded.
Cancelled Order Status : le statut que votre boutique utilise pour les commandes annulées. Un paiement reçu pour une telle commande la place en vérification au lieu de la marquer comme payée. L'extension ne définit jamais ce statut. Par défaut : Canceled.
Avancé
Verify Payment : revérifie chaque paiement réussi avec l'API verify_payment de PayU. Recommandé. Si la vérification ne peut pas être effectuée, la commande est placée en vérification au lieu d'être marquée comme payée. Par défaut : activé.
Enable Logging : enregistre les événements de la passerelle à des fins de dépannage dans payu_p_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web. Les erreurs et avertissements sont toujours enregistrés ; cette option ajoute les autres événements, comme chaque formulaire de paiement et chaque résultat PayU. Les clés, les salts et les données personnelles des clients ne sont jamais enregistré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 : supprime les réglages de la passerelle et le journal lors de la désinstallation de l'extension. Les commandes et les enregistrements de transactions PayU ne sont jamais supprimés. Par défaut : désactivé.
Import / Export
Export : Download JSON enregistre les réglages dans un fichier JSON. Les salts ne sont pas exportés.
Import : collez le JSON précédemment exporté et cliquez sur Import pour restaurer les réglages. Les salts enregistrés sont conservés.
Paiement
À l'étape Payment Method, le client choisit le mode de paiement (par défaut PayU India). À 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 du mode de paiement, dans la fenêtre Payment method options, puis clique sur Confirm Order en bas du tunnel de paiement. Si la commande n'a pas de numéro de téléphone, le bloc de confirmation d'OpenCart 4 affiche aussi le champ Phone avec l'indication PayU India exige le numéro de téléphone du payeur. Le numéro saisi là est transmis à PayU et conservé pour la tentative suivante ; le numéro de la commande est prioritaire. Lorsque le client clique sur Confirm Order, l'extension vérifie la devise, les identifiants du mode actuel et le numéro de téléphone de la commande. Sans numéro de téléphone, le client reste à l'étape avec PayU India exige un numéro de téléphone. Veuillez saisir votre numéro de téléphone et réessayer. Sinon, l'extension construit une demande de paiement signée pour le total de la commande en INR, et le navigateur l'envoie immédiatement vers la page de paiement hébergée par PayU. La page affiche Vous allez être redirigé vers PayU pour finaliser votre paiement. et un bouton Pay with PayU au cas où le navigateur ne poursuit pas automatiquement. Sur la page PayU, le client paie par carte, NetBanking, UPI ou portefeuille.
Chaque clic sur Confirm Order lance une nouvelle tentative avec son propre identifiant de transaction PayU (txnid), qui commence par le numéro de commande et est enregistré avec son montant et son mode. 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 : là-bas, une nouvelle tentative paie la même commande. Un paiement effectué sur une page de paiement plus ancienne encore ouverte pour la même commande est toujours accepté. Si une autre commande du même panier est déjà payée, en attente chez PayU ou en vérification, le client est dirigé directement vers la page de succès et aucun nouveau formulaire de paiement n'est créé. Une modification du panier, y compris une nouvelle quantité, est considérée comme un nouveau panier qui nécessite son propre paiement.
PayU renvoie le résultat avec le client et, si configuré, par webhook. Un résultat n'est accepté qu'avec un hash PayU valide, calculé avec la clé et le salt du mode dans lequel le paiement a été lancé, et uniquement pour un identifiant de transaction émis pour cette commande. Lorsque Verify Payment est activé, un résultat réussi est également vérifié via l'API verify_payment de PayU. Le montant payé doit être égal au montant de la tentative et au total de la commande, au paisa près, en INR. La commande n'est marquée payée qu'après confirmation de PayU de cette manière, puis elle reçoit son statut de la manière standard d'OpenCart, avec les e-mails habituels de commande et la mise à jour des stocks. L'extension gère ces résultats PayU :
Après un paiement réussi ou en attente, le client voit la page de succès de commande d'OpenCart. Un paiement en attente ajoute Votre paiement PayU est en attente. La commande sera mise à jour dès que PayU confirmera le résultat : inutile de payer à nouveau., une commande en vérification ajoute Votre paiement est en cours d'examen. Nous vous contacterons si autre chose est nécessaire., et une commande non payée au statut d'erreur de paiement ou annulée affiche Votre paiement PayU n'a pas été finalisé. Veuillez nous contacter au sujet de cette commande.
Après un paiement non réussi, le client revient au paiement avec un message : Le paiement n'a pas été finalisé. Veuillez réessayer ou choisir un autre mode de paiement., Le paiement a été annulé. Vous pouvez réessayer. ou, lorsque le résultat n'a pas pu être vérifié, Nous n'avons pas pu confirmer le résultat du paiement. Si votre compte a été débité, veuillez nous contacter avant de payer à nouveau. Si le résultat est encore en cours de traitement lorsque le client revient, une page affiche Nous confirmons votre paiement PayU. Si vous avez effectué le paiement, votre commande sera mise à jour sous peu — merci de ne pas payer à nouveau. avec Check again et Back to checkout. Sur OpenCart 4, les messages du tunnel de paiement s'affichent au-dessus de la page de 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 son paiement en attente a échoué ou si vous l'avez annulée), le client est renvoyé au paiement avec le message Votre commande précédente a été annulée ou son paiement a échoué. Veuillez confirmer à nouveau la commande. Si elle avait été payée puis annulée ou remboursée par la boutique, le message est Votre commande précédente a été annulée ou remboursée par la boutique. Veuillez confirmer à nouveau la commande pour payer avec une nouvelle commande. Si elle avait été payée pour un panier antérieur et que le panier a changé depuis, le message est Votre commande précédente a déjà été payée. Votre panier a changé depuis : veuillez confirmer à nouveau la commande pour payer le panier actuel. Le prochain Confirm Order paie une nouvelle commande. Une commande fermée n'est jamais affichée comme payée.
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 PayU).
L'extension ne facture qu'en INR et n'offre pas de traitement multidevise (MCP). Elle ne propose ni cartes enregistrées ni tokenisation, ni abonnements, ni formulaire de carte intégré à la boutique (seamless), ni gestion des paiements en plusieurs fois (EMI) ou des offres, ni paiement en un clic PayU.
Commandes et remboursements
Statuts de commande
Aucun statut (commande manquante) : le client a été envoyé vers PayU et n'a pas payé, ou le paiement a échoué ou été annulé. Dans Sales > Orders, ces commandes ne s'affichent qu'avec le filtre Order Status réglé sur Missing Orders.
Order Status After Payment (par défaut Processing) : le paiement a été confirmé. Une note affiche PayU payment successful. Transaction ID: …, Mode: …, Bank: …
Awaiting PayU Payment Status (par défaut Pending) : un paiement UPI ou NetBanking est encore en attente chez PayU. La commande reçoit le statut payé lorsque PayU le confirme.
On Hold (Review) Status (par défaut Pending) : le montant ou la devise payés diffère de la commande, l'API verify_payment n'a pas pu être jointe ou n'a pas encore confirmé le paiement, ou un paiement est arrivé pour une commande au statut Cancelled Order Status. La note indique la raison. Vérifiez la transaction dans le PayU Dashboard, puis définissez le statut payé, ou annulez la commande et remboursez le paiement. Lorsque seule la vérification a échoué, la commande est payée automatiquement à la prochaine réception du résultat.
Payment Error Status (par défaut Failed) : un paiement en attente a été refusé ou annulé par la suite. Un résultat réussi ultérieur paie quand même la commande.
Refunded Status (par défaut Refunded) : tout ce qui a été payé a été remboursé via l'extension.
Si PayU signale un autre paiement réussi pour une commande déjà payée, la commande ne change pas et une note vous invite à rembourser le doublon dans le PayU Dashboard. Un paiement pour une autre commande du même panier déjà payé laisse cette commande sans statut, avec une note sur la commande payée. Un paiement PayU pour une commande passée à un autre mode de paiement ne reçoit qu'une note.
Les notes sont des entrées de l'History de la commande, que le client ne voit pas.
Onglet VibeFox PayU India Payment Gateway
Dans Sales > Orders, ouvrez une commande payée avec PayU India. En bas de la page de commande, à côté de History et Additional, l'onglet VibeFox PayU India Payment Gateway affiche le PayU transaction ID (mihpayid), le Store transaction ID (txnid), l'Environment avec un badge Test mode pour les paiements test, le Status PayU, le Mode / bank du paiement, les montants Paid / refund requested (INR), le formulaire de remboursement, l'historique des remboursements et les PayU notes de la commande. Pour une commande en vérification, il affiche un rappel de vérifier le paiement. L'onglet est affiché aux utilisateurs ayant accès à l'extension.
Remboursements
Dans l'onglet VibeFox PayU India Payment Gateway, saisissez le Amount (le montant non encore remboursé est pré-rempli), éventuellement un Reason (optional), puis cliquez sur Refund via PayU. Confirmez la question Refund this amount through PayU? This cannot be undone. Les remboursements totaux et partiels sont pris en charge ; le montant doit être supérieur à zéro et ne pas dépasser le solde encore remboursable du paiement facturé par PayU. Vous devez disposer du droit de modifier l'extension (défini dans System > Users > User Groups). Le remboursement est envoyé via l'API de remboursement PayU avec la clé et le salt du mode dans lequel le paiement a été effectué ; ces identifiants doivent donc être renseignés. Une seule requête PayU par commande s'exécute à la fois. Si PayU refuse le remboursement, l'onglet affiche PayU refund failed: avec le message de PayU, et aucun remboursement n'est enregistré.
PayU met les remboursements en file d'attente et les traite de manière asynchrone ; le client reçoit généralement l'argent sous 5 à 7 jours ouvrés. L'historique des remboursements et les notes indiquent le montant, l'identifiant de requête PayU et le motif. Un remboursement total place la commande au 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 une fois que PayU a communiqué l'identifiant de transaction du paiement. L'extension ne vérifie pas ultérieurement le statut du remboursement.
Les retours de produits dans Sales > Returns ne renvoient pas d'argent via PayU. Les remboursements effectués dans le PayU Dashboard ne sont pas synchronisés avec OpenCart.
Clé de licence
L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence License — VibeFox PayU India Payment Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox PayU India Payment Gateway > Edit, au-dessus des réglages. 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 valable 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: opencart-payment-payu-india et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les 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 pourquoi, 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 pour 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-le dans votre compte vibefox.net.
Sans clé active, PayU India n'est pas affiché aux clients lors du paiement. 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 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 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
PayU India n'apparaît pas lors du paiement : vérifiez que la licence est active, que Enable/Disable est activé et que la clé et le salt du Mode sélectionné sont renseignés. Vérifiez que le client paie en INR, 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. La page des réglages affiche un avertissement en cas d'identifiants manquants ou de devise de boutique autre que l'INR.
Le paiement a abouti, mais la commande reste sans statut : le client n'est pas revenu dans la boutique et aucun webhook n'est arrivé. Ajoutez l'URL du webhook de la page des réglages dans PayU Dashboard > Webhooks pour les paiements réussis et échoués, et assurez-vous qu'elle est accessible depuis Internet.
Le webhook répond invalid_signature : le hash PayU ne correspond pas. Vérifiez que la clé et le salt du mode du paiement sont corrects et que le Salt v1 est utilisé, et non le Salt v2. Un résultat d'un paiement réel signé avec le salt de test, ou l'inverse, est également rejeté. Rien n'est modifié.
Le webhook répond not_configured : la clé ou le salt du mode dans lequel le paiement a été lancé manque. Saisissez-les ; PayU réessaiera le webhook.
Le webhook répond verify_unavailable : l'API verify_payment n'a pas encore pu confirmer le paiement. La commande est en vérification, et la prochaine transmission effectuera une nouvelle vérification.
Le webhook répond busy ou retry : le retour du client avec le même panier était en cours de traitement au même moment, ou le statut de la commande n'a pas pu être défini. PayU réessaiera le webhook. La raison est écrite dans le journal.
Le webhook répond ignored_unknown_txnid : la transaction n'a pas été lancée par cette boutique, par exemple une autre boutique utilisant le même compte PayU. Rien n'est modifié.
Le client voit PayU India exige un numéro de téléphone : la commande n'a pas de numéro de téléphone. Gardez le champ Telephone dans votre tunnel de paiement. Sur OpenCart 4, le client peut saisir le numéro dans le champ Phone du bloc de confirmation.
Le client voit This payment method is not available. Please reload the checkout page.: le mode de paiement a été désactivé entre-temps, les identifiants manquent, ou le paiement ne correspond plus à la commande. Le client doit recharger la page de paiement.
La commande est au statut de vérification : lisez les notes de l'onglet VibeFox PayU India Payment Gateway. La raison est un écart de montant ou de devise, une vérification échouée ou en attente, ou un paiement pour une commande annulée.
Le remboursement échoue : PayU transaction ID not found for this order. signifie que la commande n'a pas encore de paiement PayU. This payment was made in Test mode, but the Merchant Key/Salt of that mode are not set. (ou Live mode) signifie que vous devez d'abord saisir les identifiants de ce mode. Invalid refund amount: at most … INR can be refunded. signifie que le montant est supérieur au solde du paiement.
Trop peu d'informations dans le journal : les erreurs et avertissements sont toujours écrits ; activez Enable Logging pour voir aussi chaque formulaire de paiement et chaque résultat PayU.
Pour les développeurs : avant la signature de la demande de paiement, l'extension déclenche l'événement OpenCart payu_p_request_fields avec les champs de la requête et la commande. La clé, l'identifiant de transaction, le montant et les URL de retour ne peuvent pas être modifiés par celui-ci.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox PayU India Payment 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 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 réglages de la passerelle (titre, description, mode, clés, salts, vérification du paiement, journalisation) ainsi que le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les enregistrements de transactions PayU et les demandes de remboursement sont toujours conservés, de sorte que les commandes payées auparavant peuvent ê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 PayU India Payment Gateway dans la liste des extensions installées, puis sur Delete (le bouton rouge en forme de corbeille) pour supprimer le paquet envoyé.
PayU est une marque de son propriétaire respectif. Cette extension n'est ni affiliée à PayU ni approuvée par PayU.
