Cargar datos de Stripe en BigQuery
Puedes cargar datos de Stripe en BigQuery mediante el conector de Stripe con BigQuery Data Transfer Service. Con el conector de Stripe, puedes programar transferencias periódicas para añadir tus datos más recientes de Stripe a BigQuery.
Limitaciones
Las transferencias de datos de Stripe están sujetas a las siguientes limitaciones:
- Una transferencia de datos de Stripe carga las monedas según las unidades menores de Stripe. Para obtener más información, consulta Unidades menores en importes de APIs.
- El conector de Stripe solo transfiere informes pregenerados de cada cuenta de Stripe. El conector de Stripe no genera informes nuevos basados en datos nuevos de Stripe.
- Para transferir informes actualizados, genéralos manualmente en el panel de control de Stripe antes de iniciar la transferencia de datos de Stripe.
- Para obtener más información, consulta Informes de Stripe.
- El conector de Stripe no admite eventos basados en webhooks, actualizaciones en tiempo real ni Stripe Sigma.
- Las transferencias de datos de Stripe desde regiones de Stripe en versión preliminar pueden tener problemas:
- Las opciones de filtrado están restringidas o no están disponibles en las regiones de vista previa de Stripe.
- Las transferencias y las consultas de datos condicionales no se admiten en las regiones de vista previa de Stripe.
- Es posible que los tiempos de ejecución de la transferencia de datos sean largos al transferir datos desde regiones de vista previa de Stripe.
- El conector de Stripe admite algunos objetos con el filtro
StartDate
.- El formato obligatorio del filtro
StartDate
esYYYY-MM-DD
. Si no se proporciona ninguna fecha de inicio, el conector usará de forma predeterminada la fecha de hace tres años. Si se proporciona una fecha anterior al 1 de enero del 2011, el conector usará automáticamente el 1 de enero del 2011. - Para ver una lista de los objetos admitidos, consulta Objetos compatibles con el filtro
StartDate
.
- El formato obligatorio del filtro
- Una configuración de transferencia solo puede admitir una ejecución de transferencia de datos a la vez. Si se programa una segunda transferencia de datos para que se ejecute antes de que se complete la primera, solo se completará la primera transferencia de datos y se omitirán las demás transferencias de datos que se solapen con la primera.
- Para evitar que se omitan transferencias en una misma configuración de transferencia, le recomendamos que aumente el tiempo que transcurre entre las transferencias de grandes cantidades de datos configurando la frecuencia de repetición.
Antes de empezar
En las siguientes secciones se describen los pasos que debe seguir antes de crear una transferencia de datos de Stripe.
Requisitos previos de Stripe
- Para autorizar una transferencia de datos de Stripe, debes tener una cuenta de desarrollador de Stripe. Para registrar una cuenta de Stripe, consulta Registro de Stripe.
- Para configurar tu aplicación de plataforma de Stripe, sigue estos pasos:
- Ve a la sección Desarrolladores del panel de control de Stripe.
- En Conectar, configura tu plataforma para que admita cuentas Estándar y Express.
- Para crear una transferencia de datos de Stripe, se necesita la siguiente información:
- Anota el ID de tu cuenta de Stripe. Para obtener más información, consulta el artículo Crear una cuenta.
- Anota tu clave secreta o clave restringida. Para obtener más información, consulta Claves de API.
- Si tiene previsto transferir datos de cuentas conectadas, asegúrese de que su plataforma esté configurada para Stripe Connect y tenga acceso a las funciones de cuenta necesarias. Para obtener más información sobre Stripe Connect, consulta Plataformas y mercados con Stripe Connect.
- Para obtener más información sobre las cuentas conectadas, consulta Tipos de cuentas conectadas.
Roles de BigQuery necesarios
Para obtener los permisos que necesitas para crear una transferencia, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Administrador de BigQuery (roles/bigquery.admin
) en el proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para crear una transferencia. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear una transferencia, se necesitan los siguientes permisos:
-
bigquery.transfers.update
en el usuario -
bigquery.datasets.get
en el conjunto de datos de destino -
bigquery.datasets.update
en el conjunto de datos de destino
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Requisitos previos de BigQuery
- Comprueba que has completado todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Crea un conjunto de datos de BigQuery para almacenar tus datos.
- Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, asegúrate de que tienes el permiso de
pubsub.topics.setIamPolicy
Gestión de Identidades y Accesos (IAM). No se necesitan permisos de Pub/Sub si solo configuras notificaciones por correo electrónico. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.
Tipos de cuentas de Stripe
El conector de Stripe admite tanto cuentas de plataforma de Stripe como cuentas conectadas de Stripe. Para obtener más información, consulta Tipos de cuentas conectadas.
Conectarse a cuentas de plataformas
Para ejecutar una transferencia de datos de Stripe desde una sola cuenta de plataforma, siga estos pasos cuando configure la transferencia:
- En el campo Account Id (ID de cuenta), introduzca el ID de la cuenta de la plataforma.
- Introduce la clave secreta o restringida de la cuenta de la plataforma en el campo Clave secreta o de API.
- En SyncAllConnectedAccounts, selecciona False.
Para ejecutar una transferencia de datos de Stripe en varias cuentas (por ejemplo, en una cuenta de plataforma vinculada con cuentas conectadas), haz lo siguiente cuando configures la transferencia:
- En el campo Account Id (ID de cuenta), introduzca el ID de la cuenta de la plataforma.
- Introduce la clave secreta o restringida de la cuenta de la plataforma en el campo Clave secreta o de API.
- En SyncAllConnectedAccounts, selecciona True.
Conectar con cuentas conectadas
Las cuentas conectadas son cuentas de Stripe vinculadas a Stripe mediante Stripe Connect.
Para ejecutar una transferencia de datos de Stripe desde una cuenta conectada, haz lo siguiente cuando configures la transferencia:
- Introduzca el ID de la cuenta de la plataforma en el campo Account Id (ID de cuenta).
- Introduzca la clave secreta o restringida de la cuenta de la plataforma a la que está conectada la cuenta vinculada en el campo Clave secreta o de API.
- En SyncAllConnectedAccounts, selecciona False.
Configurar una transferencia de datos de Stripe
Añada datos de Stripe a BigQuery configurando una transferencia con una de las siguientes opciones:
Consola
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en
Crear transferencia.En la sección Tipo de fuente, en Fuente, seleccione Stripe.
En la sección Detalles de la fuente de datos, haga lo siguiente:
- En ID de plataforma o cuenta conectada, introduzca el ID de cuenta de Stripe. Para obtener más información, consulta los requisitos de Stripe.
- En Clave secreta de Stripe, introduce la clave de API de la cuenta de Stripe. Para obtener más información, consulta los requisitos de Stripe.
- En Fecha de inicio, introduce una fecha con el formato
YYYY-MM-DD
. La transferencia de datos carga los datos de Stripe a partir de esta fecha. - Selecciona Sincronizar todas las cuentas conectadas para sincronizar todas las cuentas conectadas.
- En Objetos de Stripe que se van a transferir, introduce los nombres de los objetos de Stripe que quieras transferir o haz clic en Buscar y selecciona los objetos que quieras transferir.
En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que ha creado para almacenar sus datos.
En la sección Nombre de la configuración de transferencia, en Nombre visible, introduce un nombre para la transferencia de datos.
En la sección Opciones de programación, haga lo siguiente:
- En la lista Frecuencia de repetición, selecciona una opción para especificar con qué frecuencia se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizar. Si seleccionas Bajo demanda, la transferencia se realizará cuando la actives manualmente.
- Si procede, selecciona Empezar ahora o Empezar a una hora determinada y proporciona una fecha de inicio y un tiempo de ejecución.
Opcional: En la sección Opciones de notificación, haz lo siguiente:
- Para habilitar las notificaciones por correo, haz clic en el interruptor Notificación por correo. Una vez que hayas habilitado esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
- Para habilitar las notificaciones de Pub/Sub sobre la transferencia, haz clic en el interruptor Notificaciones de Pub/Sub. Puedes seleccionar el nombre del tema o hacer clic en Crear un tema para crear uno.
Haz clic en Guardar.
bq
Introduce el comando bq mk
y proporciona la marca de creación de transferencia
--transfer_config
:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
Donde:
- PROJECT_ID (opcional): el ID de tu proyecto Google Cloud .
Si no se proporciona
--project_id
para especificar un proyecto concreto, se usará el proyecto predeterminado. - DATA_SOURCE: la fuente de datos
stripe
. - DISPLAY_NAME: el nombre visible de la configuración de transferencia de datos. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si necesitas modificarla más adelante.
- DATASET: el conjunto de datos de destino de la configuración de la transferencia.
PARAMETERS: los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
. Estos son los parámetros de una transferencia de datos de Stripe:assets
: lista de objetos de Stripe que se incluirán en esta transferencia.connector.accountId
: el ID de la cuenta de Stripe.connector.secretKey
: la clave de API de la cuenta de Stripe.connector.syncAllConnectedAccounts
: especificatrue
para sincronizar todas las cuentas conectadas.connector.startDate
: introduzca una fecha con el formatoYYYY-MM-DD
. La transferencia de datos carga los datos de Stripe a partir de esta fecha.
Por ejemplo, el siguiente comando crea una transferencia de datos de Stripe en el proyecto predeterminado con todos los parámetros obligatorios:
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
Usa el método projects.locations.transferConfigs.create
y proporciona una instancia del recurso TransferConfig
.
Para ejecutar manualmente una transferencia de datos fuera de tu programación habitual, puedes iniciar una ejecución de rellenado.
Asignación de tipos de datos
En la siguiente tabla se asignan los tipos de datos de Stripe a los tipos de datos de BigQuery correspondientes.
Tipo de datos de Stripe | Tipo de datos de BigQuery | Notas |
---|---|---|
String |
STRING |
|
Dictionary |
STRING |
Cuando se carga un objeto anidado en BigQuery, se convierte en un objeto aplanado. Este objeto aplanado se guarda como una sola cadena literal en la tabla. |
Integer |
INT64 |
|
Double |
DOUBLE |
|
Float |
FLOAT |
|
Decimal |
BIGNUMERIC |
|
BigInt (long) |
BIGNUMERIC |
|
Boolean |
BOOL |
|
Datetime |
TIMESTAMP |
|
Unix timestamp |
TIMESTAMP |
Objetos compatibles con el filtro StartDate
Los siguientes objetos de Stripe admiten el filtro StartDate
, que te permite cargar datos basados en el tiempo:
- Cuentas
- ApplicationFees
- BalanceTransactions
- Titulares de tarjetas
- Cargos
- Cupones
- Clientes
- Disputas
- EarlyFraudWarnings
- Eventos
- FileLinks
- Archivos
- InvoiceItems
- Facturas
- IssuingCards
- IssuingDisputes
- PaymentIntent
- Pagos
- Planes
- Precios
- Productos
- PromotionCodes
- Reembolsos
- Reseñas
- ShippingRates
- Suscripciones
- TaxRates
- TopUps
- Transferencias
- ValueListItems
- ValueLists
Solucionar problemas de configuración de transferencias
Si tienes problemas para configurar la transferencia de datos, consulta Problemas con la transferencia de Stripe.
Precios
La transferencia de datos de Stripe a BigQuery no tiene ningún coste mientras esta función esté en vista previa.
Siguientes pasos
- Para obtener una descripción general de BigQuery Data Transfer Service, consulta el artículo Introducción a BigQuery Data Transfer Service.
- Para obtener información sobre cómo usar las transferencias, como obtener información sobre una configuración de transferencia, enumerar configuraciones de transferencia y ver el historial de ejecuciones de una transferencia, consulta Trabajar con transferencias.
- Consulta cómo cargar datos con operaciones entre nubes.