Passer au contenu principal

Introduction

DataFast est un outil d’analyse axé sur les revenus qui vous aide à découvrir quels canaux marketing génèrent des clients payants. En intégrant Dodo Payments avec DataFast, vous pouvez attribuer des revenus à vos sources de trafic, identifier des segments de clients à forte valeur et prendre des décisions basées sur les données pour développer votre entreprise.
Cette intégration nécessite votre clé API DataFast, que vous pouvez obtenir depuis votre tableau de bord DataFast.

Comment ça fonctionne

DataFast suit les visiteurs grâce à un identifiant unique de visiteur stocké dans un cookie. Pour attribuer des revenus aux canaux marketing, vous devez :
  1. Capturer l’identifiant de visiteur de DataFast depuis le datafast_visitor_id cookie lors de la création des sessions de paiement
  2. Stocker l’identifiant de visiteur dans vos métadonnées de paiement
  3. Envoyer les données de paiement à DataFast lorsque les paiements réussissent en utilisant leur API de paiement
Cela permet à DataFast de faire correspondre les paiements réussis avec la source de trafic d’origine, vous offrant une attribution complète des revenus.

Prise en main

1

Installer le script DataFast

Tout d’abord, installez le script de suivi DataFast sur votre site web. Cela crée le datafast_visitor_id cookie qui suit vos visiteurs.Consultez la documentation DataFast pour des instructions d’installation spécifiques à votre plateforme.
2

Obtenez votre clé API

Connectez-vous à votre tableau de bord DataFast et accédez aux paramètres de votre site web pour obtenir votre clé API.
Gardez votre clé API sécurisée et ne l’exposez jamais dans le code côté client.
3

Capturer l'identifiant de visiteur lors du paiement

Lors de la création d’une session de paiement, capturez l’identifiant de visiteur DataFast depuis le cookie et ajoutez-le à vos métadonnées de paiement.
4

Envoyer les données de paiement via Webhook

Configurez un webhook pour envoyer les données de paiement à l’API de paiement de DataFast lorsque les paiements réussissent.
5

C'est fait !

🎉 Les données de revenus apparaîtront maintenant dans votre tableau de bord DataFast avec une attribution complète aux canaux marketing.

Guide d’implémentation

Étape 1 : Ajouter l’identifiant de visiteur aux métadonnées de paiement

Lors de la création d’une session de paiement, capturez l’identifiant de visiteur DataFast depuis le cookie et incluez-le dans vos métadonnées de paiement.
import { cookies } from 'next/headers';
import { dodopayments } from '@/lib/dodopayments';

export async function createCheckout(productId: string) {
  // Capture DataFast visitor ID from cookie
  const datafastVisitorId = cookies().get('datafast_visitor_id')?.value;

  const payment = await dodopayments.payments.create({
    product_id: productId,
    // ... other payment configuration
    metadata: {
      datafast_visitor_id: datafastVisitorId, // Store visitor ID in metadata
    },
  });

  return payment;
}

Étape 2 : Envoyer les données de paiement à DataFast

Configurez un point de terminaison webhook pour envoyer les données de paiement à l’API de paiement de DataFast lorsque les paiements réussissent.
1

Ouvrir la section Webhook

Dans votre tableau de bord Dodo Payments, accédez à Webhooks → + Ajouter un point de terminaison et développez le menu déroulant des intégrations.
Ajouter un point de terminaison et menu déroulant des intégrations
2

Sélectionner DataFast

Choisissez la carte d’intégration DataFast.
3

Entrer la clé API

Fournissez votre clé API DataFast dans le champ de configuration.
Ajouter la clé API
4

Configurer la transformation

Modifiez le code de transformation pour formater les données de paiement pour l’API de paiement de DataFast.
5

Tester et créer

Testez avec des charges utiles d’exemple et cliquez sur Créer pour activer l’intégration.

Exemples de code de transformation

Attribution de paiement de base

basic_payment.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const payment = webhook.payload.data;
    
    // Only send to DataFast if visitor ID exists in metadata
    if (payment.metadata?.datafast_visitor_id) {
      webhook.url = "https://datafa.st/api/v1/payments";
      webhook.payload = {
        amount: payment.total_amount / 100, // Convert from cents to dollars
        currency: payment.currency,
        transaction_id: payment.payment_id,
        datafast_visitor_id: payment.metadata.datafast_visitor_id,
      };
    } else {
      // Skip if no visitor ID (prevents unnecessary API calls)
      return null;
    }
  }
  return webhook;
}

Gérer les devises à zéro décimal

