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.
If the customer sends more than the expected amount, Stripe attempts to reconcile the incoming funds against an open payment and keep the remaining excess amount in the customer cash balance. You can find more details on how Stripe handles reconciliation in the reconciliation section of our documentation.
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 automatically presents your customers payment method options by evaluating their currency, payment method restrictions, and other parameters. We recommend that you configure your payment methods from the Stripe Dashboard using the instructions in Accept a payment.
If you want to continue manually configuring the payment methods you present to your customers with Checkout, use this guide. Otherwise, update your integration to configure payment methods in the Dashboard.
Bank transfer is a single-use payment method for Checkout where customers pay with a bank transfer using payment instructions presented. When selecting to pay, the user is redirected to a hosted page which displays bank transfer instructions and the status of the transfer payment.
Bank transfer is also a delayed notification payment method, which means that funds are not immediately available after payment.
Precaución
Bank transfers aren’t available on Checkout Sessions that didn’t include an existing Customer object as part of the of the session creation request.
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
Build an integration to accept a payment with Checkout before using this guide.
Usa esta guía para habilitar Bank Transfer.
Crear o recuperar un objeto Customer
You must associate a Customer object to reconcile each bank transfer payment. If you have an existing Customer object, you can skip this step. Otherwise, create a new Customer object.
Habilitar Bank Transfer como método de pago
When creating a new Checkout Session, you need to:
- 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
Unlike card payments, the customer isn’t always redirected to the success_url with bank transfer payment.
Después de enviar satisfactoriamente el formulario de Checkout,
- If the customer already has a balance high enough to cover the request amount, the payment immediately succeeds and the customer is redirected to the success_url.
- If the customer balance isn’t high enough to cover the request amount, the customer is redirected to the hosted_instructions_url. The page has the instructions to guide your customer through completing the transfer.
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:
- Icon—your brand image and public business name
- Color de la marca: se utiliza como color de fondo
Completa los pedidos
Because bank transfer is a delayed notification payment method, you need to use a method such as webhooks to monitor the payment status and handle order fulfillment. Learn more about setting up webhooks and fulfilling orders.
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.