La transferencia de responsabilidad no cubre los cargos que se aplicaron correctamente en el intento alternativo, pero no completaron el proceso 3DS. Una excepción abarca los cargos alternativos con el estado attempt_acknowledged
en payment_method_details.card.three_d_secure.result
que entran en la transferencia de responsabilidad.
Si deseas evitar que los pagos no cubiertos por la transferencia de responsabilidad se realicen correctamente, puedes hacerlo mediante Radar para Equipos de Fraude. Algunas recomendaciones útiles son:
Solicita 3DS con todos los cargos a través de la API y comprueba que el origen use 3D Secure. Es posible solicitar 3DS para un cargo si se configura request_three_d_secure: any al crear los pagos a través de la API. Una vez realizado esto, es posible usar esta regla de Radar: Block if not :is_3d_secure: and not :is_off_session:
Esto permitirá que los cargos de suscripción recurrentes (con solicitudes de exención) se apliquen correctamente de todos modos y se compruebe la autenticación de todos los cargos durante la sesión. Si el comerciante acepta Apple/Google Pay, deberá modificar levemente la regla de la siguiente manera: 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:)
Esto es necesario debido a que nunca permitimos 3DS en las tarjetas Apple Pay (Apple Pay solo admite la transferencia de responsabilidad en Europa) ni en las tarjetas Google Pay si también recibimos el criptograma durante la tokenización (es por eso que comprobamos :has_cryptogram:
).
Solicita 3DS con Radar y comprueba que el origen use 3D Secure.En lugar de solicitar 3DS al crear pagos a través de la API, puedes solicitar 3DS mediante el uso de Radar. Puedes seleccionar un atributo de metadatos personalizado para establecerlo en todos los cargos que requieran 3DS (por ejemplo, foo: bar
). Una vez hecho eso, la siguiente regla de Radar comprobará esos metadatos y solicitará 3DS: Request 3D Secure if ::foo:: = 'bar'
A continuación, puedes agregar una regla de Radar que compruebe si se ejecutó 3DS en los pagos coincidentes con la misma condición de solicitud de 3DS utilizada anteriormente. Block if ::foo:: = 'bar' and not :is_3d_secure:
Ten en cuenta que si procesas pagos de Apple Pay o Google Pay, la regla de Radar debería tener un aspecto similar al siguiente: Block if ::foo:: = 'bar' and not :is_3d_secure: and :digital_wallet: != 'apple_pay' and not (:digital_wallet: = 'android_pay' and :has_cryptogram:)