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 de Stripe à BigQuery.

Limites

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

  • Un transfert de données Stripe charge les devises en fonction des unités mineures de Stripe. Pour en savoir plus, consultez la section 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. Il ne génère pas de nouveaux rapports en fonction des 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 la section Rapports Stripe.
  • Le connecteur Stripe n'est pas compatible avec les événements basés sur des webhooks, les mises à jour en temps réel ni Stripe Sigma.
  • Les transferts de données Stripe provenant des régions Stripe en preview peuvent rencontrer des problèmes :
    • Les options de filtrage sont limitées ou indisponibles dans les régions Stripe en preview.
    • Les transferts et requêtes de données conditionnels ne sont pas compatibles dans les régions Stripe en preview.
    • Vous pouvez rencontrer des durées d'exécution de transfert de données longues lorsque vous transférez des données depuis des régions Stripe en preview.
  • 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 la date d'il y a trois ans. 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 la section Objets compatibles avec le filtre StartDate.
  • Une seule configuration de transfert ne peut prendre en charge qu'une seule exécution de transfert de données à la fois. Si une deuxième exécution de transfert de données est programmée avant la fin de la première, seule la première exécution de transfert de données se termine, tandis que toutes les autres exécutions de transfert de données qui chevauchent la première sont ignorées.
    • Pour éviter les transferts ignorés dans une seule 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 la section 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, configurez votre plate-forme pour qu'elle soit compatible avec les comptes Standard et Express.
  • Les informations suivantes sont nécessaires pour créer un transfert de données Stripe :
    • Notez votre ID de compte Stripe. Pour en savoir plus, consultez la section Créer un compte.
    • Notez votre clé secrète ou votre clé limitée. Pour en savoir plus, consultez la section Clés API.
  • Si vous prévoyez de transférer des données à partir de 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 la section 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 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 la section Types de comptes Connect.

Se connecter à 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 de compte.
  • Saisissez la clé secrète ou la clé limitée 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 associés, procédez comme suit lorsque vous configurez le transfert :

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

Se connecter à des 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 du compte associé dans le champ ID de compte.
  • Saisissez la clé secrète ou la clé limitée du compte de plate-forme auquel le compte associé est associé dans le champ Clé secrète/API.
  • Pour SyncAllConnectedAccounts, sélectionnez False.

Configurer un transfert de données Stripe

Ajoutez des données Stripe à 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 Google Cloud console.

    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 ID de compte de plate-forme/associé, saisissez l'ID de compte Stripe. Pour en savoir plus, consultez la section Conditions préalables pour Stripe.
    • Dans le champ Clé secrète Stripe, saisissez la clé API du compte Stripe. Pour en savoir plus, consultez la section Conditions préalables pour Stripe.
    • Dans le champ 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 souhaitez 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 :

  8. Facultatif : dans la section Options de notification, procédez comme suit :

  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 Google Cloud projet. 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 du 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 projects.locations.transferConfigs.create méthode et fournissez une instance de la TransferConfig ressource.

Lorsque vous enregistrez la configuration de transfert, le connecteur Stripe déclenche automatiquement une exécution de transfert en fonction de votre option de programmation. À chaque exécution de 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 programmation habituelle, 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 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 sans frais tant que cette fonctionnalité est disponible en version bêta.

Étape suivante