Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
API y SDKAyuda
Resumen
Empieza a usar Connect
Fundamentos de la integración
Ejemplos de integraciones
    Diseño de integración avanzada
    Crea un marketplace
    Crea una plataforma de SaaS
    Carga comisiones de SaaS a las cuentas conectadas
    Crea una integración de Connect totalmente integrada
Gestión de cuentas
Haz el onboarding de las cuentas
Configura los Dashboards de la cuenta
Trabaja con tipos de cuentas conectadas
Procesamiento de pagos
Aceptar pagos
Transfiere a cuentas
Administración de la plataforma
Gestiona tu plataforma Connect
Formularios fiscales para tu plataforma Connect
Estados Unidos
Español (América Latina)
InicioPlataformas y marketplacesExample integrations

Recibe pagos y luego transfiérelos en tu marketplace

Recibe pagos de clientes y luego transfiere los fondos a los vendedores o proveedores de servicios de tu marketplace.

En esta guía, se explica cómo aceptar pagos y transferir fondos a las cuentas bancarias de los proveedores de servicios o vendedores. A efectos de hacer una demostración, crearemos un marketplace de alquiler de viviendas que conecte a los propietarios con los posibles inquilinos. También te mostraremos cómo aceptar pagos de los inquilinos (clientes) y hacer transferencias a los propietarios (los usuarios de tu plataforma).

Prerrequisitos

  1. Registra tu plataforma.
  2. Agrega datos de la empresa para activar tu cuenta.
  3. Completa el perfil de tu plataforma.
  4. Personaliza la configuración de tu marca. Agrega el nombre, el ícono y el color de la marca de la empresa.

Configura Stripe
Lado del servidor

Instala las bibliotecas oficiales de Stripe para acceder a la API desde tu aplicación:

Crea una cuenta conectada

Cuando un vendedor o prestador de servicios se registra en tu plataforma, crea una cuenta conectada que lo represente. La cuenta conectada te permite recopilar su información de identificación, aceptar pagos en su nombre y transferir fondos a su cuenta bancaria.

Crear una cuenta conectada con información prellenada

Usa la API /v2/core/accounts para crear una cuenta conectada especificando eldashboard de la cuenta conectada y sus responsabilidades.

Si ya recopilaste información para tus cuentas conectadas, puedes completar automáticamente esa información en el objeto Account. Puedes completar previamente cualquier información de la cuenta, incluida la información personal y de la empresa, la información de la cuenta externa, etc.

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 la información completada automáticamente 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

You can create an account link by calling the Account Links v2 API with the following parameters:

  • account
  • refresh_url
  • return_url
  • type = account_onboarding
  • configuraciones = beneficiario y comerciante

Redirige al usuario a la URL del enlace de cuenta

La respuesta de create Account Link incluye un valor url. Después de autenticar al usuario en tu aplicación, redirígelo a esa URL para enviarlo al flujo. Las URL de enlace de cuenta son temporales y de un solo uso, porque dan acceso a los datos personales del usuario de la cuenta conectada. Si quieres prellenar información, debes hacerlo antes de generar el enlace de cuenta. Una vez creado, ya no puedes leer ni escribir información para la cuenta conectada.

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

Connect onboarding requiere que pases tanto un return_url como un refresh_url para manejar todos los casos en que el usuario de la cuenta sea redirigido a tu plataforma.

Nota

Puedes usar HTTP para tu return_url y refresh_url mientras estés en un entorno de pruebas (por ejemplo, para testear con localhost), pero en modo activo solo se acepta HTTPS. Asegúrate de cambiar las URL de prueba a URL con HTTPS antes de pasar a modo activo.

return_url

Stripe hace un redireccionamiento a esta URL cuando el usuario de la cuenta conectada completa el flujo de onboarding. Eso no significa que ya se haya recopilado toda la información ni que no haya requisitos pendientes en la cuenta. Solo quiere decir que el flujo se inició y se cerró correctamente.

