Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 3DS Auth support for Cards #50

Open
Fifciu opened this issue Feb 16, 2021 · 14 comments
Open

Add 3DS Auth support for Cards #50

Fifciu opened this issue Feb 16, 2021 · 14 comments

Comments

@Fifciu
Copy link

Fifciu commented Feb 16, 2021

Add 3DS Auth support for Cards. I've already implemented it In some project like a year ago. Here you could find my commits: https://github.com/new-fantastic/vsf-payment-stripe/commits/master

Look from 25. Feb 2020

@dimasch
Copy link
Contributor

dimasch commented Feb 16, 2021

@Fifciu Cool feature, thanks!
Can you create a pull request and i will create a next tag?

@Fifciu
Copy link
Author

Fifciu commented Feb 16, 2021

It will be hard for me in the current period. That's why I put a link to commits.

@dimasch
Copy link
Contributor

dimasch commented Feb 16, 2021

@Fifciu Okay, i will do it by myself.
Thanks again!

@antonioglass
Copy link

Hey, @dimasch! I installed this module (https://github.com/new-fantastic/vsf-payment-stripe/commits/master) but it cannot get clientSecret and there is stripeError. Have you tried this module on the latest VSF1 versions?

I also tried installing an original module but nothing happens after I place the order.

I would appreciate if you could help or update this module. Thank you!

@dimasch
Copy link
Contributor

dimasch commented Apr 27, 2021

@antonioglass

Have you tried this module on the latest VSF1 versions?

Yes, sure, but without the 3DS feature. You can check and create a Merge Request with support this feature, welcome!

@antonioglass
Copy link

@dimasch Thanks for quick reply! Have you faced a similar issue like nothing happens after placing the order? There are no any errors...

@dimasch
Copy link
Contributor

dimasch commented Apr 27, 2021

@antonioglass
No, there are things that do not depend on the settings of the frontend and this module, correct configuration is still required the Magento2 module for Stripe and the api related settings (integration section)

@antonioglass
Copy link

Hey @Fifciu ! Does something have to be configured besides just installing your version with 3DS (https://github.com/new-fantastic/vsf-payment-stripe/commits/master)? We installed it but it works just the same way as without 3DS, so no pop up with 3DS authentication appears (of course I use a 3DS test card). Thanks!

@antonioglass
Copy link

Update: we looked through the code and it looks like 3DS is triggered when ClientSecret is not null but it’s all the time null.
345345345

@Fifciu
Copy link
Author

Fifciu commented May 4, 2021

So to make it work. I had to do a few changes in the core.

  • At first I had to use paymentAndOrder Magento2 endpoint instead of order if payment method is stripe_payments - it is because paymentAndOrder is able to give additional steps like redirect or token for additional authentication in the response. Here I also served 202 code in the response (I modified o2m.js in vsf-api for that)
  • As you have additional data in the response. You have to store it somehow. As I did not have enough time in that project, I modified order's core module - I added a condition inside processOrder to check if code equals 202 and there is client_secret in the task.result if so: I removed hash from order history (I will have to call order once again, after 3ds auth and without removing it would not be possible), I setClientSecret with task.result.client_secret as a value and returned task
  • After that, client_secret will be updated properly and watcher in PaymentStripe.vue component should call check3ds method and handle the rest

Many things have been done there "on the asap". So there is definitely a place for improvements. Description from above is for minimal version, but for publication it would need a refactor in my opinion.

I hope you will find my tips useful

@meghasharma-24
Copy link

@Fifciu Where you added mentioned changes for comment #50 (comment)?

@Fifciu
Copy link
Author

Fifciu commented Jun 17, 2021

@meghasharma-24 In the previous job for the client, I do not have access to this code anymore and not enough time to redevelop it. That's why I've prepared steps on how to do it so devs have a guide.

@dearste
Copy link

dearste commented Sep 4, 2023

Any news abount this? There's a version of this module working with 3ds?

@dearste
Copy link

dearste commented Sep 4, 2023

@meghasharma-24 have u implemented 3ds?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants