Los cargos que se hagan correctamente en el intento alternativo, pero que no hayan completado la autenticación 3DS no están cubiertos por la transferencia de responsabilidad. Se exceptúa el cargo alternativo con el estado attempt_acknowledged
en payment_method_details.card.three_d_secure.result
, que sí estará cubierto por la transferencia de responsabilidad.
Si quieres impedir que se completen los pagos que no estén cubiertos por la transferencia de responsabilidad, puedes hacerlo con Radar for Fraud Teams. Aquí tienes algunas buenas recomendaciones:
Solicita 3DS en todos los cargos mediante la API y busca un origen de 3D Secure. Para solicitar 3DS en un cargo, establece «request_three_d_secure: any» cuando crees pagos mediante la API. Cuando lo hayas hecho, puedes usar esta regla de Radar: Block if not :is_3d_secure: and not :is_off_session:
Así, los cargos de suscripciones recurrentes (que solicitan exenciones) se completarán satisfactoriamente y se comprobará que los cargos durante la sesión estén autenticados. Si el comerciante acepta Apple Pay o Google Pay, tendrá que modificar algo la regla, de esta forma: Block if not :is_3d_secure: and not :is_off_session: and :digital_wallet: != 'apple_pay'
and not (:digital_wallet: = 'android_pay' and :has_cryptogram:)
. Este cambio es necesario porque nunca permitimos 3DS en tarjetas de Apple Pay (Apple Pay solo admite la transferencia de responsabilidad en Europa) y en las tarjetas de Google Pay no permitimos 3DS si también hemos recibido el criptograma durante la tokenización (por eso comprobamos :has_cryptogram:
).
Solicita 3DS con Radar y busca un origen de 3D Secure. En vez de solicitar 3DS al crear pagos mediante la API, puedes hacerlo mediante Radar. Puedes elegir un atributo de metadatos personalizado que establecer en todos los cargos que requieran 3DS (por ejemplo, foo: bar
). Cuando lo hayas hecho, la siguiente regla de Radar buscará esos metadatos y solicitará 3DS: Request 3D Secure if ::foo:: = 'bar'
. A continuación, puedes añadir una regla de Radar que compruebe si se ha ejecutado 3DS en los pagos que coincidan con la misma condición de solicitud de 3DS que se ha usado antes: Block if ::foo:: = 'bar' and not :is_3d_secure:
. Recuerda que, si procesas pagos de Apple Pay o Google Pay, la regla de Radar tiene que ser como la siguiente: Block if ::foo:: = 'bar' and not :is_3d_secure: and :digital_wallet: != 'apple_pay' and not (:digital_wallet: = 'android_pay' and :has_cryptogram:)
.