Charger des données Stripe dans BigQuery

Vous pouvez charger des données de Stripe vers BigQuery à l'aide du connecteur Stripe avec le service de transfert de données BigQuery. En utilisant le connecteur Stripe, vous pouvez planifier des tâches de transfert récurrentes qui ajoutent vos dernières données Stripe à BigQuery.

Limites

Les transferts de données Stripe sont soumis aux limitations suivantes :

  • Un transfert de données Stripe charge les devises selon les sous-unités de Stripe. Pour en savoir plus, consultez Unités mineures dans les montants de l'API.
  • Le connecteur Stripe ne transfère que les rapports pré-générés pour chaque compte Stripe. Le connecteur Stripe ne génère pas de rapports basés sur de nouvelles données Stripe.
    • Pour transférer des rapports à jour, générez-les manuellement dans le tableau de bord Stripe avant de lancer le transfert de données Stripe.
    • Pour en savoir plus, consultez Rapports Stripe.
  • Le connecteur Stripe n'est pas compatible avec les événements basés sur les webhooks, les mises à jour en temps réel ni Stripe Sigma.
  • Les transferts de données Stripe depuis les régions Stripe en aperçu peuvent rencontrer des problèmes :
    • Les options de filtrage sont limitées ou indisponibles dans les régions de prévisualisation Stripe.
    • Les transferts et les requêtes de données conditionnels ne sont pas disponibles dans les régions d'aperçu Stripe.
    • Vous pouvez rencontrer de longs délais d'exécution de transfert de données lorsque vous transférez des données depuis les régions d'aperçu Stripe.
  • Le connecteur Stripe est compatible avec certains objets avec le filtre StartDate.
    • Le format requis pour le filtre StartDate est YYYY-MM-DD. Si aucune date de début n'est fournie, le connecteur utilise par défaut une date antérieure de trois ans à la date actuelle. Si une date antérieure au 1er janvier 2011 est fournie, le connecteur utilise automatiquement le 1er janvier 2011.
    • Pour obtenir la liste des objets compatibles, consultez Objets compatibles avec le filtre StartDate.
  • Une seule exécution de transfert de données peut être active à la fois pour une configuration de transfert donnée. Si un deuxième transfert de données est planifié avant la fin du premier, seul le premier transfert de données sera effectué. Tous les autres transferts de données qui se chevauchent avec le premier seront ignorés.
    • Pour éviter les transferts ignorés dans une même configuration de transfert, nous vous recommandons d'augmenter la durée entre les transferts de données volumineux en configurant la fréquence de répétition.

Avant de commencer

Les sections suivantes décrivent la procédure à suivre avant de créer un transfert de données Stripe.

Conditions préalables pour Stripe

  • Vous devez disposer d'un compte de développeur Stripe pour autoriser un transfert de données Stripe. Pour enregistrer un compte Stripe, consultez Enregistrement Stripe.
  • Configurez votre application de plate-forme Stripe en procédant comme suit :
    1. Accédez à la section Développeurs du tableau de bord Stripe.
    2. Sous Connect (Connecter), configurez votre plate-forme pour qu'elle accepte les comptes Standard et Express.
  • Pour créer un transfert de données Stripe, vous devez fournir les informations suivantes :
    • Notez l'ID de votre compte Stripe. Pour en savoir plus, consultez Créer un compte.
    • Notez votre clé secrète ou votre clé restreinte. Pour en savoir plus, consultez Clés API.
  • Si vous prévoyez de transférer des données depuis des comptes associés, assurez-vous que votre plate-forme est configurée pour Stripe Connect et qu'elle a accès aux fonctionnalités de compte nécessaires. Pour en savoir plus sur Stripe Connect, consultez Plates-formes et places de marché avec Stripe Connect.

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer un transfert, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer un transfert. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un transfert :

  • bigquery.transfers.update sur l'utilisateur
  • bigquery.datasets.get sur l'ensemble de données cible
  • bigquery.datasets.update sur l'ensemble de données cible

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Prérequis pour BigQuery

