Stripe offre des capacités analytiques limitées, il n’est donc pas étonnant que de nombreuses personnes choisissent d’exporter leurs données financières en dehors de la plateforme. BigQuery est une destination courante pour ces données, à la fois pour ceux qui recherchent des fonctionnalités analytiques plus étendues et pour ceux qui souhaitent simplement sauvegarder leurs données financières.
Comme vous pouvez vous en douter, il y a plus d’une façon de connecter Stripe à BigQuery. En fait, il y a au moins une demi-douzaine de méthodes que vous pouvez utiliser, en fonction de vos compétences, de votre environnement et de vos besoins. J’ai choisi trois d’entre elles qui me semblaient les plus viables – elles ne nécessitent pas une installation extensive et la plupart peuvent être personnalisées pour s’adapter à votre projet.
Méthodes de chargement des données de Stripe vers BigQuery
Dans cet article, je vais couvrir les façons suivantes de connecter Stripe à BigQuery :
- Exportation entièrement automatisée vers BigQuery à l’aide de Coupler.io – Coupler.io est une plateforme d’automatisation des rapports tout-en-un qui permet de transformer des données brutes en rapports significatifs. Elle vous permet de collecter des données depuis Stripe, de les transformer et de les charger vers BigQuery ou d’autres destinations. Elle permet de gagner beaucoup de temps, donne un contrôle total sur les données exportées et ne nécessite aucun codage.
- Exportations manuelles à partir de Stripe – réalisables pour des exportations ponctuelles et ne nécessitant pas de compétences techniques. Assez contraignant et répétitif.
- Stripe Sigma et webhooks – peut être automatisé et personnalisé à votre guise, nécessite un abonnement supplémentaire et n’est pas adapté aux utilisateurs non techniques.
Je couvrirai chacune de ces méthodes dans les chapitres suivants.
Intégration automatisée de Stripe à BigQuery
Si vous prévoyez de récupérer à plusieurs reprises des données de Stripe vers BigQuery, vous devriez envisager d’automatiser le processus. Avec Coupler.io, vous pouvez établir la connexion en quelques minutes et charger les données souhaitées dans BigQuery sans aucun code. C’est aussi simple que cela.
- Cliquez sur Proceed (Continuer) dans le formulaire ci-dessous si nous avons présélectionné Stripe comme application source et BigQuery comme destination. Vous serez invité à créer un compte Coupler.io gratuitement.
- En suivant l’assistant, connectez votre compte Stripe et choisissez l’entité de données que vous souhaitez récupérer. Ne vous inquiétez pas – si vous souhaitez récupérer plusieurs entités, il vous suffira plus tard de dupliquer cette source et de modifier certains paramètres.

- Créez des filtres supplémentaires si vous le souhaitez. Vous verrez ensuite l’aperçu de vos données – le chargement peut prendre un moment ou deux si vous avez beaucoup de données à récupérer.
- Dans le Tranform module (module de transformation), vous pouvez ajouter ou supprimer des colonnes, créer de nouveaux champs calculés, appliquer des filtres, des tris, etc. Modifiez les données à votre convenance et cliquez sur Proceed (Exécuter).

- Ensuite, configurez BigQuery comme destination de vos données. Vous aurez besoin de :
- Créer un compte de service avec les autorisations BigQuery Data Editor et BigQuery Job User.
- Créer une nouvelle clé pour ce compte et l’enrigstrer au format JSON.
- Télécharger le fichier JSON sur Coupler.io. Pour en savoir plus sur cette configuration, consultez la base de connaissances Coupler.io.
- De retour dans Coupler.io, choisissez le jeu de données et le tableau pour votre importation. Spécifiez le schéma ou laissez-le être détecté automatiquement.
- Ensuite, lancez l’importateur. Voici un exemple d’exportation de factures envoyées de Stripe vers BigQuery :

- Avant de vous plonger dans vos données, il est utile d’automatiser les importations afin que les données soient rafraîchies selon le calendrier que vous avez choisi. Pour ce faire, retournez sur Coupler.io et activez l’option Autolatic data refresh (Actualisation automatique des données). Définissez un calendrier et enregistrez.

C’est tout ! Si vous souhaitez exporter des données de Stripe vers d’autres destinations, consultez notre récent guide sur la connexion de Stripe à Power BI.
Exportation manuelle de Stripe vers BigQuery
Stripe offre une possibilité de base d’exporter des entités de données particulières sous forme de fichiers .csv. Vous pouvez ensuite télécharger un tel fichier vers Google Cloud Storage et BigQuery. Cette approche fonctionnera parfaitement si vous avez besoin d’analyser un type de données spécifique, par exemple la liste des factures d’une période donnée. L’inconvénient de cette méthode est qu’elle demande beaucoup d’efforts à chaque fois que vous exportez. De plus, vous ne pouvez pas exporter différents types de données à la fois ni personnaliser les données exportées (par exemple, récupérer uniquement les factures d’une valeur de 1 000 $ ou plus).
Suivez ces étapes pour connecter manuellement Stripe à BigQuery :
- Connectez-vous à Stripe et accédez à la catégorie que vous souhaitez exporter.
- Cliquez sur le bouton Export (Exporter) à droite et modifiez les critères. Si vous ne souhaitez pas récupérer toutes les colonnes, vous pouvez également personnaliser ce critère. Cliquez ensuite sur le bouton export (Exporter) et le fichier .csv sera enregistré.

- Ensuite, ouvrez la console BigQuery et cliquez pour créer un tableau pour l’un des ensembles de données existants ou nouveaux. Dans le menu Create table from (Créer une table à partir de), sélectionnez Upload (Télécharger). Trouvez votre fichier et changez le format de fichier en CSV. Spécifiez le schéma ou demandez à BQ de le détecter automatiquement, puis cliquez sur Create table (Créer un tableau).

Si vous préférez, vous pouvez d’abord charger le fichier dans Google Cloud Storage. Ensuite, chargez-le dans BigQuery à l’aide de la syntaxe suivante :
LOAD DATA OVERWRITE {{votre jeu de données}}.{{votre tableau}} FROM FILES ( Format = 'CSV', Uris = ['gs://bucket/path/file.csv']) ;
Stripe Sigma et webhooks pour des exportations automatisées vers BigQuery
Stripe a son propre produit appelé Stripe Sigma qui est destiné à vous aider à accéder à vos données. Vous pouvez utiliser SQL pour extraire le type de données dont vous avez besoin et créer des rapports ou les pousser plus loin dans des outils comme BigQuery avec Python, par exemple. Sigma est un add-on payant, consultez le calculateur de prix pratique pour en savoir plus sur les coûts estimés que vous auriez à inclure.
Pour charger des données de Stripe vers BigQuery à l’aide de Sigma, vous devez procéder comme suit :
- Connectez-vous à Stripe Sigma et planifiez une requête SQL récurrente.
- Configurez un webhook pour recevoir les résultats d’une requête.
- Écrivez un script qui chargera la charge utile dans BigQuery.
C’est tout ce qu’il y a à savoir. Passons maintenant aux instructions étape par étape :
- Connectez-vous à Stripe et accédez à la section Developers (Développeurs).
- Dans la section API keys (Clés API), créez une clé secrète et enregistrez-la pour une utilisation ultérieure.
- Dans BigQuery, créez un compte de service avec les autorisations suivantes : BigQuery Data Editor et BigQuery Job User. Créez également une nouvelle clé pour ce compte et enregistrez-la dans un fichier JSON.
- De retour dans Stripe, naviguez vers More -> Sigma (Plus -> Sigma). Commencez un essai gratuit si vous n’avez pas encore utilisé le service.
- Une fois que vos données sont prêtes, cliquez sur Scheduled Queries (Requêtes planifiées) et ajoutez-en une nouvelle. Écrivez une requête SQL qui récupérera les données souhaitées de Stripe, en suivant le schéma de tableau que vous voyez à gauche. Par exemple, la requête suivante récupère le code de certains détails essentiels de la facture :
SELECT id, date, total, due_date, paid as is_paid FROM invoices
- Exécutez le code pour vous assurer qu’il renvoie les bonnes informations. Si c’est le cas, enregistrez-le et cliquez sur le bouton Schedule (calendirer) pour choisir la fréquence d’exécution du code, par exemple, tous les jours (daily).

