-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Feature: Implement 3ds flow #44321
Feature: Implement 3ds flow #44321
Conversation
c6b0072
to
9f131d6
Compare
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2024-07-23.at.17.49.55.movMacOS: Desktop |
@waterim The modal isn't getting closed after fail/success. I believe the backend needs to send a pusher event with the privateStripeCustomerID status. Screen.Recording.2024-06-27.at.12.10.49.mov |
src/pages/settings/Subscription/CardAuthenticationModal/types.ts
Outdated
Show resolved
Hide resolved
src/pages/settings/Subscription/CardAuthenticationModal/index.tsx
Outdated
Show resolved
Hide resolved
@Pujan92 because of the merge conflicts the code changed a bit, better to retest it |
Yes, Im wondering is this a problem of test mode of stripe or the same will be with live mode too |
@blimpich I think someone from backend team helps here to figure this out |
After merge with main the error isn't shown for the payment card page if api Screen.Recording.2024-06-27.at.18.25.56.mov |
@waterim Do we still need App/src/pages/settings/Subscription/PaymentCard/index.native.tsx Lines 7 to 13 in 5e464ea
|
Thats a good question |
The add card page was updated meanwhile in another PR into 2 screens with notFound for native, I think I need to remove my part also |
Alright this is really hurting my 🧠. The backend code for this is complicated, but I think I've figured out the general issue. We don't seem to be calling |
Spent most of my day looking into the 1st issue. Didn't succeed. Made a post in #wave-collect here asking for help. |
Again threw myself at this problem today, continued asking for help (link), but no solution. Better understanding of the problem, but no solution. |
Tried again today, no success. Reached out for help here. This issue is kicking my butt. Will come back again tomorrow with fresh eyes. |
@blimpich Updated, but can't test it locally because of the stripe test/prod modes |
Been talking with @waterim in DM, looks like contributors might not be able to test this due to how our web-secure repository works. Didn't realize the necessary permissions required more than just ngrok. The good news is that I can still test this locally and confirm it. I told this to @waterim but I'll repeat it here for anyone else following this: we are almost there but we need to add one more parameter to the request we are making for |
src/pages/settings/Subscription/CardAuthenticationModal/index.tsx
Outdated
Show resolved
Hide resolved
@Pujan92 Updated |
@waterim We need to add a step to choose GBP for the currency in the test steps. |
Updated! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good to me! @blimpich Can you plz test this on your side as we are unable to receive the message event of 3DS-authentication-complete
?
I will test this today 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It works, lets get this merged!
newDotFlow1.mov
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/blimpich in version: 9.0.12-0 🚀
|
@mvtglobally I'm not sure if its possible to QA this in staging unless we have a credit card that we can use in staging that will trigger a SCA authentication, which means it would need to be a card that has a default currency of GBP. Do we have that? |
@blimpich We don't have card in GBP in staging with SCA authentication |
@kavimuru, okay, in that case please skip this for QA. I'll make a note to try and have us test this internally with a UK employee. |
🚀 Deployed to production by https://github.com/francoisl in version: 9.0.12-0 🚀
|
🚀 Deployed to staging by https://github.com/blimpich in version: 9.0.13-0 🚀
|
@Pujan92 In this PR, Is there any reason why we skip testing on mobile? |
useEffect(() => { | ||
window.addEventListener('message', handleGBPAuthentication); | ||
return () => { | ||
window.removeEventListener('message', handleGBPAuthentication); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change caused this bug
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This component we were not rendering for the native, so while testing in mobile it wasn't crash for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh I see. Thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My bad 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean it is from the place where we render this component, in this PR PaymentCard
component is responsible for calling this and there we have this platform specific file. And if I remember correctly, in the doc it is mentioned that stripe flow won't be allowed in native.
Details
Implemented 3ds flow
Fixed Issues
$ #42432, #42433
PROPOSAL: N/A
Tests
NOTE: You need to connect to someone local backend to test live mode of the stripe
/settings/subscription/add-payment-card
Offline tests
Same as tests
QA Steps
None
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web