Types de comptes Stripe

Le connecteur Stripe est compatible avec les comptes de plate-forme Stripe et les comptes Stripe associés. Pour en savoir plus, consultez Types de comptes Connect.

Associer des comptes de plate-forme

Pour exécuter un transfert de données Stripe à partir d'un seul compte de plate-forme, procédez comme suit lorsque vous configurez le transfert :

  • Saisissez l'ID du compte de plate-forme dans le champ ID du compte.
  • Saisissez la clé secrète ou restreinte du compte de plate-forme dans le champ Clé secrète/API.
  • Pour SyncAllConnectedAccounts, sélectionnez False.

Pour exécuter un transfert de données Stripe pour plusieurs comptes (par exemple, pour un compte de plate-forme associé à des comptes connectés), procédez comme suit lorsque vous configurez le transfert :

  • Saisissez l'ID du compte de plate-forme dans le champ ID du compte.
  • Saisissez la clé secrète ou restreinte du compte de plate-forme dans le champ Clé secrète/API.
  • Pour SyncAllConnectedAccounts, sélectionnez True.

Se connecter aux comptes associés

Les comptes associés sont des comptes Stripe associés à Stripe à l'aide de Stripe Connect.

Pour exécuter un transfert de données Stripe à partir d'un compte associé, procédez comme suit lorsque vous configurez le transfert :

  • Saisissez l'ID du compte de plate-forme pour le compte associé dans le champ ID du compte.
  • Saisissez la clé secrète ou restreinte du compte de plate-forme auquel le compte associé est connecté dans le champ Clé secrète/API.
  • Pour SyncAllConnectedAccounts, sélectionnez False.

Configurer un transfert de données Stripe

Ajoutez des données Stripe dans BigQuery en configurant un transfert à l'aide de l'une des options suivantes :

Console

  1. Accédez à la page "Transferts de données" dans la console Google Cloud .

    Accéder à la page Transferts de données

  2. Cliquez sur Créer un transfert.

  3. Dans le champ Source de la section Type de source, sélectionnez Stripe.

  4. Dans la section Data source details (Détails de la source de données), procédez comme suit :

    • Dans le champ Platform/Connected Account ID (ID de la plate-forme/du compte associé), saisissez l'ID du compte Stripe. Pour en savoir plus, consultez les conditions préalables de Stripe.
    • Dans le champ Clé secrète Stripe, saisissez la clé API du compte Stripe. Pour en savoir plus, consultez les conditions préalables de Stripe.
    • Pour Date de début, saisissez une date au format YYYY-MM-DD. Le transfert de données charge les données Stripe à partir de cette date.
    • Sélectionnez Synchroniser tous les comptes associés pour synchroniser tous les comptes associés.
    • Dans le champ Objets Stripe à transférer, saisissez les noms des objets Stripe que vous voulez transférer ou cliquez sur Parcourir et sélectionnez les objets concernés.
  5. Dans la section Paramètres de destination, pour le champ Ensemble de données, sélectionnez l'ensemble de données que vous avez créé pour stocker vos données.

  6. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.

  7. Dans la section Options de programmation, procédez comme suit :

    • Dans la liste Fréquence de répétition, sélectionnez une option pour spécifier la fréquence d'exécution de ce transfert de données. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, ce transfert s'exécute lorsque vous le déclenchez manuellement.
    • Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.
  8. Facultatif : dans la section Options de notification, procédez comme suit :

    • Pour activer les notifications par e-mail, cliquez sur le bouton Notification par e-mail. Lorsque vous activez cette option, l'administrateur de transfert reçoit une notification par e-mail en cas d'échec de l'exécution du transfert.
    • Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert, cliquez sur le bouton Notifications Pub/Sub. Vous pouvez sélectionner le nom de votre sujet ou cliquer sur Créer un sujet pour en créer un.
  9. Cliquez sur Enregistrer.

bq