No se pasa ningún estado a través de esta URL. Después de que el usuario sea redirigido a tu return_url, revisa el estado de los requisitos en su cuenta haciendo una de las siguientes acciones:

  • Escucha los webhooks v2.core.account[requisitos].updated.
  • Llama a la API Accounts v2e inspecciona el objeto devuelto.

refresh_url

Stripe redirige a tu usuario a la refresh_url en los siguientes casos:

  • Se venció el enlace (pasaron algunos minutos desde la creación del enlace).
  • El usuario ya visitó la URL (el usuario actualizó la página o se desplazó de página en el navegador).
  • Tu plataforma ya no puede acceder a la cuenta.
  • La cuenta ha sido rechazada.

Configura tu página de refresh_url para que dispare un método en tu servidor que vuelva a llamar a Account Links v2 con los mismos parámetros y redirija al usuario al nuevo enlace.

Gestiona los casos de usuarios que no hayan completado el onboarding

Un usuario que sea redirigido a tu return_url puede que no haya completado el proceso de onboarding. Usa el punto de conexión /v2/core/accounts para obtener la cuenta del usuario y revisa si configuration.recipient.capabilities.stripe_balance.stripe_transfers.status está en active. Si el estado no está en active y configuration.recipient.capabilities.stripe_balance.stripe_transfers.status_details.code es requirements_past_due, muestra indicaciones en la interfaz para que el usuario continúe con el onboarding a través de un nuevo enlace de cuenta. Para otros códigos, manéjalos según corresponda.

Habilita métodos de pago

Visualiza la configuración de métodos de pago y habilita los que quieras admitir. Los pagos con tarjeta, Google Pay y Apple Pay están habilitados de forma predeterminada, pero puedes habilitar y deshabilitar los métodos de pago según sea necesario.

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.

Acepta un pago

Usa Stripe Checkout para aceptar pagos. Checkout admite varios métodos de pago y muestra automáticamente aquellos que se adaptan mejor a tu cliente. Puedes aceptar pagos con Checkout mediante una página alojada por Stripe o agregar un formulario de pago prediseñado integrable directamente en tu sitio web. También puedes crear un flujo personalizado (con Payment Element) para aceptar varios métodos de pago con una sola integración del front-end.

Crea una sesión de Checkout Client and Server

La sesión de Checkout controla lo que tu cliente puede ver en la página de pagos alojada por Stripe, como las partidas, el importe y la moneda del pedido, y los métodos de pago aceptados.

Agrega un botón para finalizar la compra en tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.

En tu servidor, haz la siguiente llamada a la API de Stripe. Después de haber creado una sesión de Checkout, redirige a tu cliente a la URL recibida en la respuesta.

  • line_items: este argumento representa los artículos que compra el cliente. Estos artículos se muestran en la interfaz de usuario alojada por Stripe.
  • success_url: este argumento redirige al usuario después de que completa el pago.
  • cancel_url: este argumento redirige al usuario después de que hace clic en Cancelar.
  • payment_intent_data[application_fee_amount]: este argumento especifica el importe que tu plataforma tomará de la transacción. El importe total del cargo se transfiere de inmediato de la plataforma a la cuenta conectada especificada por transfer_data[destination] después de la captura del cargo. El application_fee_amount se vuelve a transferir a la plataforma y se deduce la comisión de Stripe del importe de la plataforma.
  • payment_intent_data[transfer_data][destination]: este argumento indica que se trata de un cargo a un Destino. Un cargo a un Destino es aquel que se procesa en la plataforma y por el cual los fondos se transfieren de manera inmediata y automática al saldo pendiente de la cuenta conectada. En nuestro ejemplo de alquiler de viviendas, queremos crear una experiencia en la que el cliente pague a través de la plataforma y esta le pague al propietario.

Checkout utiliza la configuración de marca de la cuenta de tu plataforma para los cargos a un destino. Para obtener más información, consulta Personaliza la imagen de marca.