- Vous pouvez inclure un ou plusieurs abonnés qui recevront un fichier CSV contenant les résultats d’une requête, à chaque fois qu’elle est exécutée. Techniquement, une telle personne pourrait alors télécharger un fichier vers BigQuery, mais cela créerait une charge de travail inutile. C’est pourquoi il est préférable d’opter pour l’une ou l’autre solution :
- envoyer les résultats de la requête à BigQuery via l’API ou
- utiliser les webhooks pour récupérer le fichier de résultats de la requête et le charger dans BigQuery.
- Je vous montrerai la méthode des webhooks, mais les deux sont parfaitement viables.
Lorsqu’une requête programmée est exécutée, Stripe envoie l’événement sigma.scheduled_query_run.created
. En configurant un webhook pour écouter cet événement, vous serez en mesure de récupérer sa charge utile qui comprend également un chemin vers un fichier contenant les résultats de la requête.
- Pour configurer un webhook dans Stripe, allez dans l’onglet Developers (Développeurs), puis Webhooks et cliquez sur + Add endpoint (+ Ajouter un point de terminaison). Configurez-le pour écouter
sigma.scheduled_query_run.created
et fournissez un lien vers votre point de terminaison.
Voici à quoi ressemble une charge utile de l’événement sigma.scheduled_query_run.created
:
{ "object" : "event", "pending_webhooks" : 2, "créeated" : 1502793192, "type" : "sigma.scheduled_query_run.created", "livemode" : true, "request" : null, "data" : { "object" : { "id" : "sqr_Jxhi5BvNIytZtVT0XQG4", "object" : "scheduled_query_run", "status" : "completed", "data_load_time" : 1504356600, "file" : { "id" : "{{ ID DE FICHIER }}", "object" : "file", "url" : "https://files.stripe.com/v1/files/{{ FILE ID }}/contents", "created" : 1507842188, "purpose" : "sigma_scheduled_query", "size" : 55035, "type" : "csv" }, "title" : "Invoices load", "sql" : "SELECT id, date, total, due_date, paid as is_paid FROM invoices", "created" : 1524754194, "result_available_until" : 1505393633, "error" : null, "livemode" : true } } }
- Remarquez l’URL des résultats de la requête qui se trouve dans un sous-champ
data.object.file.url
. Vous pouvez la récupérer à l’aide de la commande curl, en insérant votre clé API. Par exemple, vous pouvez récupérer l’URL à l’aide de la commande curl, en insérant votre clé API :
curl https://files.stripe.com/v1/files/{{ FILE ID }}/contents -u sk_live_123456789:
- Vous pouvez également écrire un script qui écoutera cet événement et chargera la charge utile dans BigQuery. Voici un exemple en Flask :
from flask import Flask, request import stripe from google.cloud import bigquery from google.oauth2 import service_account credentials = service_account.Credentials.from_service_account_file( 'path/to/file.json') # chemin vers votre compte de service BQ fee app = Flask(__name__) stripe.api_key = 'YOUR_STRIPE_SECRET_KEY' # Remplacer par votre véritable clé secrète Stripe bigquery_client = bigquery.Client(project='YOUR_PROJECT_ID', credentials=credentials) # Remplacez par votre ID de projet BigQuery réel @app.route('/webhook', methods=['POST']) def webhook() : event = stripe.Event.construct_from(request.json, stripe.api_key) if event.type == 'sigma.scheduled_query_run.created' : file_url = event.data.object.file.url # Chargement des données du fichier dans BigQuery job_config = bigquery.LoadJobConfig( source_format=bigquery.SourceFormat.CSV, skip_leading_rows=1, autodetect=True, ) load_job = bigquery_client.load_table_from_uri( file_url, 'YOUR_DATASET.YOUR_TABLE', # Remplacer par votre jeu de données BigQuery réel et le nom de votre tableau job_config=job_config, ) load_job.result() # Attendez que cela soit terminé return 'Your Stripe data is now in BigQuery!', 200 if __name__ == '__main__' : app.run(port=5000)
Veillez à insérer votre clé API et les détails de votre QB aux endroits correspondants dans le code. Ajoutez également un chemin vers le fichier JSON que vous avez enregistré il y a quelques instants. Par exemple, si vous avez sauvegardé le fichier de clé JSON en tant que my_key.json
dans le même répertoire que votre script Python, vous pouvez remplacer 'path/to/service-account-key.json'
par 'my_key.json'
. Pour automatiser ce script Stripe to BigQuery, vous pouvez mettre en place, par exemple, un job cron.
Note : Vous pouvez charger des données de Stripe vers un tableau BigQuery même sans Stripe Sigma. Vous pouvez toujours vous appuyer sur les webhooks, mais plutôt que d’écouter l’événement sigma.scheduled_query_run.created
et de récupérer les résultats des requêtes, vous écouterez des événements particuliers, tels que invoice_created
. Ensuite, il suffit de charger leur payload dans BigQuery avec un script similaire à celui que j’ai mis ci-dessus. Cette méthode n’est pas aussi pratique que la précédente, mais elle est certainement plus rentable.
Comment connecter Stripe à BigQuery – résumé
Il existe certainement d’autres façons de connecter Stripe à BigQuery, mais les trois que j’ai mentionnées devraient faire l’affaire pour pratiquement tout le monde. Chaque approche est différente, alors résumons rapidement afin que vous puissiez choisir celle qui vous convient le mieux.
- Si vous recherchez une solution simple mais puissante, Coupler.io conviendra parfaitement. Il est adapté à un public non technique, mais des milliers d’ingénieurs et d’analystes l’utilisent également avec beaucoup de succès. C’est aussi la façon la plus simple d’automatiser les exportations Stripe vers BigQuery.
- Si vous avez besoin d’une méthode simple et unique pour exporter certaines données de Stripe, regardez si l’approche manuelle peut faire l’affaire. Elle est rapide à mettre en place et ne nécessite aucune expertise technique.
- Si vous préférez écrire du code, vous pouvez combiner Stripe Sigma et Webhooks ou vous appuyer uniquement sur ces derniers. Cette solution vous offre toute la flexibilité dont vous avez besoin, mais elle est naturellement plus complexe et prend plus de temps, tant en termes de configuration initiale que de maintenance du code.
D’ailleurs, si vous avez besoin d’une solution personnalisée et qu’aucune de ces méthodes ne vous convient, il y a de fortes chances que nous puissions vous aider. Coupler.io propose des services de conseil en matière d’analyse de données, grâce auxquels nous aidons les entreprises à donner un sens à leurs données. Cela peut impliquer, par exemple, de connecter les données Stripe aux informations provenant des autres applications que vous utilisez, de mettre en place des automatisations, des alertes de données ou des tableaux de bord interactifs dans les outils de votre choix.
Si vous souhaitez bénéficier de ces avantages, n’hésitez pas à prendre rendez-vous pour une consultation gratuite afin de discuter de votre projet.
Pour plus d’informations sur ce sujet, consultez notre article sur la façon de connecter Stripe à Looker Studio.
Automatisez l’exportation de données avec Coupler.io
Commencez gratuitement