Certaines devises (comme le JPY) n’utilisent pas de décimales. Ajustez le calcul du montant en conséquence :
zero_decimal.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const payment = webhook.payload.data;
    
    if (payment.metadata?.datafast_visitor_id) {
      // Zero decimal currencies: JPY, KRW, CLP, etc.
      const zeroDecimalCurrencies = ['JPY', 'KRW', 'CLP', 'VND', 'UGX', 'MGA'];
      const isZeroDecimal = zeroDecimalCurrencies.includes(payment.currency);
      
      webhook.url = "https://datafa.st/api/v1/payments";
      webhook.payload = {
        amount: isZeroDecimal 
          ? payment.total_amount // Use amount as-is for zero decimal currencies
          : payment.total_amount / 100, // Convert from cents for other currencies
        currency: payment.currency,
        transaction_id: payment.payment_id,
        datafast_visitor_id: payment.metadata.datafast_visitor_id,
      };
    } else {
      return null;
    }
  }
  return webhook;
}

Paiements d’abonnement

Pour les paiements d’abonnement récurrents, vous pouvez suivre chaque paiement :
subscription_payment.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const payment = webhook.payload.data;
    
    // Check if this is a subscription payment
    const isSubscription = payment.subscription_id !== null;
    
    if (payment.metadata?.datafast_visitor_id) {
      webhook.url = "https://datafa.st/api/v1/payments";
      webhook.payload = {
        amount: payment.total_amount / 100,
        currency: payment.currency,
        transaction_id: payment.payment_id,
        datafast_visitor_id: payment.metadata.datafast_visitor_id,
        // Optional: Add subscription context
        ...(isSubscription && {
          subscription_id: payment.subscription_id,
        }),
      };
    } else {
      return null;
    }
  }
  return webhook;
}

Meilleures pratiques

Capturez l’identifiant de visiteur tôt : Stockez l’identifiant de visiteur DataFast dès que possible dans votre flux de paiement pour garantir une attribution précise, même si l’utilisateur navigue ailleurs et revient plus tard.
  • Incluez toujours l’identifiant de visiteur dans les métadonnées : Sans l’identifiant de visiteur, DataFast ne peut pas attribuer les revenus aux canaux marketing
  • Gérez les devises à zéro décimal : Certaines devises (JPY, KRW, etc.) n’utilisent pas de décimales—ajustez votre calcul de montant en conséquence
  • Testez avec des paiements d’exemple : Vérifiez que l’intégration fonctionne correctement avant de passer en production
  • Surveillez votre tableau de bord DataFast : Vérifiez que les paiements apparaissent correctement avec une attribution appropriée
  • Utilisez des tentatives de webhook : L’API de paiement de DataFast est idempotente, donc les tentatives sont sûres si un webhook échoue

Dépannage

  • Vérifiez que votre clé API DataFast est correcte et active
  • Assurez-vous que le datafast_visitor_id est capturé et stocké dans les métadonnées de paiement
  • Vérifiez que la transformation du webhook formate correctement la charge utile
  • Vérifiez que le webhook se déclenche sur les événements payment.succeeded
  • Consultez le tableau de bord DataFast pour tout message d’erreur ou journal API
  • Confirmez que le script de suivi DataFast est installé et fonctionne sur votre site web
  • Vérifiez que le datafast_visitor_id cookie est correctement défini
  • Vérifiez que les identifiants de visiteur correspondent entre la création de la session de paiement et l’achèvement du paiement
  • Assurez-vous de capturer l’identifiant de visiteur avant de créer la session de paiement
  • Consultez la documentation de l’API de paiement de DataFast pour des conseils supplémentaires
  • Validez que la structure JSON correspond au format de l’API de paiement de DataFast
  • Vérifiez que tous les champs requis (amount, currency, transaction_id, datafast_visitor_id) sont présents
  • Assurez-vous que le montant est correctement converti (divisez par 100 pour la plupart des devises, sauf pour les devises à zéro décimal)
  • Vérifiez que l’URL de point de terminaison API est correcte : https://datafa.st/api/v1/payments
  • Testez la transformation avec des charges utiles de webhook d’exemple
  • Pour les devises à zéro décimal (JPY, KRW, CLP, VND, UGX, MGA), envoyez le montant tel quel sans diviser par 100
  • Pour toutes les autres devises, divisez le montant par 100 pour convertir des cents à l’unité de base
  • Vérifiez que le code de devise correspond au format ISO 4217 (par exemple, “USD”, “EUR”, “JPY”)

Ressources supplémentaires

Besoin d’aide ? Contactez le support Dodo Payments à [email protected] pour obtenir de l’aide concernant l’intégration.