Aceptar una transferencia bancaria
Utiliza la API Payment Intents para aceptar pagos con transferencia bancaria.
La primera vez que aceptas un pago mediante transferencia bancaria de un cliente, Stripe genera una cuenta bancaria virtual para ese cliente, que luego puedes compartir con esa persona directamente. Todos los pagos futuros con transferencia bancaria de ese cliente se envían a esta cuenta bancaria. En algunos países, Stripe también te proporciona un número de referencia para transferencias exclusivo que tu cliente debe incluir en cada transferencia a fin de facilitar la comparación entre la transferencia y los pagos pendientes. En algunos países hay límites en la cantidad de números de cuentas bancarias virtuales que puedes crear gratis.
Puedes encontrar un resumen de los pasos más comunes para aceptar un pago mediante transferencia bancaria en el siguiente diagrama de secuencia:
Manejo de pagos insuficientes y sobrepagos
En el caso de los pagos con transferencia bancaria, es posible que el cliente te envíe un importe mayor o menor que el importe de pago previsto. Si el cliente envía un importe menor, Stripe cubre parte de un Payment Intent abierto. Las facturas no se cubren en parte, sino que quedan abiertas hasta que se reciben fondos para cubrir el importe total.
Si el cliente envía un importe mayor que el previsto, Stripe intenta conciliar los fondos recibidos con un pago abierto y mantendrá lo que sobre del importe en el saldo de caja del cliente. Puedes encontrar más detalles sobre cómo Stripe gestiona la conciliación en la sección Conciliación de nuestra documentación.
Cómo gestionar varias facturas o pagos abiertos
Puedes tener varias facturas o pagos abiertos que se pueden saldar con una transferencia bancaria. Según la configuración predeterminada, Stripe hará el intento de conciliar automáticamente la transferencia bancaria utilizando datos como el código de referencia de la transferencia o el importe transferido.
Puedes deshabilitar la conciliación automática y conciliar manualmente pagos y facturas tú mismo. Puedes omitir el comportamiento de conciliación automática por cliente configurando el modo de conciliación en manual.
Precaución
Stripe les presenta a tus clientes las opciones de métodos de pago de forma automática según su moneda, las restricciones de los métodos de pago y otros parámetros. Te recomendamos que configures tus métodos de pago desde el Dashboard de Stripe siguiendo las instrucciones de cómo Aceptar un pago.
Si quieres seguir configurando manualmente los métodos de pago que presentas a tus clientes en Checkout, usa esta guía. De lo contrario, actualiza tu integración para configurar métodos de pago en el Dashboard.
Dentro de Checkout, la transferencia bancaria es un método de pago de un solo uso mediante el que los clientes transfieren fondos siguiendo las instrucciones de pago recibidas. Al seleccionar pagar, el usuario es redirigido a una página alojada que muestra las instrucciones para la transferencia bancaria y el estado del pago mediante transferencia.
La transferencia bancaria también es un método de pago con notificación diferida, lo que significa que los fondos no están disponibles de inmediato después del pago.
Precaución
Las transferencias bancarias no están disponibles en las sesiones de Checkout que no incluyeron un “Customer Object” existente como parte de la solicitud de creación de la sesión.
Determinar compatibilidad
La sesión de Checkout debe cumplir las siguientes condiciones para aceptar Bank Transfer pagos:
Los precios de todos los ítems de factura deben estar expresados en la misma moneda. Si tienes ítems en otras monedas, crea sesiones de Checkout separadas para cada moneda.
Solo puedes utilizar ítems únicos (las sesiones de Checkout para transferencias bancarias no aceptan planes de suscripción recurrentes).
Aceptar un pago
Nota
Crea una integración para aceptar un pago con Checkout antes de usar esta guía.
Usa esta guía para habilitar Bank Transfer.
Crear o recuperar un objeto Customer
Debes asociar un objeto Customer para conciliar cada pago mediante transferencia bancaria. Si ya tienes un “Customer Object”, puedes omitir este paso. De lo contrario, crea un nuevo “Customer Object”.
Habilitar Bank Transfer como método de pago
Al crear una nueva sesión de Checkout, debes:
- Configurar
customer
- Agregar
customer_
a la lista debalance payment_
method_ types - Verifica que todos los
line_
usen la misma moneda.items
Redireccionamiento a la página alojada de instrucciones para transferencias bancarias de Stripe
Nota
A diferencia de los pagos con tarjeta, cuando el cliente hace un pago con transferencia bancaria, no siempre se lo redirige a la success_url.
Después de enviar satisfactoriamente el formulario de Checkout,
- Si el cliente ya tiene saldo suficiente para cubrir el importe solicitado, el pago se efectúa de inmediato y se redirige al cliente a la success_url.
- Si el saldo del cliente no es suficiente para cubrir el importe solicitado, se redirige al cliente a la hosted_instructions_url. La página contiene las instrucciones para guiar al cliente en el proceso de transferencia.
Stripe permite la personalización de las interfaces de usuario del cliente en la página configuración de imagen de marca. Se puede aplicar la siguiente configuración de imagen de marca a la página de instrucciones alojada:
- Ícono: tu imagen de marca y el nombre público de la empresa
- Color de la marca: se utiliza como color de fondo
Completa los pedidos
Debido a que la transferencia bancaria es una modalidad de pago con notificación diferida, tienes que usar un método como los webhooks para monitorear el estado del pago y manejar lagestión logística del pedido. Obtén más información sobre cómo configurar webhooks y completar pedidos.
Los siguientes eventos se envían cuando cambia el estado del pago:
Nombre del evento | Descripción | Próximos pasos |
---|---|---|
checkout.session.completed | El cliente ha enviado correctamente el formulario de Checkout y ha sido remitido a hosted_ . | Espera a que el cliente haga la transferencia bancaria. |
checkout.session.async_payment_succeeded | El cliente ha efectuado la transferencia bancaria con éxito. El PaymentIntent pasa a succeeded . | Entrega los bienes o servicios que el cliente compró. |
Prueba tu integración
Puedes probar tu integración simulando una transferencia bancaria entrante con la API, a través del Dashboard o con una versión beta de la CLI de Stripe.