VibeFox FedEx for WooCommerce — Aide
Prérequis
WordPress : 5.8 ou ultérieur.
WooCommerce : 7.0 ou ultérieur, installé et activé. L'extension refuse de s'activer sans lui.
PHP : 8.0 ou ultérieur.
Compte FedEx et clés d'API (uniquement pour les tarifs en temps réel) : sur le FedEx Developer Portal (developer.fedex.com), créez un projet avec la Rate API, associez votre compte d'expédition FedEx et copiez l'API Key et la Secret Key. Vous avez aussi besoin de votre numéro de compte FedEx à 9 chiffres. Les clés de test ne fonctionnent qu'avec Sandbox activé, les clés de production uniquement avec ce réglage désactivé. L'extension utilise l'API REST de FedEx avec OAuth 2.0 ; elle n'a besoin ni de numéro de compteur ni de mot de passe des services web. Si vous n'utilisez que des prix fixes, vous n'avez pas besoin des clés FedEx.
Clé de licence VibeFox : 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 aussi envoyer le dossier vfd_fedex dans /wp-content/plugins/ par FTP.
2. Cliquez sur Activate.
3. Ouvrez les réglages : WooCommerce > Settings > Shipping > VibeFox FedEx, ou cliquez sur Settings sous le nom de l'extension sur la page Plugins.
4. Saisissez votre clé de licence VibeFox dans le bloc de licence en haut de la page et cliquez sur Activate.
5. Saisissez l'API Key, la Secret Key, le numéro de compte FedEx à 9 chiffres et l'adresse Ship from (code postal et, pour les États-Unis et le Canada, le code d'état à 2 lettres). Désactivez Sandbox lorsque vous utilisez des clés de production.
6. Ajoutez VibeFox FedEx à une zone d'expédition dans WooCommerce > Settings > Shipping > Shipping zones, ou activez Ignore shipping zones et choisissez les pays.
7. Vous pouvez éventuellement saisir des prix fixes en solution de secours.
Configuration
Tous les réglages se trouvent sur une seule page : WooCommerce > Settings > Shipping > VibeFox FedEx. Ils s'appliquent à toutes les zones d'expédition. Lorsque vous ajoutez le mode à une zone, la fenêtre de la zone ne contient qu'un champ :
Title (zone) : le nom de cette option au moment du paiement. Laissez-le vide pour utiliser le Name général.
En haut de la page, l'extension affiche des avertissements : seuls certains des trois identifiants d'API sont renseignés, il n'y a aucune clé d'API ni aucun prix fixe (le mode n'est alors jamais affiché), le code postal d'expédition manque, le code d'état d'expédition manque pour les États-Unis ou le Canada, ou la devise de la boutique diffère de celle du compte FedEx sans taux de change. À chaque enregistrement des réglages, le jeton FedEx et les tarifs mis en cache sont effacés. Les champs numériques acceptent un point ou une virgule décimale. Un nombre non valide n'est pas enregistré et un message le signale.
General
Enable/Disable : active ou désactive l'expédition FedEx dans toutes les zones à la fois. Par défaut : activé.
Name : le nom du mode d'expédition affiché au client lors du paiement. Par défaut : FedEx.
Tax status : Taxable permet à WooCommerce d'ajouter la taxe au coût de l'expédition, on utilise donc le montant FedEx hors taxes. None utilise le montant net FedEx tel quel. Par défaut : Taxable.
API FedEx (tarifs en temps réel)
Sans clés, les prix fixes sont utilisés. La section contient le lien Clear cached FedEx token and rates.
Sandbox : utilise le sandbox FedEx avec des clés de test. Désactivez-le pour obtenir de vrais tarifs avec des clés de production. Par défaut : activé.
API Key : l'API Key (client_id) de votre projet sur le FedEx Developer Portal.
Secret Key : la Secret Key (client_secret) du même projet.
FedEx account number : le compte d'expédition FedEx à 9 chiffres associé au projet.
Rates : Account rates (your negotiated FedEx prices) (par défaut) ou List rates (FedEx published prices).
Residential delivery : établit les tarifs pour les adresses des clients comme adresses résidentielles (FedEx Home Delivery, supplément résidentiel). Désactivez-le si vous expédiez surtout à des entreprises. Par défaut : activé.
Box size : dimensions facultatives du carton, dans l'unité de dimension de votre boutique, par exemple 30x20x15. FedEx applique alors le poids volumétrique. Laissez-le vide pour tarifer uniquement au poids.
FedEx account currency : la devise de votre compte FedEx, par exemple USD pour les comptes américains ou CAD pour le Canada. Par défaut : USD. FedEx est toujours aussi invité à établir ses tarifs dans la devise de la boutique.
Exchange rate : nécessaire uniquement lorsque FedEx ne renvoie des tarifs que dans la devise du compte et que la devise de votre boutique est différente : le prix de 1 unité de la devise du compte dans la devise de votre boutique, par exemple 0.92. Sans ce taux, ces tarifs ne sont pas utilisés.
Expédition depuis
L'adresse à laquelle FedEx récupère les colis ou à laquelle vous les déposez. Elle sert aux tarifs en temps réel.
Country : le pays depuis lequel vous expédiez. Par défaut : United States.
State / province code : le code à 2 lettres, obligatoire pour les États-Unis et le Canada, par exemple TN, CA ou ON.
City : la ville d'expédition.
ZIP / postal code : le code postal d'expédition. FedEx en a besoin pour établir les tarifs.
Prix fixes
Ils sont utilisés lorsqu'aucune clé d'API n'est saisie, et en solution de secours lorsque FedEx ne renvoie aucun tarif (API indisponible, clés erronées, aucun service). Laissez les deux champs vides pour masquer le mode dans ce cas.
Country prices : le prix dans la devise de votre boutique par pays de destination, une ligne par pays au format CC=PRIX, par exemple US=12.99 ou CA=19,99. Utilisez * pour tout autre pays, par exemple *=29.99. Les lignes d'un autre format sont ignorées et signalées à l'enregistrement.
Fallback cost : un prix forfaitaire lorsqu'aucun prix par pays ne correspond. Laissez-le vide pour masquer le mode.
Fixed price is : Per order facture le prix une seule fois. Per item (price x number of items) le multiplie par le nombre d'articles. Cela ne s'applique qu'aux prix fixes. Les tarifs FedEx en temps réel sont toujours établis pour le poids total du panier.
Conditions
Free shipping from : le sous-total du panier à partir duquel ce mode est gratuit. Laissez-le vide pour ne jamais offrir la livraison gratuite.
Minimum subtotal : n'affiche le mode que si le sous-total du panier atteint au moins ce montant. Laissez-le vide pour toujours l'afficher.
Min weight (kg) : le poids minimum du panier pour que le mode apparaisse. 0 signifie aucune limite.
Max weight (kg) : le poids maximum du panier. Le mode est masqué si ce poids est dépassé. 0 signifie aucune limite.
Default product weight (kg) : le poids utilisé pour les produits sans poids, pour les tarifs FedEx et pour les limites de poids ci-dessus. Par défaut : 0.5.
Excluded shipping classes : masque le mode si le panier contient un produit appartenant à l'une de ces classes d'expédition WooCommerce.
Disponibilité sans zones d'expédition
Ignore shipping zones : propose le mode pour les pays indiqués ci-dessous, même s'il n'a pas été ajouté à une zone d'expédition. Un mode de zone désactivé dans sa zone reste désactivé.
Countries : les pays de destination pour ce mode. Laissez vide pour tous les pays d'expédition de la boutique. Utilisé uniquement lorsque Ignore shipping zones est activé.
Avancé
Debug log : enregistre les requêtes à l'API et le calcul des tarifs dans WooCommerce > Status > Logs, source vfd-fedex. Les erreurs d'API sont toujours enregistrées. Les clés, les jetons et les adresses des clients ne sont jamais enregistrés.
Remove data on uninstall : lorsqu'elle est activée, la suppression de l'extension supprime tous ses réglages et ses modes de zone. La désactivation ne supprime jamais les réglages.
Fonctionnement au moment du paiement
Lorsque le client saisit une adresse de livraison, WooCommerce demande un tarif à l'extension. L'extension vérifie d'abord le poids du panier, le sous-total minimum et les classes d'expédition exclues. Si la livraison gratuite s'applique, le client voit le mode FedEx (Free) et aucune requête n'est envoyée à FedEx.
Sinon, l'extension obtient un jeton OAuth et envoie à la Rate API de FedEx l'adresse d'expédition, l'adresse de livraison, le poids du panier (en kg, ou en lb pour les boutiques qui utilisent lb ou oz), la taille du carton si elle est définie et la devise de votre boutique comme devise préférée. Pour les pays qui utilisent des codes postaux, la requête n'est envoyée qu'après que le client a saisi son code postal. Pour les envois internationaux, la valeur en douane du panier est transmise. Les codes d'état ne sont envoyés que pour les États-Unis et le Canada.
FedEx renvoie les services disponibles. Pour chaque service, l'extension retient le tarif de compte ou le tarif public que vous avez choisi, privilégie un tarif dans la devise de votre boutique, convertit un tarif dans la devise du compte FedEx avec votre taux de change et écarte les tarifs qu'elle ne peut pas convertir. Le service le moins cher est affiché sous le nom de votre mode, et son nom est enregistré avec la ligne d'expédition de la commande.
Le jeton est mis en cache par environnement et par clé, et il est demandé à nouveau automatiquement lorsque FedEx le rejette. Les tarifs sont mis en cache pendant 1 heure. Une requête de tarif échouée est mémorisée pendant 10 minutes, et une requête de jeton échouée pendant 5 minutes, afin qu'une panne ne ralentisse pas chaque mise à jour du paiement. Le délai d'attente de l'API est de 15 secondes. Si FedEx ne répond pas, le client ne voit aucune erreur : le prix fixe est utilisé, ou le mode est masqué.
Le mode fonctionne sur le paiement classique et sur le paiement par blocs. Il est compatible avec WooCommerce High-Performance Order Storage (HPOS).
L'extension ne fait que calculer les tarifs. Elle ne crée pas d'envois FedEx, n'imprime pas d'étiquettes, ne réserve pas d'enlèvements, ne suit pas les colis et ne permet pas au client de choisir un point FedEx. Elle affiche une option (le service le moins cher), et non plusieurs ; il n'y a pas de remplissage de cartons : le panier est tarifé comme un seul colis.
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 > Shipping > VibeFox FedEx. 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-le dans votre compte vibefox.net.
Sans clé active, FedEx n'est pas affiché aux clients lors du paiement. Les gestionnaires connectés de la boutique le voient toujours, 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 Plugins et sur les pages WooCommerce. Les commandes existantes ne sont pas affectées.
Lorsqu'une licence expire, l'extension continue de fonctionner, mais les mises à jour et l'assistance nécessitent un renouvellement. Le statut est vérifié à nouveau automatiquement en arrière-plan.
Dépannage
FedEx n'apparaît pas au moment du paiement : vérifiez que la licence est active, que Enable/Disable est activé et que le mode est ajouté à la zone du pays du client (ou que Ignore shipping zones est activé et que le pays est autorisé). Consultez les avertissements en haut de la page de réglages, les limites de poids, Minimum subtotal et Excluded shipping classes. Sans tarif en temps réel, le mode a besoin d'un prix par pays, d'une ligne * ou d'un Fallback cost.
Les tarifs en temps réel n'apparaissent pas : activez Debug log, rechargez la page de paiement et ouvrez WooCommerce > Status > Logs, source vfd-fedex. Les clés erronées, le mauvais environnement (clés de test avec Sandbox désactivé, ou clés de production avec ce réglage activé) et les codes d'erreur FedEx y sont enregistrés.
Ma boutique n'utilise pas l'USD : FedEx est interrogé pour un tarif dans la devise de la boutique. Si votre compte ne renvoie que sa propre devise, renseignez FedEx account currency et Exchange rate. Sans taux de change, ces tarifs sont ignorés et le prix fixe est utilisé, ainsi un montant en USD n'est jamais affiché en euros.
Le mode « per item » multiplie-t-il le tarif FedEx ? Non. Per item ne s'applique qu'aux prix fixes.
Les tarifs semblent obsolètes après une modification : après un changement de clés, le cache est effacé automatiquement. Vous pouvez aussi cliquer sur Clear cached FedEx token and rates.
Seuls certains services doivent être proposés : les développeurs peuvent restreindre les services à l'aide du filtre vfd_fdx_allowed_services.
Le bloc de licence affiche une erreur : 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 injoignable, l'extension continue de fonctionner avec le dernier statut connu.
Désinstallation
La désactivation de l'extension conserve tous les réglages et supprime uniquement les jetons et les tarifs mis en cache. Pour la retirer, désactivez-la puis supprimez-la sur la page Plugins. La clé de licence et le statut de licence de cette extension, les jetons et tarifs mis en cache ainsi que les anciens fichiers journaux sont toujours supprimés. Les réglages et les modes de zone ne sont supprimés que si Remove data on uninstall était activé. Sinon, ils sont conservés pour une réinstallation ultérieure. Les commandes existantes conservent leurs lignes d'expédition.
FedEx est une marque de son propriétaire respectif. Cette extension n'est ni affiliée à FedEx ni approuvée par FedEx.
