PS PrestaShop Débutant

DataFirefly Affiliate Program : programme d’affiliation pour PrestaShop

Installation, suivi et attribution, commissions et règles, espace affilié, relevés mensuels, paiements SEPA et PayPal, RGPD et dépannage.

Mis à jour Version du module 1.1.0

Installation

Installez le module depuis Modules > Gestionnaire de modules > Installer un module en envoyant le fichier ZIP, ou copiez le dossier dfaffiliate dans le répertoire /modules/ de votre boutique puis cliquez sur Installer.

À l’installation, le module crée ses tables, enregistre ses réglages par défaut et ajoute le menu Vendre > Affiliation avec cinq entrées : Affiliés, Commissions, Relevés et paiements, Règles de commission et Réglages. Le bouton Configurer du gestionnaire de modules ouvre la page de réglages, qui commence par une vue d’ensemble du programme.

Pour passer de la version 1.0.0 à la 1.1.0, envoyez simplement le nouveau ZIP : le script de mise à jour ajoute les nouveaux réglages et hooks sans toucher aux affiliés, commissions ni relevés existants.

Avant d’ouvrir le programme, choisissez la couleur d’accent dans les réglages. Elle colore les boutons, onglets et badges de la page programme et de l’espace affilié.

Premiers réglages

Vérifiez au minimum ces points avant d’inviter vos premiers affiliés :

  • Taux de commission par défaut : 10 % des produits HT à l’installation, ou un montant fixe par commande.
  • Durée de vie du cookie : 30 jours par défaut, délai entre le clic et la commande.
  • Valider la commission sur et Refuser la commission sur : les statuts de commande qui confirment le paiement, et ceux qui annulent (annulé, remboursé, erreur de paiement).
  • Délai de sécurité : 30 jours par défaut. Une commission validée n’entre dans un relevé qu’après ce délai, pour couvrir les retours.
  • Paiement minimum : en dessous, le solde est reporté au mois suivant.
  • Raison sociale, IBAN et BIC de la société : indispensables pour générer le fichier de virement SEPA.

Suivi et attribution

Les liens de suivi

Chaque affilié a un code. Deux types de liens le transportent :

  • le paramètre de suivi, ajouté à n’importe quelle adresse de la boutique : ?aff=CODE. Le nom du paramètre se change dans les réglages, par exemple ref ;
  • les liens courts que l’affilié crée dans son espace à partir de l’adresse d’un produit, d’une catégorie ou de n’importe quelle page. Ils redirigent vers la page choisie et comptent les clics et les commandes par lien.

Au clic, un cookie signé (dfaff_ref) enregistre l’affilié. Sa signature empêche un visiteur de le modifier. Les robots d’indexation, les navigateurs automatisés et les clics de l’affilié lui-même ne sont pas comptés, et un même visiteur n’est compté qu’une fois par période de 30 minutes. Aucune adresse IP n’est stockée en clair.

Ordre d’attribution d’une commande

  1. Le code promo personnel d’un affilié utilisé dans la commande, même sans clic.
  2. Le lien ou le cookie : le panier est rattaché à l’affilié dès la visite, ce qui couvre aussi les paiements confirmés plus tard par la banque.
  3. Un client déjà apporté par cet affilié, si le réglage Commissions sur les clients fidélisés est supérieur à 0 jour.

Le modèle d’attribution décide du cas où un visiteur clique sur les liens de deux affiliés : dernier clic (par défaut), le dernier affilié visité l’emporte ; premier clic, le premier garde la vente jusqu’à l’expiration du cookie.

Protections

  • Un affilié ne touche pas de commission sur ses propres commandes, reconnues par compte client et par adresse e-mail.
  • Nouveaux clients uniquement : seule la première commande d’un client rapporte une commission.
  • Montant minimum de commande : produits HT après remises, 0 pour aucun minimum.

Commissions

Calcul

La base est le montant des produits hors taxes. Avec Déduire les réductions, les bons de réduction de la commande sont retirés de la base ; un bon de livraison gratuite ne la modifie pas. Les frais de port ne sont jamais inclus. Le montant est converti dans la devise par défaut de la boutique.

Le taux appliqué est, dans cet ordre : la commission spécifique de l’affilié s’il en a une, sinon le taux du programme. En pourcentage, les règles par produit puis par catégorie remplacent le taux ligne par ligne. En montant fixe, une seule commission est créée par commande, et une seule quand PrestaShop découpe un panier en plusieurs commandes pour plusieurs transporteurs.

