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 es YYYY-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.
  • 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:
    1. Ve a la sección Desarrolladores del panel de control de Stripe.
    2. 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.

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

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

  1. Ve a la página Transferencias de datos de la Google Cloud consola.

    Ir a Transferencias de datos

  2. Haz clic en Crear transferencia.

  3. En la sección Tipo de fuente, en Fuente, seleccione Stripe.

  4. 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.
  5. En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que ha creado para almacenar sus datos.

  6. En la sección Nombre de la configuración de transferencia, en Nombre visible, introduce un nombre para la transferencia de datos.

  7. 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.
  8. 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.
  9. 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: especifica true para sincronizar todas las cuentas conectadas.
    • connector.startDate: introduzca una fecha con el formato YYYY-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.

Cuando guardas la configuración de la transferencia, el conector de Stripe activa automáticamente una ejecución de la transferencia según la opción de programación que hayas elegido. En cada ejecución de la transferencia, el conector de Stripe transfiere todos los datos disponibles de Stripe a BigQuery.

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