API Payment Methods
Conoce más sobre la API que impulsa toda una gama de métodos de pago internacionales.
La API Payment Methods te permite aceptar diversos métodos de pago a través de una sola API. Un objeto PaymentMethod contiene los datos del método para crear el pago. Con la API Payment Methods, puedes combinar un PaymentMethod:
- Con un PaymentIntent para aceptar un pago
- Con un SetupIntent y un Customer para guardar los datos de pago para más tarde
Métodos de pago aceptados
Para determinar qué método de pago usar en una región determinada, consulta la guía de métodos de pago.
En la guía, se incluyen los métodos de pago disponibles en diferentes regiones, una descripción detallada de las características de cada método de pago y las regiones geográficas donde más se usan. Puedes activar cualquier método de pago disponible en el Dashboard. La activación suele ser instantánea y no requiere contratos adicionales.
Acciones del cliente
Algunos métodos de pago exigen que el cliente cumpla pasos adicionales para completar el pago. El parámetro next_
del objeto PaymentIntent especifica el tipo de acción del cliente.
Estas son algunas de las acciones más frecuentes que deben realizar:
- Redirigirse al servicio en línea de su banco para autenticar y aprobar el pago.
- Verify ownership of their account by providing a one-time code that you post to the Stripe API (for example, microdeposits).
- Push funds (for example, in the case for bank transfers) through their bank’s online service.
No todos los métodos de pago exigen que el cliente realice acciones adicionales. Por ejemplo, los pagos con tarjeta (excepto con 3D Secure) no necesitan una autenticación adicional fuera de la recopilación de los datos de tarjeta.
Nota
En caso de los métodos de pago que requieren una acción por parte del cliente, configura destinos de eventos para recibir las notificaciones de si un pago se concretó o no.
Notificación inmediata o diferida del pago efectuado con éxito
Algunos métodos de pago reflejan de inmediato el estado del pago al efectuarse una transacción (por ejemplo, los pagos con tarjeta). Otros, como los débitos ACH, en cambio, tienen un retraso. Cuando el estado del pago se refleja de inmediato, el estado del PaymentIntent cambia a succeeded
o a requires_
. El estado succeeded
garantiza que recibirás los fondos del cliente.
Los métodos de pago con notificación diferida no pueden garantizar el pago durante la espera. El estado del objeto PaymentIntent será processing
hasta que el estado del pago indique si se confirmó o falló. Durante ese plazo, es habitual que las empresas muestren que el pedido está pendiente y que recién lo cumplan cuando se concreta el pago.
Nota
En caso de los métodos de pago con notificación diferida, configura destinos de eventos para recibir las notificaciones de si un pago se concretó o no.
De un solo uso o reutilizables
Puedes reutilizar ciertos métodos de pago (por ejemplo, tarjetas o débitos bancarios) para pagos adicionales sin tener que autorizar y recopilar de nuevo los datos de pago.
Siempre debes configurar métodos de pago reutilizables para usarlos en el futuro a fin de reducir la posibilidad de que se produzcan rechazos en el futuro e inconvenientes en los pagos, (como el requerimiento de autenticación). Los métodos de pago reutilizables se pueden configurar para su uso futuro cuando se acepte un pago o configurar para su uso futuro sin aceptar un pago.
Los métodos de pago de un solo uso (por ejemplo, algunos tipos de transferencias bancarias) no se pueden asociar a clientes porque se consumen luego del intento de pago.
Usa los destinos de eventos para rastrear el estado del pago
Configura destinos de eventos para métodos de pago que requieran una acción del cliente o cuando la notificación de pago sea diferida. Cuando se actualiza el estado de PaymentIntent
, Stripe envía los siguientes eventos:
Evento | Descripción | Próximos pasos |
---|---|---|
payment_ | El pago del cliente se envió a Stripe con éxito. Solo se aplica a métodos de pago con notificación diferida. | Espera hasta saber si el pago iniciado se efectuó con éxito o no. |
payment_ | El pago se efectuó con éxito. | Entrega los productos o servicios comprados. |
payment_ | Error en el pago. | Envía un correo electrónico o una notificación push para solicitar otro método de pago. |
En lugar de configurar un destino de evento, también puedes usar las siguientes opciones:
- Rastrea manualmente el estado de los pagos en el Dashboard de Stripe, si tu empresa acepta pocos pedidos con métodos de pago con notificación diferida. El Dashboard te permite ver todos tus pagos en Stripe, enviar recibos por correo electrónico, administrar transferencias o reintentar pagos fallidos.
- Use polling (for example, repeatedly retrieving a PaymentIntent so that you can check its status). Note that polling is significantly less reliable and may not work at scale. Stripe enforces rate limiting on API requests, so exercise caution if you use polling.
- Usa una aplicación de socio para gestionar eventos comerciales comunes, como la automatización o el marketing y ventas, al integrar una aplicación de socio.
El objeto PaymentMethod
Un PaymentMethod contiene detalles del método de pago reutilizable para crear pagos (por ejemplo, fecha de vencimiento de la tarjeta o dirección de pagos); no incluye información específica de la transacción (por ejemplo, importe, moneda, etc.). Un PaymentMethod se adjunta a un PaymentIntent para representar los estados del ciclo de vida de un pago. Cada PaymentMethod tiene un atributo type (por ejemplo, "type": "sepa_
) y otro hash cuyo nombre coincide con el atributo type y contiene información específica del tipo PaymentMethod (por ejemplo, "sepa_
). Ejemplo de un objeto PaymentMethod sepa_
:
{ "id": "pm_123456789", "object": "payment_method", "billing_details": { "address": {...}, "email": "jenny@example.com", "name": "Jenny Rosen", "phone": "+335555555555" }, "sepa_debit": { "bank_code": "37040044", "branch_code": "94832", "country": "FR", "fingerprint": "ygEJfUjzWMGyWnZg", "last4": "3000" }, "type": "sepa_debit", (...) }
Nota
Para gestionar la información de pago confidencial en modo seguro y manejar las acciones de los clientes automáticamente, Stripe recomienda crear métodos de pago con Stripe.js.