Règles par catégorie et par produit

L’onglet Règles de commission fixe un pourcentage pour une catégorie ou un produit, par exemple 3 % sur l’électronique et 15 % sur les accessoires. Une règle produit l’emporte sur une règle catégorie. Pour une catégorie, le module regarde d’abord la catégorie par défaut du produit, puis la meilleure de ses autres catégories. Un taux de 0 exclut les produits des commissions. Les règles ne s’appliquent qu’aux commissions en pourcentage.

Cycle de vie

  • À la commande, la commission est créée En attente.
  • Quand la commande atteint un statut de validation, elle passe Validée et la date de validation démarre le délai de sécurité.
  • Quand la commande passe à un statut d’annulation, elle est Refusée.
  • Un avoir partiel réduit la commission au prorata du montant de produits remboursé.
  • Si la commission figure déjà sur un relevé ou a été payée, le module ne la modifie plus : il crée un ajustement négatif qui sera déduit du relevé suivant, sans délai de sécurité. Un second statut d’annulation sur la même commande ne crée pas de nouvelle retenue.

Commissions manuelles

Dans l’onglet Commissions, Ajouter une commission manuelle crédite ou débite un affilié (montant négatif pour une déduction), avec une note visible dans son espace. Ces lignes suivent le même cycle de relevé que les commissions de commande.

Affiliés

Candidatures

La page publique du programme présente vos conditions (taux, durée du cookie, paiement minimum), trois étapes et une foire aux questions générée à partir de vos réglages. Le texte de présentation se modifie dans les réglages, dans chaque langue. Si vous choisissez une page CMS de conditions du programme, le candidat doit l’accepter.

Le candidat doit être connecté à un compte client. Il indique où il publie, décrit son audience et, en option, sa société. Par défaut, chaque candidature attend votre validation et l’e-mail de notification reçoit un message. Avec Valider les candidatures automatiquement, le compte est actif immédiatement.

Fiche affilié

La fiche affiche en tête une synthèse (clics, commandes, commissions en attente, dues et payées) et le lien de suivi à copier, puis trois blocs :

  • Identité et canal : nom, e-mail, site, audience, statut et note interne. Passer le statut à Validé envoie l’e-mail « Votre compte affilié est actif ».
  • Suivi et commission : code affilié, commission spécifique, durée de cookie propre, code promo personnel. Si le code n’existe pas encore et que vous indiquez un pourcentage de remise, la règle panier est créée automatiquement, limitée à une utilisation par client.
  • Coordonnées de paiement : virement SEPA ou PayPal, titulaire, IBAN, BIC, e-mail PayPal.

Vous pouvez créer un affilié sans compte client : il reçoit ses relevés par e-mail mais n’a pas d’espace en ligne. Si un compte client utilise la même adresse e-mail, il est relié automatiquement.

Un affilié qui a encore des commissions en cours ou un relevé non payé ne peut pas être supprimé : suspendez-le ou soldez son compte d’abord.

Ce que voit l’affilié

  • Mon compte : une vignette « Espace affilié », ou « Devenir affilié » pour un client qui ne l’est pas.
  • Vue d’ensemble : générateur de liens, bandeau de chiffres (clics, commandes, conversion, en attente, validé, payé), graphique des 30 derniers jours, conditions et liens récents.
  • Mes liens : tous les liens courts, avec clics, commandes, copie et suppression.
  • Commissions : date, référence de commande masquée, source, base, commission, statut, filtre par statut et mois de versement prévu. Aucune donnée client n’est affichée.
  • Relevés : un relevé par mois, consultable et imprimable en PDF.
  • Coordonnées de paiement : choix du virement ou de PayPal, IBAN contrôlé par sa clé et affiché masqué. Une pastille et un bandeau signalent des coordonnées manquantes.
  • Fiche produit : un encart « Votre lien affilié », visible uniquement par l’affilié connecté, donne le lien du produit et le taux gagné dessus.

Relevés et paiements

Création des relevés

Un relevé regroupe, pour un affilié et un mois, les commissions validées créées avant la fin du mois et dont le délai de sécurité est écoulé, ainsi que les ajustements négatifs. Si le total est inférieur au paiement minimum, rien n’est créé et le solde est reporté.

