Retour

VibeFox PayU India for WooCommerce — Aide

Prérequis

WordPress: 5.8 ou ultérieur.

WooCommerce: 6.0 ou ultérieur, installé et activé. L'extension refuse de s'activer sans lui ; si WooCommerce est désactivé ultérieurement, l'extension ne fait rien et affiche un avis dans l'interface d'administration.

PHP: 8.0 ou ultérieur.

Store currency: roupie indienne (INR). PayU India facture exclusivement en roupies. Pour les autres devises, le moyen de paiement est masqué sur la page de paiement.

Phone number: PayU exige un numéro de téléphone pour chaque paiement. Rendez le champ téléphone obligatoire, ou au moins visible, sur votre page de commande.

PayU India account: vous avez besoin de la Merchant Key et du Merchant Salt (v1) disponibles 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.

Internet access to your site: nécessaire pour le webhook optionnel. Sans lui, les commandes sont confirmées lorsque le client revient depuis PayU.

VibeFox license key: achetée sur vibefox.net. Une clé fonctionne sur un seul domaine.

Installation

1. Dans WordPress, allez dans Plugins > Add New > Upload Plugin, choisissez le fichier ZIP de l'extension et cliquez sur Install Now. Vous pouvez également téléverser le dossier wcp_payu_india_payment dans /wp-content/plugins/ par FTP.

2. Cliquez sur Activate.

3. Ouvrez les réglages : WooCommerce > Settings > Payments > PayU India > Manage, ou cliquez sur Settings sous le nom de l'extension sur la page Extensions.

4. Saisissez votre clé de licence VibeFox dans le bloc de licence en haut de la page et cliquez sur Activate.

5. Saisissez la Merchant Key et le Salt de test ainsi que la Merchant Key et le Salt de production (voir Configuration).

6. Recommandé : dans PayU Dashboard > Webhooks, ajoutez l'URL de webhook affichée sur la page de réglages pour les paiements réussis et échoués.

7. Choisissez le Mode et cochez Enable/Disable. Testez un paiement en mode Test, puis passez en Live.

Configuration

Tous les réglages se trouvent sur une seule page : WooCommerce > Settings > Payments > PayU India. Au-dessus des champs, la page vous avertit si la clé ou le salt du mode actuel est manquant, affiche Test mode is active: payments go to test.payu.in and no real money is charged. en mode Test, et vous alerte si la devise de la boutique n'est pas INR (la passerelle est alors masquée lors du paiement).

Lors de l'enregistrement, les espaces et les sauts de ligne sont retirés des clés et des salts, car un espace collé par inadvertance ferait échouer la vérification de chaque réponse de PayU.

Général

Enable/Disable: Enable PayU India Payment Gateway active ou désactive le moyen de paiement. Par défaut : désactivé.

Title: le nom du moyen de paiement que voit le client lors de la commande. Par défaut : PayU India.

Description: la description du moyen de paiement que voit le client lors de la commande. Par défaut : Pay securely via Credit/Debit Card, NetBanking, UPI, or Wallets through PayU.

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.

Mode: l'environnement PayU utilisé pour les nouveaux paiements.

Test (Sandbox): utilise la clé et le salt de test ainsi que test.payu.in. Aucun argent réel n'est débité. Lors du paiement, la description est suivie de TEST MODE: no real money is charged. (par défaut).
Live (Production): utilise la clé et le salt de production ainsi que secure.payu.in.

Les remboursements sont toujours transmis au mode dans lequel le paiement a été effectué.

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.

Return and webhook URLs

Return URL: se présente sous la forme https://your-site/wc-api/payu_p_callback/. Elle est transmise automatiquement à PayU avec chaque paiement ; aucune configuration n'est nécessaire.

Webhook URL: se présente sous la forme https://your-site/wc-api/payu_p_webhook/. Facultative mais recommandée : elle confirme les paiements même si le client ferme son navigateur avant de revenir sur le site. Ajoutez-la dans PayU Dashboard > Webhooks pour les paiements réussis et échoués. Copiez l'URL exactement comme elle apparaît sur la page des réglages.

Avancé

Verify Payment: Double-check every successful payment with the PayU verify_payment API. Recommandé. Si la vérification ne peut pas aboutir, la commande est mise en attente au lieu d'être marquée payée. Par défaut : activé.

Enable Logging: Log gateway events for troubleshooting. Enregistré dans WooCommerce > Status > Logs, source wcp_payu_india_payment. Les erreurs et les avertissements sont toujours consignés ; cette option ajoute les autres événements. Les clés, les salts et les données personnelles des clients ne sont jamais enregistrés. Par défaut : désactivé.

