Carga datos de Stripe en BigQuery

Puedes cargar datos de Stripe en BigQuery con el conector de Stripe y el Servicio de transferencia de datos de BigQuery. Con el conector de Stripe, puedes programar trabajos de transferencia recurrentes que agreguen 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 secundarias de Stripe. Para obtener más información, consulta Unidades secundarias en los importes de la API.
  • El conector de Stripe solo transfiere informes generados previamente para cada cuenta de Stripe. El conector de Stripe no genera informes nuevos basados en datos nuevos de Stripe.
    • Para transferir informes actualizados, genera los informes manualmente en el panel 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.
  • Es posible que las transferencias de datos de Stripe desde regiones de Stripe en versión preliminar tengan problemas:
    • Las opciones de filtrado están restringidas o no están disponibles en las regiones de vista previa de Stripe.
    • Las transferencias y consultas de datos condicionales no se admiten en las regiones de vista previa de Stripe.
    • Es posible que experimentes tiempos de ejecución prolongados de la transferencia de datos cuando transfieras datos desde las regiones de vista previa de Stripe.
  • El conector de Stripe admite algunos objetos con el filtro StartDate.
    • El formato requerido para el filtro StartDate es YYYY-MM-DD. Si no se proporciona una fecha de inicio, el conector establece de forma predeterminada tres años antes de la fecha actual. Si se proporciona una fecha anterior al 1 de enero de 2011, el conector usará automáticamente el 1 de enero de 2011.
    • Para obtener una lista de los objetos compatibles, consulta Objetos que admiten el filtro StartDate.
  • Una sola configuración de transferencia solo puede admitir una ejecución de transferencia de datos en un momento determinado. 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, mientras que se omitirán las demás transferencias de datos que se superpongan con la primera.
    • Para evitar que se omitan transferencias dentro de una misma configuración de transferencia, te recomendamos que aumentes la duración del tiempo entre las transferencias de datos grandes configurando la Frecuencia de repetición.

Antes de comenzar

En las siguientes secciones, se describen los pasos que debes seguir antes de crear una transferencia de datos de Stripe.

Requisitos previos de Stripe

  • Debes tener una cuenta de desarrollador de Stripe para autorizar una transferencia de datos de Stripe. Para registrar una cuenta de Stripe, consulta Registro en Stripe.
  • Para configurar tu aplicación de la plataforma de Stripe, sigue estos pasos:
    1. Navega a la sección Developers del panel de Stripe.
    2. En Conectar, configura tu plataforma para que admita cuentas estándar y Express.
  • Se necesita la siguiente información para crear una transferencia de datos de Stripe:
    • Anota el ID de tu cuenta de Stripe. Para obtener más información, consulta Crea una cuenta.
    • Anota tu clave secreta o restringida. Para obtener más información, consulta Claves de API.
  • Si planeas transferir datos de cuentas conectadas, asegúrate de que tu plataforma esté configurada para Stripe Connect y tenga acceso a las capacidades de cuenta necesarias. Para obtener más información sobre Stripe Connect, consulta Plataformas y mercados con Stripe Connect.

Roles de BigQuery requeridos

Para obtener los permisos que necesitas para crear una transferencia, pídele a tu administrador que te otorgue el rol de IAM de administrador de BigQuery (roles/bigquery.admin) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear una transferencia. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear una transferencia:

  • 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 o con otros roles predefinidos.

Requisitos previos de BigQuery

Tipos de cuentas de Stripe

El conector de Stripe admite tanto las cuentas de la plataforma de Stripe como las cuentas conectadas de Stripe. Para obtener más información, consulta Tipos de cuentas de Connect.

Conéctate a cuentas de plataformas

Para ejecutar una transferencia de datos de Stripe desde solo una cuenta de plataforma, haz lo siguiente cuando configures la transferencia:

  • Ingresa el ID de la cuenta de la plataforma en el campo ID de cuenta.
  • Ingresa la clave secreta o restringida de la cuenta de la plataforma en el campo Clave secreta/de API.
  • En SyncAllConnectedAccounts, selecciona False.

Para ejecutar una transferencia de datos de Stripe para varias cuentas, por ejemplo, para una cuenta de plataforma vinculada con cuentas conectadas, haz lo siguiente cuando configures la transferencia:

  • Ingresa el ID de la cuenta de la plataforma en el campo ID de cuenta.
  • Ingresa la clave secreta o restringida de la cuenta de la plataforma en el campo Clave secreta/de API.
  • En SyncAllConnectedAccounts, selecciona True.

Conéctate a las cuentas conectadas

Las cuentas conectadas son cuentas de Stripe vinculadas a Stripe a través de Stripe Connect.

