nathanstitt / react-braintree-fields

React components for Braintree hosted fields
https://nathanstitt.github.io/react-braintree-fields/
MIT License
39 stars 25 forks source link

New 3DS card regulation: how to chain a threeDSecure instance? #59

Closed luigimannoni closed 1 year ago

luigimannoni commented 2 years ago

Hi, there are new regulations around card payments PSD2 on a notification sent from Braintree last month, after the deadline the react-braintree-fields module does not seem like it's processing amounts over £30 (threshold varies from card issuer to card issuer, in some instances it is £100)

I am in the process to integrate 3DS2 checks on a project based on React using this module. On another project I solved this by passing to the clientinstance the threedsecure instance as outlined here and that works flawlessly.

On the React project, however, I can't find a way to inject my threeDSecure instance, I can see there's the deviceCollector instance available but my client does not use the advanced fraud tools.

Is there a way to chain/intercept/inject a threeDSecure instance before the clientInstance triggers the payment?

See Braintree email below:

From 15 October 2022, 3DS 1.0 will be officially deprecated by all major card providers and 3DS 1 transactions will be declined. This change will make EMV 3DS (commonly called 3DS 2.0) the new standard in 3D Secure authentication protocol.

We have identified that you are using 3DS 1 on your Braintree platform and you will need to take action to ensure that there are no interruptions to your payments and retain the benefits of 3D Secure, such as liability shift and compliance in regulated regions.

...

Ensure you are using an up-to-date SDK (Software Developer Kit). The minimum SDK versions required to use 3DS2 are Web 3.52.0 / Android 3.4.2 / iOS 4.26.3. During our review, we determined some of your traffic is still using an older SDK and as such we recommend you upgrade your integration as soon as possible to avoid any issues. Several updates and fixes have been implemented since this version, specifically as it pertains to 3D Secure. You can review a migration guide for 3DS1 to 3DS2 here and a general integration guide here.

This requires an update to your integration, so you may need to engage a developer or speak to your shopping cart provider. To read more about the changes and your options, please click here.
nathanstitt commented 1 year ago

Hi @luigimannoni I haven't followed 3DS2 very closely and am afraid I no longer use this library in my day to day work. If you do manage to get it working I'd be interested in how you accomplished it and am happy to add it to the library.