Delete data on uninstall: Delete the plugin settings and logs when the plugin is deleted (orders are never deleted). Par défaut : désactivé.

Paiement

Le client choisit le mode de paiement (par défaut PayU India) et valide sa commande. Si la commande ne comporte pas de numéro de téléphone de facturation (ou de livraison), le client voit PayU India requires a phone number. Please enter your phone number and try again. Sinon, le client est dirigé vers une courte page Thank you for your order. You will be redirected to PayU to complete your payment., qui transmet une requête de paiement signée à la page de paiement hébergée de PayU. Le client y effectue son règlement par carte, NetBanking, UPI ou portefeuille électronique.

Chaque page de paiement reçoit son propre identifiant de transaction PayU, enregistré sur la commande avec son montant et son mode. Un paiement effectué sur une ancienne page de paiement encore ouverte pour la même commande reste accepté. Une commande payée, en attente ou annulée ne reçoit jamais de nouveau formulaire de paiement, de sorte que le bouton Précédent du navigateur ne peut pas déclencher un second 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 généré avec la clé et le salt du mode dans lequel le paiement a débuté, et uniquement pour un identifiant de transaction émis pour cette commande. Lorsque Verify Payment est activé, un résultat réussi est également contrôlé avec l'API verify_payment de PayU. Le montant payé doit correspondre au total de la commande au paisa près, en INR. La commande n'est marquée payée qu'une fois confirmée de cette manière par PayU. L'extension gère les résultats PayU suivants :

success: le paiement a été effectué. La commande est marquée payée lorsque tous les contrôles sont validés.
pending: un paiement UPI ou NetBanking est toujours en cours. La commande est mise en attente ; le résultat final arrive par le webhook.
failure: le paiement a été refusé ou annulé par le client. Une commande impayée en attente de ce paiement est marquée Échouée. Les commandes payées ne sont jamais modifiées.

Après un paiement réussi ou en attente, le client voit la page de confirmation de commande. Après un paiement infructueux, le client revient sur la page de commande avec un message : Payment was not completed. Please try again or choose a different payment method., Payment was cancelled. You may try again. ou, lorsque le résultat n'a pas pu être vérifié, We could not confirm the payment result. If your account was charged, please contact us before paying again. Ces messages fonctionnent sur la validation classique et sur le bloc Commande.

Le moyen de paiement fonctionne sur la validation classique de commande, sur le bloc Commande et sur la page Pay for order. Il est compatible avec le stockage haute performance des commandes de WooCommerce (HPOS).

L'extension facture exclusivement en INR et ne dispose d'aucun traitement multidevise (MCP). Elle ne prend pas en charge l'enregistrement des cartes ni la tokenisation, ni WooCommerce Subscriptions, ni formulaire de carte sur le site (seamless), ni la gestion des facilités de paiement (EMI) ou des offres, ni le paiement en un clic de PayU.

Commandes et remboursements

Statuts de commande

Pending payment: le client a été redirigé vers PayU et n'a pas encore payé.

Processing: le paiement a été confirmé. La note de commande indique l'identifiant de transaction PayU (mihpayid), le mode de paiement et le code bancaire. L'identifiant de transaction de la commande est le mihpayid de PayU. Les commandes contenant uniquement des produits virtuels téléchargeables passent à « Terminée », comme le fait WooCommerce par défaut.

On hold: le paiement est toujours en attente chez PayU (UPI ou NetBanking), le montant payé ou la devise 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 parvenu pour une commande qui avait été annulée. La note de commande en précise la raison. Vérifiez la transaction dans le PayU Dashboard pour la valider ou la rembourser. En cas d'échec de la vérification, la commande est confirmée automatiquement lors de la notification suivante du résultat.

Failed: le paiement a été refusé ou annulé. Le client peut tenter un nouveau paiement.

Si PayU signale un autre paiement réussi pour une commande déjà payée, une note vous invite à rembourser le doublon dans le PayU Dashboard.

Remboursements

Ouvrez la commande, cliquez sur Refund, saisissez le montant et cliquez sur Refund via PayU India (le bouton affiche votre Title). Les remboursements partiels et totaux sont pris en charge ; le montant doit être supérieur à zéro. Le remboursement est transmis via l'API de remboursement de PayU avec la clé et le salt du mode utilisé lors du paiement, de sorte que ces identifiants doivent être configurés. Si PayU refuse le remboursement, WooCommerce affiche le message de PayU et aucun remboursement n'est enregistré.

PayU place les remboursements en file d'attente et les traite de manière asynchrone ; le client reçoit généralement les fonds sous 5 à 7 jours ouvrés. La note de commande indique le montant, l'identifiant de requête PayU et le motif. L'extension ne vérifie pas le statut du remboursement ultérieurement.

