Habilita a otras empresas a aceptar pagos en forma directa
En esta guía, se explica cómo habilitar a los usuarios para que acepten pagos, transfieran parte de sus ganancias tu saldo y transfieran el resto a las cuentas bancarias de tus usuarios. Para ilustrar estos conceptos, usaremos una plataforma de ejemplo que les permite a las empresas crear sus propias tiendas en línea.
Prerrequisitos
- Registra tu plataforma.
- Agrega datos de la empresa para activar tu cuenta.
- Completa el perfil de tu plataforma.
- Customize your brand settings. Add a business name, icon, and brand color.
Configura StripeLado del servidor
Instala las bibliotecas oficiales de Stripe para acceder a la API desde tu aplicación:
Crea una cuenta conectada
Cuando un usuario (un vendedor o proveedor de servicios) crea una cuenta en tu plataforma, tienes que crear una Account de usuario (llamada cuenta conectada) para que puedas aceptar pagos y transferir fondos a su cuenta bancaria. Las cuentas conectadas representan a tu usuario en la API de Stripe y ayudan con la recopilación de los requisitos de onboarding para que Stripe pueda verificar la identidad del usuario. En el ejemplo de la plataforma para crear tiendas, la cuenta conectada representa a la empresa que configura su tienda en línea.
Crear una cuenta conectada y completar la información automáticamente
Utiliza la API /v1/accounts
para crear una cuenta conectada. Puedes crear la cuenta conectada usando los parámetros de la cuenta conectada predeterminados o especificando el tipo de cuenta.
Si ya recopilaste información para tus cuentas conectadas, puedes completar automáticamente esa información en el objeto Account. Puedes completar automáticamente todo tipo de información de la cuenta, por ejemplo, los datos personales y de la empresa, la información externa de la cuenta y más.
El onboarding de Connect no solicita la información que se completó automáticamente. Sin embargo, sí le pide al titular de la cuenta que confirme esta información antes de aceptar el contrato de servicio de Connect.
Cuando pruebes la integración, completa automáticamente la información de la cuenta con los datos de prueba.
Crea un enlace de cuenta
Para crear un enlace de cuenta, llama a la API Account Links con los siguientes parámetros:
account
refresh_url
return_url
type
=account_onboarding
Redirige al usuario a la URL del enlace de cuenta
La respuesta a tu solicitud de Account Links incluye un valor para la url
de la clave. Redirige a este enlace para enviar al usuario al flujo. Los enlaces de cuenta son temporales y de un solo uso, ya que otorgan acceso a la información personal del usuario de la cuenta conectada. Autentica al usuario en tu aplicación antes de redirigirlo a esta URL. Si deseas completar previamente la información, debes hacerlo antes de generar el enlace de la cuenta. Después de crear el enlace de la cuenta, no podrás leer ni escribir información para la cuenta.
Consejo de seguridad
No envíes por correo electrónico, ni por mensaje de texto ni por ningún otro medio las URL del enlace de la cuenta fuera de la aplicación de la plataforma. En lugar de eso, envíalas al titular de la cuenta autenticado dentro de tu aplicación.
Gestiona el caso de un usuario que vuelve a la plataforma
El onboarding de Connect requiere que especifiques una return_url
y una refresh_url
para gestionar todos los casos en los que se redirige al usuario a tu plataforma. Es importante implementarlas correctamente para que el usuario tenga la mejor experiencia.
Nota
Puedes usar HTTP en las direcciones return_url
y refresh_url
si estás en modo de prueba (por ejemplo, para probar con localhost), pero en modo activo solo se acepta HTTPS. Asegúrate de cambiar las URL de prueba por direcciones URL HTTPS antes de pasar a modo activo.
return_url
Stripe redirige al usuario a esta URL cuando dicho usuario completa el flujo de onboarding de Connect. Esto no implica que se haya recopilado toda la información ni que no haya requisitos pendientes en la cuenta. Solo significa que se entró y se salió del flujo correctamente.
No se especifica ningún estado a través de esta URL. Después de redirigir al usuario a tu return_url
, verifica el estado del parámetro details_submitted
en su cuenta por medio de uno de los siguientes métodos:
- Escucha los webhooks
account.updated
. - Llama a la API Accounts e inspecciona el objeto devuelto.
refresh_url
Se redirige a tu usuario a la refresh_url
en los siguientes casos:
- Se venció el enlace (pasaron algunos minutos desde que se creó).
- El usuario ya visitó el enlace (actualizó la página o se desplazó de página en el navegador).
- Tu plataforma ya no puede acceder a la cuenta.
- Se rechazó la cuenta.
La refresh_url
debería activar un método en tu servidor para volver a llamar a Account Links con los mismos parámetros y redirigir al usuario al flujo de onboarding de Connect para que la experiencia sea fluida.
Gestiona los casos de usuarios que no hayan completado el onboarding
Si se redirige al usuario a tu return_url
, es posible que no haya completado el proceso de onboarding. Usa el punto de conexión /v1/accounts
para recuperar la cuenta del usuario y verificar si hay charges_enabled
. Si la cuenta no ha finalizado todo el proceso de onboarding, proporciona indicaciones de interfaz de usuario para que el usuario pueda continuarlo más tarde. Podrá completar la activación de su cuenta a través de un nuevo enlace de cuenta (generado por tu integración). Para ver si ha completado el proceso de onboarding, verifica el estado del parámetro details_submitted
en su cuenta.
Habilita métodos de pago
Visualiza tu configuración de métodos de pago y habilita los que quieras aceptar. Los pagos con tarjeta se habilitan de forma predeterminada, pero puedes habilitar y deshabilitar métodos de pago según sea necesario. Esta guía asume que tienes habilitados Bancontact, tarjetas de crédito, EPS, giropay, iDEAL, Przelewy24, débito directo SEPA y Sofort.
Antes de que se abra el formulario de pago, Stripe evalúa la moneda, las restricciones de los métodos de pago y otros parámetros para determinar la lista de métodos de pago admitidos. Se les da prioridad a los métodos de pago que aumentan la conversión y guardan mayor relación con la moneda y la ubicación del cliente. Los métodos de pago menos prioritarios se ocultan en un menú de contenido adicional.
Beta
The embedded payment method settings component allows connected accounts to configure the payment methods they offer at checkout without the need to access the Stripe Dashboard. Request access and learn how to integrate with Payment Method Configurations.
Acepta un pago
Integra Stripe Checkout como un formulario de pago directamente en tu sitio web o redirige a los usuarios a una página alojada por Stripe para aceptar pagos. Checkout admite varios métodos de pago y muestra automáticamente los que más le pueden interesar a tu cliente. También puedes usar el Payment Element, un componente prediseñado de la interfaz de usuario que está integrado como un iframe en tu formulario de pago. Esto sirve para aceptar varios métodos de pago con una sola integración del front-end.
Pruebas
Para probar el flujo de creación de cuentas, crea cuentas y usa OAuth. Para probar la configuración de los Métodos de pago de las cuentas conectadas, inicia sesión en una de las cuentas de prueba y accede a la configuración de los métodos de pago. Prueba el flujo de compra con las claves de prueba y una cuenta de prueba. Puedes usar las tarjetas de prueba para probar el flujo de pago y simular pagos con distintos resultados.
Transferencias
De manera predeterminada, todos los cargos que creas para una cuenta conectada se acumulan en el saldo de Stripe de la cuenta conectada y se transfieren diariamente en forma continua. Las cuentas conectadas pueden gestionar sus propios calendarios de cobros en el Dashboard de Stripe.