Saisissez la commande bq mk, puis spécifiez l'indicateur de création de transfert --transfer_config.

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Où :

  • PROJECT_ID (facultatif) : ID de votre projet Google Cloud . Si vous ne fournissez pas de --project_id afin de spécifier un projet particulier, le projet par défaut est utilisé.
  • DATA_SOURCE. La source de données – stripe.
  • DISPLAY_NAME : nom à afficher de la configuration de transfert de données. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.
  • DATASET : ensemble de données cible de la configuration de transfert.
  • PARAMETERS correspond aux paramètres de la configuration de transfert créée, au format JSON. Exemple : --params='{"param":"param_value"}'. Voici les paramètres d'un transfert de données Stripe :

    • assets : liste des objets Stripe à inclure dans ce transfert.
    • connector.accountId : ID du compte Stripe.
    • connector.secretKey : clé API pour le compte Stripe.
    • connector.syncAllConnectedAccounts : spécifiez true pour synchroniser tous les comptes associés.
    • connector.startDate : saisissez une date au format YYYY-MM-DD. Le transfert de données charge les données Stripe à partir de cette date.

Par exemple, la commande suivante crée un transfert de données Stripe dans le projet par défaut avec tous les paramètres requis :

  bq mk \
      --transfer_config \
      --target_dataset=mydataset \
      --data_source=stripe \
      --display_name='My Transfer' \
      --params= ' {
  "assets" : [ "Customers" , "Accounts", "BalanceSummaryReport"] ,
  "connector.accountId" : "acct_000000000000",
  "connector.secretKey" : "sk_test_000000000",
  "connector.syncAllConnectedAccounts" : "true",
  "connector.startDate": "2025-05-20"
  }'

API

Utilisez la méthode projects.locations.transferConfigs.create et fournissez une instance de la ressource TransferConfig.

Lorsque vous enregistrez la configuration du transfert, le connecteur Stripe déclenche automatiquement une exécution du transfert en fonction de l'option de programmation que vous avez choisie. À chaque exécution du transfert, le connecteur Stripe transfère toutes les données disponibles de Stripe vers BigQuery.

Pour exécuter manuellement un transfert de données en dehors de votre calendrier habituel, vous pouvez lancer une exécution de remplissage.

Mappage des types de données

Le tableau suivant mappe les types de données Stripe aux types de données BigQuery correspondants.

Type de données Stripe Type de données BigQuery Remarques
String STRING
Dictionary STRING Lorsqu'un objet imbriqué est chargé dans BigQuery, il est converti en objet aplati. Cet objet aplati est ensuite enregistré en tant que chaîne littérale unique dans la table.
Integer INT64
Double DOUBLE
Float FLOAT
Decimal BIGNUMERIC
BigInt (long) BIGNUMERIC
Boolean BOOL
Datetime TIMESTAMP
Unix timestamp TIMESTAMP

Objets compatibles avec le filtre StartDate

Les objets Stripe suivants sont compatibles avec le filtre StartDate, qui vous permet de charger des données temporelles :

  • Comptes
  • ApplicationFees
  • BalanceTransactions
  • Titulaire de la carte
  • Frais
  • Bons de réduction
  • Clients
  • Litiges
  • EarlyFraudWarnings
  • Événements
  • FileLinks
  • Fichiers
  • InvoiceItems
  • Factures
  • IssuingCards
  • IssuingDisputes
  • PaymentIntent
  • Paiements
  • Forfaits
  • Prix
  • Produits
  • PromotionCodes
  • Remboursements
  • Avis
  • ShippingRates
  • Abonnements
  • TaxRates
  • TopUps
  • Transferts
  • ValueListItems
  • ValueLists

Résoudre les problèmes liés à la configuration d'un transfert

Si vous rencontrez des problèmes lors de la configuration de votre transfert de données, consultez la section Problèmes de transfert Stripe.

Tarifs

Le transfert de données Stripe vers BigQuery est gratuit tant que cette fonctionnalité est disponible en version bêta.

Étapes suivantes