Intégration

Affiliation Stripe : suivre les ventes et payer les commissions

Ton programme d'affiliation se branche sur ton compte Stripe existant. Les ventes, les renouvellements et les remboursements remontent tout seuls, et les commissions se calculent sur ce que Stripe a réellement encaissé — pas sur une estimation.

Mis à jour le

Ce que brancher Stripe fait réellement

Un programme d'affiliation doit répondre de façon fiable à une seule question : quel affilié a amené ce client payant ? Stripe sait déjà qu'un paiement a eu lieu. Ce qu'il ignore, c'est d'où venait le visiteur trois jours plus tôt. Relier les deux, c'est tout le travail.

Deux pièces s'en chargent. Un snippet sur ton site retient par quel lien affilié un visiteur est arrivé. Un webhook sur ton compte Stripe nous signale quand ce visiteur paie. Tout le reste — montants, délai d'approbation, virements, factures — découle de ces deux faits.

AILLEURS · COOKIE TIERSPERDUICI · TON PROPRE DOMAINEATTRIBUÉ

1. Le snippet de suivi

Une balise, n'importe où dans tes pages. Elle lit ?via=CODEdans l'URL, enregistre le clic et pose un cookie :

<script src="https://earnwithaffiliate.com/snippet.js?program=ton-slug" async></script>

Le cookie est posé sur ton propre domaine, pas sur le nôtre. C'est ce qui fait tenir l'attribution malgré les bloqueurs de pub et la fin des cookies tiers : du point de vue du navigateur, c'est ton site qui se souvient de son propre visiteur, parce que le script s'exécute dans ta page même si le fichier vient de chez nous.

Tu choisis sa durée. La fenêtre de cookie est un réglage par programme : un produit dont la décision d'achat prend des semaines n'est pas forcé aux mêmes 30 jours qu'un achat d'impulsion.

2. Trois façons d'attribuer une vente

