Parrainage, affiliés et récompenses
Configurez des liens d’invitation, l’attribution et des récompenses d’affiliation (montant fixe et/ou pourcentage). Découvrez comment les cookies capturent la provenance, comment l’attribution est finalisée après connexion, et comment les récompenses sont calculées lors des commandes payées.
Système d’affiliation prêt à l’emploi : liens d’invitation, cookie d’attribution et récompenses configurables pour inscriptions et paiements.
Cartographie du code
- Redirection d’invitation (localisée) :
src/app/[locale]/i/[inviteCode]/route.ts
- Attribution après login :
src/app/api/affiliate/update-invite/route.ts
- Code d’invitation (API) :
src/app/api/affiliate/invite-code/route.ts
- Calcul des récompenses + dédoublonnage :
src/services/affiliate.ts
- Intégration Stripe (après paiement) :
src/services/stripe.ts
- Page utilisateur :
src/app/[locale]/my-invites/page.tsx
- Composants :
invite-link.tsx
,summary-cards.tsx
,affiliate-table.tsx
- Composants :
- Page admin :
src/app/(admin)/admin/affiliates/page.tsx
- Hook client d’attribution :
src/providers/affiliate-init.tsx
(inclus viasrc/providers/theme.tsx
)
Parcours de bout en bout
/:locale/i/<inviteCode>
→ cookieref
(30 jours) puis redirection.- Après inscription/connexion → appel unique à
/api/affiliate/update-invite
; on renseigneinvited_by
si absent et on crée une ligne d’inscription (pas de paiement par défaut). - Paiement Stripe → calcul de la commission (fixe/pourcentage/hybride) et insertion d’une ligne « completed » (dédoublonnée par
paid_order_no
). - Vues →
/[locale]/my-invites
(utilisateur),/admin/affiliates
(admin).
Configuration
Fichier : src/data/affiliate.ts
- Programme :
enabled
,attributionWindowDays
,allowSelfReferral
,attributionModel
- Récompenses :
commissionMode
(fixed_only, percent_only, greater_of, sum),signup
,paid
- Type de versement :
payoutType = "cash"
(centimes) ou"credits"
(crédits internes) - Liens :
sharePath
(par défaut/i
),myInvitesPath
Base URL : NEXT_PUBLIC_WEB_URL
.
Tester en local
- Générer/voir le lien sur
/[locale]/my-invites
. - Ouvrir en navigation privée, s’inscrire, revenir sur la page et vérifier les compteurs.
- Simuler un paiement Stripe et vérifier la ligne de commission.
Astuces
- Cookie sur le même hôte (utiliser la bonne
NEXT_PUBLIC_WEB_URL
). - Le hook client ne valide que si la réponse est 200 ; en cas d’appel pré‑login, il réessaie après login.
- Pas de double versement : dédoublonnage via
paid_order_no
.
Parrainage, affiliés et récompenses
Configurez des liens d’invitation, l’attribution et des récompenses d’affiliation (montant fixe et/ou pourcentage). Découvrez comment les cookies capturent la provenance, comment l’attribution est finalisée après connexion, et comment les récompenses sont calculées lors des commandes payées.
Google pour les SaaS — Pourquoi c’est important et comment l’utiliser
Guide débutant pour utiliser l’écosystème Google (Search Console, GA4, Business Profile, Merchant Center, Trends) afin d’être découvert, de mesurer les comportements et de développer un SaaS en 2025.