Si un pago requiere la autenticación mediante 3D Secure, pero no podemos iniciarla, realizaremos un último intento por completar el pago sin autenticación. El resultado de este cargo alternativo actualiza el estado de PaymentIntent a una de las siguientes opciones:
succeeded
: se completó el pago y se creó un cargo con el método de pago suministrado. No son necesarios otros pasos.
requires_capture
: se completó la solicitud sin autenticación, lo que te permite continuar con la captura de los fondos.
requires_payment_method
: no se pudo cobrar el cargo y es posible que sea necesario otro método de pago.
Generalmente, un pago que activa 3D Secure generará un elemento PaymentIntent con el estado requires_action
. A continuación, proporcionamos una guía de un flujo de pago típico que requiere 3D Secure:
requires_action
.
Si los pasos 4 o 5 no se completaron correctamente, el flujo de pago anterior cambiaría y se vería de la siguiente manera:
succeeded
, requires_capture
o requires_payment_method
, según el resultado del pago.
El motivo por el cual intentamos esto en lugar de bloquear inmediatamente el pago o mostrar un mensaje de error es que elegimos una optimización para la conversión.
Si el cargo alternativo genera un error, el estado de PaymentIntent se actualiza a requires_payment_method
. Si este cargo alternativo se procesa correctamente, la transferencia de responsabilidad no cubre el cargo, a menos que el cargo alternativo presente el estado attempt_acknowledged
en payment_method_details.card.three_d_secure.result
.
Para obtener más información sobre los pagos no autenticados y la transferencia de responsabilidad, consulta el artículo Uso de Radar para Equipos de Fraude a fin de evitar cargos sin transferencia de responsabilidad.