Au moment du paiement, le code de l'affilié doit parvenir jusqu'à Stripe. Il y a trois chemins, résolus dans cet ordre, et la plupart des marchands n'utilisent que le deuxième.

  • La metadata du checkout — ton backend lit le cookie et pose le code sur la session et sur subscription_data.metadata. Le chemin le plus explicite, et celui qui porte l'attribution jusqu'aux factures de renouvellement.
  • client_reference_id, sans code backend — Stripe accepte ce champ sur un Payment Link (en paramètre d'URL), un Buy Button et une table de prix (en attribut HTML). Le snippet le remplit lui-même, y compris sur les éléments insérés après le chargement de la page.
  • Un coupon tracké — le repli quand le client a utilisé un code promo au lieu de cliquer sur un lien. Les coupons sont créés automatiquement dans ton compte Stripe.

Le deuxième chemin a un piège qui mérite d'être connu, parce qu'il est invisible quand on se trompe : client_reference_id ne vit quesur la session de paiement. Stripe ne le recopie ni sur l'abonnement, ni sur les factures suivantes. Traité naïvement, la première vente serait créditée puis toutes les commissions récurrentes s'arrêteraient en silence. On garde le lien de notre côté pour que les renouvellements retrouvent le bon affilié.

3. Le webhook, signé par ton compte

Tu ajoutes une adresse dans ton tableau de bord Stripe. Elle est propre à ton compte et signée avec son propre secret — on vérifie chaque livraison contre lui, donc un événement qui ne vient pas de ton Stripe est refusé plutôt que cru sur parole.

Voilà les événements qui comptent, et ce que chacun déclenche :

  • checkout.session.completed— la première vente. Crée la conversion et la commission de l'affilié.
  • invoice.paid— un renouvellement. Crée la commission récurrente, en héritant de l'affilié de la vente qui a ouvert l'abonnement.
  • charge.refunded — annule la commission correspondante, ou pose une déduction si elle avait déjà été versée.
  • charge.dispute.created et charge.dispute.closed— même traitement sur une rétrofacturation, et l'inverse si tu gagnes le litige.
Stripe réessaie ses livraisons, donc un même événement peut arriver deux fois. Chaque identifiant d'événement est enregistré avant tout traitement : un doublon est ignoré plutôt que de payer deux fois la même commission.
Vente initialeCommission crééeRenouvellementCommission crééeRenouvellementCommission crééeRemboursementCommission annuléeTU NE PAYES JAMAIS SUR DU REVENU QUI N'EXISTE PLUS

La clé restreinte, et ce qu'elle ne peut pas faire

Tu nous donnes aussi une clé Stripe restreinte. Elle sert à créer les coupons trackés dans ton compte et à relire les factures. Elle est volontairement étroite :

  • Coupons et Codes promotionnels — écriture
  • Factures — lecture
  • Abonnements et Clients — lecture, uniquement si tu importes tes abonnés existants

Elle ne peut pas lire ton solde, pas créer de paiement, pas déplacer d'argent. Si elle cesse de fonctionner — révoquée, changée, expirée — ton tableau de bord te le dit, avec la date et le message de Stripe, au lieu d'afficher un badge vert qui ne redevient jamais rouge.

Venir d'un autre outil d'affiliation

Le jour où tu changes, tes abonnés existants continuent de se renouveler — mais ces renouvellements arrivent sans attribution, puisque le snippet n'était pas sur ton site quand ils se sont abonnés. Sans traitement, les affiliés qui ont amené ces clients cessent d'être payés le jour de la migration.

On analyse tes abonnements en cours et on rattache chacun à l'affilié qui l'a amené, partout où la preuve existe côté Stripe. Analyse et import sont deux gestes séparés : tu vois à qui on s'apprête à attribuer avant que quoi que ce soit ne soit écrit.

Rien n'est rétroactif, volontairement. Les commissions passées ont déjà été réglées par l'outil que tu quittes — les recréer reviendrait à payer deux fois.

Questions fréquentes

Faut-il modifier le code de mon site ?

Une balise script, et c'est tout dans la plupart des cas. Si tu utilises un Payment Link, un Buy Button ou une table de prix Stripe, le snippet les décore lui-même et tu n'as aucune ligne de backend à écrire. Si tu crées ta session de paiement côté serveur, c'est une ligne à recopier.

Est-ce que ça fonctionne avec les abonnements ?

Oui, et c'est le cas principal. La première vente crée la commission initiale ; chaque facture de renouvellement en crée une nouvelle automatiquement, tant que le client reste abonné. Tu choisis si ta commission est récurrente ou versée une seule fois.

Quelles permissions ma clé Stripe doit-elle avoir ?

Une clé restreinte suffit. Elle a besoin de Coupons et Codes promotionnels en écriture (pour créer les coupons trackés), Factures en lecture, plus Abonnements et Clients en lecture si tu veux importer tes abonnés existants. Elle n'a jamais besoin d'accéder à ton solde ni de créer des paiements.

Et si un client se fait rembourser ?

Stripe nous notifie, on retrouve la vente d'origine et la commission est annulée avant tout paiement. Si elle avait déjà été versée à l'affilié, elle est déduite de son virement suivant plutôt que réclamée — la ligne d'origine n'est jamais réécrite.

Est-ce que je peux migrer depuis un autre outil ?

Oui. On analyse tes abonnements Stripe en cours et on rattache chacun à l'affilié qui l'a amené, quand la preuve existe (metadata ou coupon tracké). Les renouvellements continuent donc de commissionner après la migration. Rien n'est rétroactif : les commissions passées restent chez l'outil que tu quittes.

Les données de paiement passent-elles par vous ?

Non. Le paiement se fait chez Stripe, entre ton client et toi. Nous recevons l'événement une fois qu'il a eu lieu, signé par ton compte, pour savoir combien facturer et à qui attribuer la vente.

Branche ton Stripe et ouvre ton programme

L'offre gratuite suffit pour tout mettre en place et vérifier qu'une vente remonte correctement. Sans carte bancaire.