Assistance/Attribution des revenus
Attribution des revenus

Attribuer les revenus avec la Stripe PaymentIntent API

Avant de continuer, confirmez que vous avez connecté votre compte Stripe.

Utilisez ce guide pour les checkouts Stripe personnalisés — le Payment Element, confirmCardPayment ou tout flux où vous créez le PaymentIntent vous-même. Ceux-ci ne produisent jamais de Checkout Session Stripe, il n'y a donc aucun client_reference_id que le script pourrait remplir (cela ne fonctionne que pour les Payment Links). Vous devez transmettre vous-même le cookie du visiteur dans la metadata du PaymentIntent — c'est le seul signal déterministe pour ce flux.

Flowsery traite ces événements de webhook Stripe :

  • payment_intent.succeeded — émis par les checkouts personnalisés avec PaymentIntent
  • checkout.session.completed
  • invoice.payment_succeeded
  • charge.refunded

L'acheminement vers le bon site web est automatique (Flowsery enregistre une URL de webhook dédiée par site) — vous n'avez pas besoin de transmettre websiteId. Pour attribuer le paiement à la source de trafic du visiteur, transmettez les cookies Flowsery (_fs_vid / _fs_sid) en tant que metadata lorsque vous créez le PaymentIntent :

JavaScript
const paymentIntent = await stripe.paymentIntents.create({
  amount: 2000,
  currency: 'usd',
  metadata: {
    fs_visitor_id: req.cookies['_fs_vid'],
    fs_session_id: req.cookies['_fs_sid'],
  },
});

Flowsery lit fs_visitor_id depuis le webhook payment_intent.succeeded et associe le paiement au parcours de ce visiteur (référent, canal, pays, appareil). Sans cela, le paiement est tout de même enregistré comme revenu mais avec une source « Inconnue ».

Solution de repli si vous ne pouvez pas définir de metadata : appelez identify avec l'e-mail de l'acheteur (window.flowsery('identify', { userId: user.id, email: user.email })). Flowsery associe alors le paiement au visiteur par e-mail.