Deux façons de créer les relevés :

  • Relevés et paiements > Créer les relevés mensuels : choisissez le mois, prévisualisez les montants par affilié, puis créez les relevés et envoyez les e-mails.
  • URL cron, affichée dans la vue d’ensemble des réglages. Appelez-la une fois par jour : entre le 1er et le 5 du mois, elle crée les relevés du mois précédent. Ajoutez &period=AAAA-MM pour forcer un mois donné. Elle est protégée par un jeton.

Payer les affiliés

Dans la liste des relevés, sélectionnez les relevés à payer puis utilisez l’action groupée voulue :

  • Exporter le fichier de virement SEPA (XML) : fichier pain.001.001.03 à importer dans votre banque, pour les affiliés payés par virement. Il nécessite l’euro comme devise par défaut et l’IBAN de la société.
  • Exporter le fichier PayPal Payouts (CSV) : pour l’envoi groupé PayPal, affiliés payés par PayPal.
  • Exporter pour la comptabilité (CSV) : tous les relevés sélectionnés, séparateur point-virgule.

Les exports de paiement sont refusés, avec un message qui nomme le relevé en cause, si un relevé sélectionné est déjà payé ou si un IBAN est manquant ou invalide : un fichier incomplet laisserait un affilié sans paiement, un relevé payé pourrait l’être deux fois.

Une fois le virement passé, marquez les relevés comme payés, en groupe ou depuis le détail d’un relevé avec la référence et la date du paiement. Les commissions concernées passent au statut Payée.

E-mails

Le module envoie quatre e-mails, traduits en 8 langues et envoyés dans la langue du destinataire, montants compris :

  • Nouvelle candidature, à l’adresse de notification.
  • Votre compte affilié est actif, avec le lien vers l’espace affilié.
  • Nouvelle vente, avec la commission, la base et le taux, jamais les coordonnées du client. Désactivable dans les réglages, et par chaque affilié dans ses coordonnées de paiement.
  • Relevé disponible, avec le montant et le lien vers le relevé.

Les modèles sont dans le dossier mails/ du module et se personnalisent comme les e-mails de PrestaShop.

Back-office

  • Vue d’ensemble (page de réglages) : affiliés actifs, candidatures à examiner, clics, commandes et ventes des 30 derniers jours, commissions en attente, dues et payées, meilleurs affiliés.
  • Page commande : un encart indique l’affilié, la commission, son statut et sa source.
  • Exports CSV des listes d’affiliés et de commissions, avec des montants bruts exploitables dans un tableur.

RGPD et suppression de compte

Le module se déclare auprès du module RGPD officiel de PrestaShop. L’export des données d’un client inclut son profil affilié et ses commissions. L’effacement anonymise l’affilié (nom, e-mail, IBAN, site et audience vidés, liens et clics supprimés) tout en conservant les commissions et relevés pour la comptabilité.

Quand un employé supprime un compte client, l’affilié lié est conservé sans compte en ligne et ses données de paiement restent en place.

Dépannage

Aucun clic n’est compté

Testez dans une fenêtre de navigation privée, sans être connecté avec le compte de l’affilié : ses propres clics sont ignorés. Les navigateurs automatisés sont filtrés comme des robots. Si votre boutique utilise un cache de pages complètes, une page servie depuis le cache n’exécute pas PHP et le paramètre ?aff= n’est pas vu : utilisez les liens courts, qui passent toujours par PrestaShop, ou excluez le paramètre du cache.

Une commission reste en attente

Vérifiez que le statut actuel de la commande est coché dans Valider la commission sur. Si le statut a été changé par un employé dont le profil n’a pas le droit Voir sur le module (Paramètres avancés > Équipe > Permissions), PrestaShop n’a pas exécuté le module : repassez la commande par ce statut avec un compte administrateur.

Le lien produit refuse une adresse

Le générateur n’accepte que les adresses de votre boutique. Collez l’adresse complète telle qu’elle apparaît dans le navigateur, sur le domaine de la boutique.

L’export SEPA est refusé

Lisez le message affiché : il indique le relevé déjà payé ou l’affilié dont l’IBAN manque. Désélectionnez-le ou complétez ses coordonnées. Vérifiez aussi que la raison sociale et l’IBAN de la société sont renseignés.

Compatibilité

  • PrestaShop 8.0 à 9.x, le même ZIP couvre les deux branches.
  • Multilingue et multidevise, commissions calculées dans la devise par défaut.
  • Architecture ModuleAdminController, sans dépendance Composer.
  • Module et e-mails traduits en anglais, français, espagnol, allemand, italien, néerlandais, polonais et portugais.
Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support