Extensiones heredadasObsoleto
Stripe Apps replaces extensions
Ya no puedes diseñar extensiones nuevas de Stripe. Stripe Apps reemplaza las extensiones para el desarrollo en Stripe. Sin embargo, las extensiones existentes seguirán funcionando hasta 2024. Si ya tienes una extensión, te recomendamos migrarla a Stripe Apps.
Nota
You can now automatically send your Stripe data and reports to Snowflake or Amazon Redshift in a few clicks with Stripe Data Pipeline. Learn more.
Los productos y las funcionalidades de Stripe permiten a las empresas aceptar pagos electrónicos, pero también hay otros motivos para integrarse. Empresas como Baremetrics y Segment se han basado en Stripe para prestar sus servicios a las cuentas de Stripe con un Dashboard Standard.
Crear una extensión en Stripe consta de cuatro pasos:
- Configurar OAuth y especificar el URI de redireccionamiento.
- Configurar parámetros de imagen de marca.
- Crea un enlace de OAuth para tus usuarios.
- Usar la API en nombre de las cuentas conectadas.
También debes agregar datos de la empresa para activar tu cuenta, si es que aún no lo has hecho.
Para empezar, visita la página Extensiones que está en la pestaña Desarrolladores del Dashboard de Stripe.
Configurar OAuth y especificar el URI de redireccionamiento
Puedes configurar estos parámetros en la sección Integración de la página Configuración de extensiones.
Empieza tu integración alternando el botón para habilitar el onboarding de cuentas Standard con OAuth. Las extensiones no deben usar OAuth con cuentas Express.
Stripe proporciona un identificador único para tu extensión, llamado client_id
. Puedes definir el redirect_uri
y los usuarios será redirigidos a esa página después de que hayan conectado sus cuentas. Debes especificar todos los URI de direccionamiento en la configuración de tu extensión. Las versiones de desarrollo y producción de estos dos valores facilitan las pruebas. Toma nota de estos valores para que puedas crear un enlace de OAuth en el tercer paso.
Configurar parámetros de imagen de marca
Puedes personalizar la manera que tu empresa aparece ante los usuarios en la sección Imagen de marca de la página Configuración de extensiones.
Los usuarios verán tu logotipo cuando vinculen su cuenta de Stripe a tu plataforma. Una vez vinculadas sus cuentas, tu ícono aparecerá en su lista de aplicaciones conectadas.
Crear un enlace de OAuth para tus usuarios
Stripe ofrece un flujo de OAuth 2.0 estándar para conectarse con cuentas de Stripe. Con los valores client_id
y redirect_uri
del paso uno, puedes crear un enlace de OAuth para que tus usuarios se integren con él. Te recomendamos que muestres este enlace con un botón Conectar con Stripe que envía a los usuarios al punto de conexión authorize_url
:
https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_FkyHCg7X8mlvCUdMDao4mMxagUfhIwXb&scope=read_only
Veamos un ejemplo de cómo puedes mostrar el enlace anterior a tu usuario junto con el botón Conectar con Stripe:
Conectar conUna vez que el usuario hace click en el enlace de tu sitio, lo redirigimos a una página que permite o rechaza la conexión a tu extensión. El flujo de autorización de Stripe le solicita que elija una cuenta existente para conecta con tu extensión o que cree una nueva cuenta.
Después de que el usuario conecta su cuenta existente o recién creada a tu extensión, lo redirigimos a la URL que definiste como redirect_uri
.
Al finalizar el flujo de OAuth, se te proporcionan las credenciales de autorización para la cuenta de usuario:
{ ... "stripe_user_id": "acct_0123456789", ... }
Debes guardar el stripe_user_id
para poder identificar las cuentas de usuario.
Usar la API en nombre de las cuentas conectadas
Después de que los usuarios vinculen su cuenta de Stripe a tu aplicación, puedes realizar solicitudes de API en su nombre. Para efectuar solicitudes de API, necesitas la clave secreta de tu cuenta de extensión y un encabezado Stripe-Account
que identifique a la cuenta por la que haces la solicitud. Todas las librerías de Stripe admiten este tipo de autenticación por cada solicitud.
Cómo acceder a los datos almacenados
Stored data includes information like charges and customer details. With read_only
access, you can make most GET
requests in Stripe’s API. You can retrieve a single object (for example, retrieve a Payment Intent) or a list of objects (for example, list all Payment Intents).
Si bien la API tiene un alto rendimiento, recuperar grandes conjuntos de datos repetidas veces ralentiza la capacidad de respuesta de la aplicación. Te recomendamos almacenar los datos obtenidos de tu lado para el análisis y la elaboración de informes.
Cómo escuchar los datos en tiempo real
Además de los datos almacenados, puedes acceder a datos en tiempo real a través de webhooks. Una vez que definas un punto de conexión de webhooks de la extensión en tu cuenta, Stripe enviará notificaciones de eventos a tu punto de conexión por cada cuenta conectada. La propiedad account
del objeto evento identifica la cuenta en la que se produjo el evento.
Por ejemplo, el siguiente evento muestra que se creó un cliente en la cuenta acct_0123456789
. Una vez más, te recomendamos almacenar estos datos de tu lado para el análisis y la elaboración de informes. Al observar los eventos a medida que suceden, tu aplicación puede responder más rápido y no tendrás que hacer tantas llamadas a la API.
{ "id": "evt_dG8Ej1ek8bLAWA", "livemode": true, "object": "event", "type": "customer.created", "account": "acct_0123456789", "pending_webhooks": 2, "created": 1349654313, "data": {...} }
Cómo cobrar por tu aplicación
La cuenta de Stripe de tu extensión puede procesar sus propios cargos, de modo que puedes cobrar por tu aplicación con acceso read_only
. Después de que los clientes conectan su cuenta de Stripe, pídeles los datos de pago y crea una suscripción para cada uno de ellos en tu cuenta de Stripe. Asegúrate de almacenar el ID de cliente creado con el ID de la cuenta de Stripe asociada para poder rastrear qué usuarios han pagado y están activos, y cuáles no.
Si creas suscripciones, también puedes especificar un valor application_fee_percent
como comisión por tu aplicación. Este porcentaje se cobra además de las comisiones de Stripe. Para obtener más información, consulta la documentación sobre Suscripciones.
Cuentas desconectadas
Los usuarios pueden desconectar su cuenta de tu integración en cualquier momento. Cuando esto sucede, Stripe envía un webhook account.application.deauthorized
. Puedes usar esta notificación para activar la depuración desde tu lado, por ejemplo, para desactivar la cuenta del usuario o eliminar sus datos.
También puedes desconectar cuentas de tu integración haciendo una solicitud al punto de conexión para retirar la autorización de OAuth.