Clé de licence

L'extension fonctionne avec une clé de licence VibeFox obtenue sur vibefox.net. Le bloc de licence se trouve en haut de WooCommerce > Settings > Payments > PayU India. Collez la clé dans License key et cliquez sur Activate. Le bloc affiche le statut, par exemple la date jusqu'à laquelle la licence est active et votre domaine. Utilisez Check now pour vérifier à nouveau le statut, Change key pour saisir une autre clé et Remove key pour la retirer de ce site. Le lien Manage licenses and domains in your account ouvre votre compte vibefox.net.

Une clé fonctionne sur un seul domaine. Retirer la clé d'un site ne libère pas son emplacement de domaine. Libérez l'emplacement dans votre compte vibefox.net.

Sans clé active, PayU India n'est pas affiché aux clients lors de la commande. Si un paiement est tout de même lancé, le client voit This payment method is not available. Please choose another one. Les gestionnaires connectés de la boutique voient toujours le moyen de paiement, marqué (unlicensed — visible to admins only), afin que vous puissiez configurer et tester l'extension avant d'acheter une clé. Un rappel apparaît sur la page Extensions et sur les pages WooCommerce. Les commandes existantes ne sont pas affectées : les paiements déjà initiés continuent d'être confirmés et les remboursements fonctionnent.

Lorsqu'une licence expire, l'extension continue de fonctionner, mais les mises à jour et l'assistance nécessitent un renouvellement. Le statut est revérifié automatiquement en arrière-plan.

Dépannage

PayU India does not appear at checkout: 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 la devise de la boutique (ou la devise de la commande sur la page Pay for order) est bien INR. La page des réglages affiche un avertissement pour chacun de ces problèmes.

The payment went through, but the order stays Pending payment: le client n'est pas revenu sur la boutique et aucun webhook n'est parvenu. Ajoutez l'URL de webhook des réglages dans PayU Dashboard > Webhooks pour les paiements réussis et échoués, et assurez-vous qu'elle est accessible depuis Internet.

Webhook answers invalid_signature: le hash PayU ne correspondait pas. Vérifiez que la clé et le salt du mode de paiement sont corrects et que le Salt v1 est utilisé, et non le Salt v2. La commande n'est pas modifiée.

Webhook answers not_configured: la clé ou le salt du mode dans lequel le paiement a débuté est manquant. Renseignez-les ; PayU réessaiera le webhook.

Webhook answers verify_unavailable: l'API verify_payment n'a pas encore pu confirmer le paiement. La commande est en attente, et la distribution suivante la vérifiera de nouveau.

The customer sees PayU India requires a phone number: rendez le champ téléphone obligatoire ou visible sur la page de paiement. Le numéro de téléphone de facturation est utilisé, ou celui de livraison si lui seul est renseigné.

The order is On hold: lisez la note de commande. La raison est un paiement UPI ou NetBanking en attente, une divergence de montant ou de devise, une vérification échouée ou en attente, ou un paiement pour une commande annulée.

Refund fails: PayU transaction ID not found for this order. signifie que la commande ne comporte aucun paiement PayU. Un message indiquant que Merchant Key/Salt du mode de paiement ne sont pas définis signifie que vous devez d'abord saisir les identifiants de ce mode.

Too little in the log: les erreurs et les avertissements sont toujours consignés ; activez Enable Logging pour voir également chaque requête et résultat PayU.

Developer hooks: le filtre payu_p_request_fields modifie les champs de la requête de paiement avant leur signature ; le filtre payu_p_icon remplace l'icône sur la page de paiement.

The license block shows an error: suivez le message affiché dans le bloc. Par exemple, si la clé est déjà utilisée sur un autre domaine, libérez un emplacement dans votre compte vibefox.net et cliquez sur Check now. Si l'adresse du site a changé, cliquez sur Check now pour activer la clé pour le nouveau domaine. Si le serveur de licences est inaccessible, l'extension continue de fonctionner avec le dernier statut connu.

Désinstallation

Désactiver l'extension conserve toutes les données. Pour la supprimer, désactivez-la et supprimez-la sur la page Plugins. La clé de licence et le statut de licence de cette extension sont toujours retirés. Les réglages de la passerelle et les journaux de cette extension (fichiers journaux et lignes du journal de la base de données de WooCommerce) ne sont supprimés que si Delete data on uninstall était activé. Sinon, ils sont conservés pour une réinstallation ultérieure. Les commandes existantes conservent leurs notes de paiement, identifiants de transaction PayU et identifiants de demande de remboursement.

PayU est une marque de son propriétaire respectif. Cette extension n'est ni affiliée à PayU ni approuvée par PayU.