Para ejecutar una transferencia de datos de Stripe desde una cuenta conectada, haz lo siguiente cuando configures la transferencia:

  • Ingresa el ID de la cuenta de la plataforma para la cuenta conectada en el campo ID de cuenta.
  • En el campo Clave secreta o restringida/clave de API, ingresa la clave secreta o restringida de la cuenta de la plataforma a la que está conectada la cuenta conectada.
  • En SyncAllConnectedAccounts, selecciona False.

Configura una transferencia de datos de Stripe

Configura una transferencia para agregar datos de Stripe a BigQuery con una de las siguientes opciones:

Console

  1. Ve a la página Transferencia de datos en 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, selecciona Stripe.

  4. En la sección Detalles de la fuente de datos, haz lo siguiente:

    • En ID de la plataforma o de la cuenta conectada, ingresa el ID de la cuenta de Stripe. Para obtener más información, consulta los requisitos previos de Stripe.
    • En Stripe Secret Key, ingresa la clave de API de la cuenta de Stripe. Para obtener más información, consulta los requisitos previos de Stripe.
    • En Fecha de inicio, ingresa una fecha en el formato YYYY-MM-DD. La transferencia de datos carga los datos de Stripe a partir de esta fecha.
    • Selecciona Sincronizar todas las cuentas asociadas para sincronizar todas las cuentas asociadas.
    • En Objetos de Stripe que se transferirán, ingresa los nombres de los objetos de Stripe que deseas transferir o haz clic en Explorar y selecciona los objetos que deseas transferir.
  5. En la sección Configuración de destino, en Conjunto de datos, selecciona el conjunto de datos que creaste para almacenar tus datos.

  6. En la sección Nombre de la configuración de transferencia, en Nombre visible, ingresa el nombre de la transferencia de datos.

  7. En la sección Opciones de programación, haz lo siguiente:

    • En la lista Frecuencia de repetición, selecciona una opción para especificar la frecuencia con la que se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizada. Si seleccionas Según demanda, esta transferencia se ejecuta cuando activas la transferencia de forma manual.
    • Si corresponde, selecciona Comenzar ahora o Comenzar a la hora definida y proporciona una fecha de inicio y una hora de ejecución.
  8. Opcional: En la sección Opciones de notificación, haz lo siguiente:

    • Para habilitar las notificaciones por correo electrónico, haz clic en el botón de activación Notificación por correo electrónico. Después de habilitar esta opción, el administrador de transferencias recibirá una notificación por correo electrónico cuando falle la ejecución de una transferencia.
    • Si quieres habilitar las notificaciones de ejecución de transferencias de Pub/Sub para esta transferencia, haz clic en el botón de activación 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

Ingresa el comando bq mk y suministra la marca de creación de transferencias --transfer_config.

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

Aquí:

  • PROJECT_ID (opcional): Tu ID del proyecto de Google Cloud . Si no se proporciona --project_id para especificar un proyecto en particular, se usa 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 con facilidad si es necesario hacerle modificaciones más tarde.
  • DATASET es el conjunto de datos de destino para la configuración de transferencia.
  • PARAMETERS son los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo: --params='{"param":"param_value"}' Los siguientes son los parámetros para una transferencia de datos de Stripe:

    • assets: Es una lista de objetos de Stripe que se incluirán en esta transferencia.
    • connector.accountId: Es el ID de la cuenta de Stripe.
    • connector.secretKey: Es la clave de API de la cuenta de Stripe.
    • connector.syncAllConnectedAccounts: Especifica true para sincronizar todas las cuentas conectadas.
    • connector.startDate: Ingresa una fecha en 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 transferencia, el conector de Stripe activa automáticamente una ejecución de transferencia según la opción de programación que elijas. Con cada ejecución de transferencia, el conector de Stripe transfiere todos los datos disponibles de Stripe a BigQuery.

Para ejecutar manualmente una transferencia de datos fuera de tu programa habitual, puedes iniciar una ejecución de reabastecimiento.

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. Luego, este objeto aplanado se guarda como una sola cadena literal dentro de la tabla.
Integer INT64
Double DOUBLE
Float FLOAT
Decimal BIGNUMERIC
BigInt (long) BIGNUMERIC
Boolean BOOL
Datetime TIMESTAMP
Unix timestamp TIMESTAMP

Objetos con compatibilidad 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
  • Impugnaciones
  • EarlyFraudWarnings
  • Eventos
  • FileLinks
  • Archivos
  • InvoiceItems
  • Facturas
  • IssuingCards
  • IssuingDisputes
  • PaymentIntent
  • Pagos
  • Planes
  • Precios
  • Productos
  • PromotionCodes
  • Reembolsos
  • Opiniones
  • ShippingRates
  • Suscripciones
  • TaxRates
  • TopUps
  • Transferencias
  • ValueListItems
  • ValueLists

Soluciona problemas con la configuración de una transferencia

Si tienes problemas para configurar tu transferencia de datos, consulta Problemas de transferencia de Stripe.

Precios

No se aplican costos por transferir datos de Stripe a BigQuery mientras esta función está en vista previa.

¿Qué sigue?