Esta sesión crea un cargo a un destino. Si necesitas controlar el plazo de las transferencias o transferir fondos de un solo pago a varias personas, utiliza cargos y envíos de fondos separados. Para usar cargos separados, consulta Habilita a otras empresas para que acepten pagos directamente.

Gestiona eventos posteriores al pago del lado del servidor

Stripe envía un evento checkout.session.completed cuando se completa el pago. Utiliza un webhook para recibir estos eventos y ejecutar acciones, como enviar un correo electrónico de confirmación del pedido a tu cliente, registrar la venta en una base de datos o iniciar el flujo de tareas para un envío.

Escucha estos eventos en lugar de esperar una devolución de llamada del cliente. De su lado, el cliente puede cerrar la ventana del navegador o salir de la aplicación antes de que se ejecute la devolución de llamada. Además, algunos métodos de pago tardan entre 2 y 14 días en confirmar el pago. Si configuras tu integración para escuchar eventos asincrónicos, podrás aceptar varios métodos de pago con una sola integración.

Además de administrar el evento checkout.session.completed, te recomendamos administrar otros dos eventos al cobrar pagos con Checkout:

EventoDescripciónPróximos pasos
checkout.session.completedEl cliente ha autorizado correctamente el pago enviando el formulario de Checkout.Espera hasta saber si el pago se efectuó correctamente o no.
checkout.session.async_payment_succeededEl pago del cliente se efectuó correctamente.Entrega los productos o servicios comprados.
checkout.session.async_payment_failedEl pago se rechazó o falló por algún otro motivo.Ponte en contacto con el cliente por correo electrónico y solicítale que haga un nuevo pedido.

Todos estos eventos incluyen el objeto Checkout Session. Después de que el pago se efectúa correctamente, el estado del PaymentIntent subyacente cambia de processing a succeeded.

Pruebas

Para probar el flujo de creación de cuentas, crea cuentas y usa OAuth.

Consulta Pruebas para obtener información adicional para probar tu integración.

Disputas

Por ser el comerciante a cargo del cobro, tu plataforma es responsable de las disputas. Asegúrate de conocer las mejores prácticas para responder a las disputas.

Transferencias

De manera predeterminada, todos los fondos que transfieres a una cuenta conectada se acumulan en el saldo de Stripe de la cuenta conectada y se transfieren diariamente en forma continua. Puedes modificar la frecuencia de las transferencias a cuentas bancarias desde la página de datos de la cuenta conectada, haciendo clic con el botón derecho del mouse en la sección Saldo y seleccionando Editar calendario de transferencias.

Rembolsos

Para emitir reembolsos, dirígete a la página de pagos. Selecciona pagos individuales haciendo click en la casilla que se encuentra a la izquierda de los pagos que quieras reembolsar. Luego de seleccionar un pago, Stripe mostrará un botón de Reembolsar en la esquina superior derecha de la página. Haz click en el botón Reembolsar para emitir un reembolso de todos los pagos que has seleccionado para el cliente.

Nota

Las cuentas conectadas no pueden iniciar reembolsos para pagos desde el Dashboard de Express por defecto. Si tus cuentas conectadas utilizan el Dashboard de Express, puedes procesar reembolsos para ellas, o habilitarlas para procesar reembolsos mediante la personalización de las funcionalidades del Dashboard de Express.

Consulta también

  • Gestiona cuentas conectadas en el Dashboard
  • Emitir reembolsos
  • Personalizar las descripciones de los cargos en los extractos bancarios
  • Trabajar con varias monedas
  • Dashboard de Express
¿Te fue útil esta página?
SíNo
  • ¿Necesitas ayuda? Ponte en contacto con soporte.
  • Echa un vistazo a nuestro registro de cambios.
  • ¿Tienes alguna pregunta? Contacto.
  • ¿LLM? Lee llms.txt.
  • Con tecnología de Markdoc