VibeFox PayPal for OpenCart — Aide
Prérequis
OpenCart : 3.0.x (testé avec la version 3.0.5.0) ou 4.0.2 et ultérieur (testé avec la version 4.1.0.3).
PHP : 8.0 ou ultérieur.
Compte PayPal : un compte PayPal Business avec une application d'API REST dans le PayPal Developer Dashboard. Vous avez besoin du Client ID et du Secret de l'application. Les applications sandbox et production ont des identifiants différents. Aucun webhook n'est nécessaire : l'extension confirme chaque paiement sur votre serveur pendant que le client est sur la page de paiement.
Devise : l'une des devises prises en charge par PayPal : AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, MXN, MYR, NOK, NZD, PHP, PLN, SEK, SGD, THB, TWD ou USD.
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_paypal_gateway-oc3-(version).ocmod.zip et le paquet OpenCart 4 wcp_paypal_gateway.ocmod.zip. N'installez que 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_paypal_gateway-oc3-(version).ocmod.zip. L'extension n'a aucune modification OCMOD, donc Extensions > Modifications n'a pas besoin d'être actualisé. Au lieu de l'installateur, vous pouvez copier le contenu du dossier upload de ce paquet dans le dossier racine de votre boutique.
2. Allez dans Extensions > Extensions et choisissez le type Payments. Repérez VibeFox PayPal 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 paramètres. Saisissez votre clé de licence VibeFox dans License key, dans le bloc de licence en haut de la page, puis cliquez sur Activate (voir License key).
4. Dans le PayPal Developer Dashboard, créez une application d'API REST (sandbox et/ou production) et copiez son Client ID et son Secret dans la section API credentials.
5. Choisissez Capture ou Authorize, activez Enable/Disable et cliquez sur Save.
6. Testez avec un compte acheteur sandbox PayPal, puis désactivez Sandbox mode et saisissez les identifiants de production.
OpenCart 4
1. Dans l'administration, allez dans Extensions > Installer, cliquez sur Upload et choisissez le fichier wcp_paypal_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 PayPal Gateway, cliquez sur Install (le bouton vert +), puis sur Edit (le bouton en forme de crayon).
4. Saisissez la clé de licence, les identifiants PayPal et l'action de paiement comme aux étapes 3 à 6 pour OpenCart 3. La page des paramètres et ses champs sont les mêmes dans les deux versions. L'extension ne modifie pas l'extension PayPal livrée avec OpenCart 4 : les deux peuvent être installées dans la même boutique.
Une nouvelle installation démarre avec la méthode de paiement désactivée et le mode sandbox activé.
Configuration
Tous les paramètres se trouvent sur la page de l'extension : Extensions > Extensions > Payments > VibeFox PayPal Gateway > Edit. Les sections sont listées à gauche ; le bouton Save sous la liste enregistre toute la page. Au-dessus des paramètres, la page vous avertit lorsque la méthode de paiement est activée mais que le Client ID ou le Secret du mode sélectionné est vide, et lorsque PayPal ne prend pas en charge la devise par défaut de la boutique. Dans les deux cas, la méthode de paiement est masquée au moment du paiement. Tant que le mode sandbox est activé, la page affiche Sandbox mode is on: payments go to the PayPal sandbox, no real money is moved. Sans le droit de modifier l'extension, la page affiche les paramètres mais ne peut pas les enregistrer.
À l'enregistrement, Title ne doit pas être vide (128 caractères maximum), 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 les statuts de commande doivent exister. Si une vérification échoue, rien n'est enregistré et la page liste les erreurs. L'enregistrement des paramètres supprime les jetons d'accès PayPal mis en cache, afin que les nouveaux identifiants soient utilisés immédiatement.
Général
Enable/Disable : Enable PayPal Gateway active ou désactive la méthode de paiement. Par défaut : désactivé.
Title : le nom de la méthode de paiement affiché au client lors du paiement. C'est aussi le nom de la méthode enregistré dans la commande. Par défaut : PayPal. Obligatoire, 128 caractères maximum.
Description : le texte affiché au client à l'étape Confirm Order, au-dessus du bouton PayPal. Par défaut : Pay with your PayPal account or a card via PayPal.
Sort Order : la position de PayPal parmi les méthodes de paiement au moment du paiement. Laissez le champ vide ou saisissez un nombre entier.
Geo Zone : proposer PayPal 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 total de la commande, dans la devise par défaut de la boutique, que la commande doit atteindre pour que PayPal soit proposé. Laissez le champ vide pour proposer PayPal quel que soit le total.
API credentials
Créez une application d'API REST dans le PayPal Developer Dashboard et copiez son Client ID et son Secret. La section contient des liens vers les applications sandbox et vers les applications de production. Seuls les champs du mode sélectionné s'affichent ; les identifiants des deux modes restent enregistrés.
Sandbox mode : les paiements sont envoyés au sandbox PayPal avec les identifiants sandbox ; aucun argent réel n'est déplacé. Par défaut : activé. Désactivez-le pour accepter des paiements réels. Les captures, annulations et remboursements utilisent toujours l'environnement dans lequel la commande a été payée. Tant qu'il est activé, le client voit Sandbox mode: pay with a PayPal sandbox buyer account — no real money is charged. à l'étape Confirm Order.
Sandbox Client ID : le Client ID de votre application d'API REST sandbox.
Sandbox Secret : le Secret de votre application d'API REST sandbox.
Live Client ID : le Client ID de votre application d'API REST de production.
Live Secret : le Secret de votre application d'API REST de production.
Les secrets enregistrés ne sont jamais affichés à nouveau. Le champ reste vide et indique Saved — leave empty to keep it. Ne saisissez une nouvelle valeur que pour la modifier. Pour supprimer un secret enregistré, cochez Clear the saved secret on save sous le champ et cliquez sur Save.
Payment
Payment action : ce qui se passe lorsque le client approuve le paiement. Par défaut : Capture.
Orders
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 PayPal a répondu à la capture ou à l'autorisation sur votre serveur. Un paiement refusé laisse la commande sans statut, et le client reste à l'étape Confirm Order. Chaque champ ci-dessous liste vos statuts de commande OpenCart.
Order Status After Payment : la capture est terminée, y compris lorsqu'une autorisation est capturée ou qu'une capture en attente est finalisée dans l'onglet de la commande. Par défaut : Processing.
Awaiting Payment Status : la capture est PENDING chez PayPal (examen du paiement, fonds non encore encaissés). Par défaut : Pending.
Authorized Status : action de paiement Authorize : les fonds sont réservés, mais pas encore payés. Par défaut : Pending.
On Hold (Review) Status : PayPal a prélevé un montant, mais le paiement n'a pas pu être lu, ou le montant ou la devise ne correspond pas à la commande. Une note indique ce qu'il faut vérifier. Par défaut : Pending, car OpenCart n'a pas de statut On hold. Vous pouvez créer vos propres statuts dans System > Localisation > Order Statuses et les sélectionner ici.
Voided Status : l'autorisation a été annulée dans l'onglet de la commande et les fonds réservés ont été libérés. Par défaut : Canceled.
Refunded Status : le paiement est entièrement remboursé. Les remboursements partiels ajoutent seulement une note. Par défaut : Refunded.
Failed Status : une capture en attente a été refusée par PayPal. Par défaut : Failed.
Advanced
Debug log : enregistre les requêtes API dans wc_plg_debug.log.php, dans le dossier des journaux d'OpenCart (storage/logs). Le fichier ne peut pas être ouvert depuis le web ; à 5 Mo, il est renommé en wc_plg_debug.old.log.php. Les erreurs et avertissements sont toujours enregistrés, même lorsque cette option est désactivée. Les identifiants, jetons et données des acheteurs 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 : si cette option est activée, la désinstallation de l'extension supprime les paramètres de la passerelle et le journal. Les jetons mis en cache sont toujours supprimés. Les données de paiement des commandes (identifiants PayPal des commandes, remboursements) sont toujours conservées, de sorte que les commandes payées auparavant peuvent encore être remboursées, capturées ou annulées après une réinstallation. Par défaut : désactivé.
Import / Export
Export : Download JSON enregistre les paramètres dans un fichier JSON. Les secrets ne sont pas exportés.
Import : collez un JSON exporté précédemment et cliquez sur Import pour restaurer les paramètres. Les secrets enregistrés sont conservés.
Paiement
À l'étape Payment Method, le client choisit la méthode de paiement (par défaut PayPal). OpenCart crée la commande à l'étape Confirm Order, toujours sans statut. Le client y voit votre description et le bouton PayPal. Un clic sur le bouton crée sur votre serveur une commande PayPal pour le total de la commande, dans la devise de la commande. Le montant est toujours calculé sur le serveur, jamais dans le navigateur. Sur OpenCart 4, le client choisit la méthode de paiement avec le bouton Choose du bloc de la méthode de paiement, dans la fenêtre Payment method options ; la description et le bouton PayPal apparaissent alors dans le bloc de confirmation en bas de la page de paiement, avec le bouton Confirm Order.
Le client approuve le paiement dans la fenêtre PayPal avec un compte PayPal ou une autre source de financement proposée par PayPal. Le paiement affiche alors PayPal payment approved. Completing your order… et finalise la commande automatiquement. Si le client clique sur Confirm Order sans approuver de paiement, le message est Please click the PayPal button and approve the payment first.
Votre serveur lit ensuite la commande PayPal et vérifie qu'elle est approuvée, qu'elle a été créée lors de ce paiement, qu'elle n'appartient pas à une autre commande, et que son montant et sa devise correspondent à la commande. Ce n'est qu'alors que le paiement est capturé (ou autorisé). La commande n'est marquée comme payée qu'après la confirmation de PayPal. Elle reçoit ensuite son statut de la manière standard d'OpenCart, avec les e-mails de commande habituels et la mise à jour du stock ; le panier est vidé et le client voit la page de confirmation de commande d'OpenCart.
Si le total de la commande a changé après l'approbation, rien n'est capturé. Le client voit The order total changed after you approved the payment in PayPal. Please click the PayPal button again to approve the new total. Si PayPal refuse le paiement, la commande reste sans statut et le client est invité à cliquer à nouveau sur le bouton PayPal ou à choisir un autre mode de paiement. Si le client ferme la fenêtre PayPal, le paiement affiche You cancelled the PayPal payment.
Si PayPal ne répond pas pendant la capture, le client voit We could not confirm your PayPal payment yet. Please try again in a moment — you will not be charged twice. L'approbation est conservée pour ce panier, même après un rechargement de la page : le paiement affiche PayPal payment approved. Click "Confirm Order" to complete it. et Confirm Order l'utilise à nouveau. Si PayPal avait déjà mené à terme la tentative précédente, ce paiement est utilisé et une nouvelle approbation n'est pas capturée. Si le paiement a été prélevé mais que le statut de la commande n'a pas pu être défini, le client voit Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. La tentative suivante définit le statut à partir du paiement enregistré, sans débiter à nouveau.
OpenCart 3 crée une nouvelle commande à chaque affichage de l'étape Confirm Order, et OpenCart 4 met à jour la commande du paiement, donc le paiement appartient au panier : une approbation faite pour une commande antérieure du même panier paie la commande en cours si le total est identique, et un panier déjà payé n'est jamais débité à nouveau. Une modification du panier, y compris une nouvelle quantité, compte comme un nouveau panier qui nécessite son propre paiement. Le script PayPal n'est chargé depuis PayPal qu'à l'étape Confirm Order et dans son propre espace de noms, afin de ne pas entrer en conflit avec une autre extension PayPal de la page.
OpenCart 4 garde la commande du paiement jusqu'à l'affichage de la page de succès. Si cette commande a été fermée entre-temps (par exemple si vous l'avez annulée ou si la capture en attente a été refusée), ou si elle a déjà été payée pour un panier antérieur, le client voit Your previous order of this checkout is already closed or paid. Please refresh the page and confirm the order again — a new order will be created. Après le rechargement de la page, le paiement suivant paie une nouvelle commande. Une commande payée n'est jamais affichée comme payée pour un autre panier.
L'extension n'a pas de webhooks PayPal, pas de messages Pay Later, pas de champs de carte, pas de Venmo, Apple Pay, Google Pay ou Fastlane, pas de moyens de paiement enregistrés ou d'abonnements, et pas de boutons sur les pages produit ou panier. Ce sont les adresses saisies dans le paiement OpenCart qui sont utilisées, et non une adresse provenant de PayPal.
Commandes et remboursements
Statuts de commande
Aucun statut (commande manquante) : le client n'a pas approuvé le paiement, ou PayPal l'a refusé. Dans Sales > Orders, ces commandes ne s'affichent qu'avec le filtre Order Status réglé sur Missing Orders.
Statut de commande après paiement (par défaut Processing) : la capture est terminée. Une note indique le montant, la commande PayPal et la capture.
Statut autorisé (par défaut Pending) : le paiement a été autorisé et attend la capture (action de paiement Authorize).
Statut de paiement en attente (par défaut Pending) : la capture est PENDING chez PayPal, par exemple pour un examen du paiement.
Statut en attente de vérification (par défaut Pending) : le montant ou la devise payés diffère de la commande, ou le paiement n'a pas pu être lu dans la réponse de PayPal. La note l'explique. Vérifiez la commande et exécutez-la, ou remboursez le montant payé.
Statut annulé (par défaut Canceled) : l'autorisation a été annulée avec Void PayPal authorization.
Statut échoué (par défaut Failed) : une capture en attente a été refusée ou a échoué.
Statut remboursé (par défaut Refunded) : le paiement a été entièrement remboursé via l'extension.
Si un second paiement arrive pour un panier déjà payé, la commande payée n'est pas modifiée. Une note vous demande de la vérifier dans votre compte PayPal et de la rembourser.
Les notes sont des entrées de l'History de la commande que le client ne voit pas. Les changements de statut effectués dans l'onglet de la commande (capture, annulation, vérification du statut, remboursement) sont écrits directement, sans notifier le client et sans modifier le stock.
Onglet VibeFox PayPal Gateway
Dans Sales > Orders, ouvrez une commande payée avec PayPal. En bas de la page de la commande, à côté de History et Additional, l'onglet VibeFox PayPal Gateway affiche l'PayPal order ID et l'intention, avec une étiquette Sandbox pour les paiements sandbox, le Capture ID (lié au paiement dans votre compte PayPal, sandbox ou production), l'Authorization ID, le Status du paiement, le Amount, les montants Paid / refunded, l'historique des remboursements et les PayPal notes de la commande. L'onglet est affiché aux utilisateurs qui ont accès à l'extension ; ses boutons nécessitent le droit de modifier l'extension (défini dans System > Users > User Groups). Le résultat de chaque action est affiché dans l'onglet.
Remboursements
Dans l'onglet VibeFox PayPal Gateway, saisissez le montant (le montant non encore remboursé est prérempli), facultativement un Reason (optional, sent to the buyer), puis cliquez sur Refund via PayPal. Confirmez la question Refund this amount through PayPal? This cannot be undone. Les remboursements totaux et partiels sont pris en charge. Le motif est transmis à PayPal sous forme de note destinée à l'acheteur. Les remboursements sont effectués dans le montant et la devise débités par PayPal ; ainsi, après un écart de montant ou de devise, vous ne pouvez rembourser que ce que le client a réellement payé, et non le total de la commande. Le remboursement est envoyé à l'environnement PayPal dans lequel le paiement a été effectué (sandbox ou production), les identifiants de cet environnement doivent donc être renseignés. Si PayPal n'accepte pas le remboursement, l'onglet affiche l'erreur et aucun remboursement n'est enregistré. Un remboursement réussi est ajouté à l'historique des remboursements et aux notes, avec l'identifiant et le statut du remboursement PayPal ; un remboursement PENDING est finalisé ultérieurement par PayPal. Un remboursement total place la commande au Refunded Status. Un remboursement partiel ne modifie pas le statut.
Un paiement uniquement autorisé ne peut pas être remboursé : utilisez plutôt Void PayPal authorization. Les retours de produits dans Sales > Returns ne renvoient pas d'argent via PayPal. Les remboursements, litiges et rétrofacturations effectués dans votre compte PayPal 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 PayPal Gateway est le premier bloc de Extensions > Extensions > Payments > VibeFox PayPal Gateway > Edit, au-dessus des paramètres. 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-paypal et le lien Manage licenses and domains in your account, qui ouvre votre compte vibefox.net. Seuls les utilisateurs administrateurs disposant du droit Modify sur 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 dans 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, PayPal n'est pas affiché aux clients au moment du paiement. Si un paiement est tout de même lancé, la boutique refuse de créer la commande PayPal et le client voit An error occurred during PayPal checkout. Please try again. Un utilisateur administrateur connecté à l'administration dans le même navigateur voit toujours la méthode de paiement dans la boutique, marquée (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 la méthode de paiement est masquée 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 remboursements et les actions de l'onglet de la commande continuent de fonctionner.
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 la licence.
Dépannage
PayPal n'apparaît pas au paiement : vérifiez que la licence est active, que Enable/Disable est activé, que le Client ID et le Secret du mode sélectionné sont renseignés, que la devise de la commande est prise en charge par PayPal et que le total de la commande est supérieur à zéro. La page des paramètres affiche un avertissement lorsque les identifiants ou la devise de la boutique posent 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 : l'extension n'a pas de webhook, le paiement n'est donc confirmé que pendant le paiement. Cela se produit lorsque PayPal n'a pas répondu pendant la capture ou que le statut de la commande n'a pas pu être défini. Activez le Debug log et consultez le champ Log, vérifiez le paiement dans votre compte PayPal, ou laissez le client réessayer : une nouvelle tentative ne débite jamais deux fois et définit le statut à partir du paiement enregistré.
PayPal n'a pas pu être chargé : le script PayPal n'a pas été chargé dans le navigateur, par exemple parce qu'une extension du navigateur bloque www.paypal.com ou à cause d'un problème réseau.
PayPal n'est pas disponible pour le moment : les identifiants sont incorrects ou appartiennent à l'autre mode. Recopiez le Client ID et le Secret de la bonne application.
Votre approbation PayPal n'a pas pu être associée à ce paiement : la commande PayPal n'a pas été créée lors de ce paiement, par exemple après l'expiration de la session. Le client clique à nouveau sur le bouton PayPal.
Votre session a expiré. Actualisez la page et réessayez : la page de paiement est restée ouverte trop longtemps. Le client recharge la page.
Ce paiement est déjà en cours de traitement : le même panier a été soumis deux fois au même moment. Le client attend un moment et vérifie ses e-mails avant de réessayer.
La commande est au statut de vérification ou en attente après le paiement : lisez les notes dans l'onglet VibeFox PayPal Gateway. Le paiement a été autorisé (capturez-le avec Capture PayPal payment), la capture est PENDING chez PayPal (utilisez plus tard Check PayPal payment status), ou le montant ou la devise payés ne correspondaient pas à la commande (exécutez la commande ou remboursez le montant payé).
La capture d'une autorisation échoue : l'autorisation peut dater de plus de 29 jours ou avoir déjà été annulée. L'onglet et les notes affichent l'erreur PayPal.
Aucun bouton dans l'onglet : l'onglet indique la raison : votre groupe d'utilisateurs n'a pas le droit de modifier l'extension, le paiement est entièrement remboursé, ou les Client ID et Secret de l'environnement dans lequel le paiement a été effectué ne sont pas configurés.
Le remboursement échoue : la commande n'a pas de capture PayPal (seulement une autorisation), le montant dépasse ce qui reste à rembourser, ou les identifiants de l'environnement dans lequel le paiement a été effectué sont absents. L'onglet indique laquelle de ces situations s'applique.
Désinstallation
Allez dans Extensions > Extensions, choisissez le type Payments et cliquez sur Uninstall (le bouton rouge −) à côté de VibeFox PayPal Gateway. La clé de licence et le statut de licence de cette extension sont toujours supprimés. OpenCart supprime toujours les paramètres propres 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. Les jetons d'accès PayPal mis en cache sont toujours supprimés. Si Delete data on uninstall est activé, les autres paramètres de la passerelle (titre, description, mode sandbox, identifiants, action de paiement, journalisation) et le journal sont supprimés. S'il est désactivé, ils sont conservés pour une réinstallation ultérieure. Les transactions et remboursements PayPal sont toujours conservés, de sorte que les commandes payées auparavant peuvent encore être remboursées, capturées ou annulé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 PayPal Gateway dans la liste des extensions installées, puis sur Delete (le bouton corbeille rouge) pour supprimer le paquet envoyé.
PayPal est une marque déposée de son propriétaire. Cette extension n'est ni affiliée à PayPal ni approuvée par PayPal.
