-
Notifications
You must be signed in to change notification settings - Fork 3k
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 billing currency #43572
Add billing currency #43572
Conversation
# Conflicts: # src/types/onyx/Fund.ts
What exactly is security code? For the hint text, I would think that should always show under the currency input, as in, it's part of that component. So when we ask for a security code, I would think the security code would be below the currency input + hint text. |
I think that security code is CVV - ok i will add hint right under currency input. Thanks! |
How do we ask for that in the actual credit card form itself? Do we say security code there too? Just want to make sure they are consistent. We might consider adding some hint text below that too like "This is the CVV code found on the card you are using to pay for your Expensify subscription" or something like that. |
In credit card we just show without security code |
Can you show me a screenshot please? |
i send both of them in earlier message #43572 (comment) |
@shawnborton do you mean in this context? |
@dannymcclain or @MitchExpensify any ideas there? |
Jinx. I think we need to make sure we're calling that the same thing everywhere. Personally CVV is more understandable to me, but I don't know if that's just me or not. |
@shawnborton like this one: |
Jinx indeed! Yeah, that's exactly what I was getting at. I think we're doing some work to harmonize these card forms everywhere, does that sound right @trjExpensify? I forget who is working on that. But yeah, I agree, I mostly just want to make sure we are consistent. Security code almost feels like it could be mistaken for our magic codes, whereas CVV feels more explicitly understood (as you noted, Danny!). |
|
That looks better to me, thanks! |
I like renaming to CVV. I'll let @MitchExpensify weigh in there too though. @shawnborton Also, in this flow, should the change currency screen look more like this screenshot instead of what we're seeing in the video? I guess I don't understand why we need the double push input. And I also don't understand why sometimes you see the CVV field to change the currency and sometimes you don't? Do you only see the CVV field if you already have a saved card on file? CleanShot.2024-06-12.at.09.16.09.mp4 |
Yes I think you're right. When the CVV is present, we would need to do the double push. Going to mock some things up real quick to hopefully clarify this. |
Ok can you all take a look at this and double-check that it makes sense? I suppose if we wanted to keep things simple, we could just implement the bottom flow with and without the CVV (and not worry about the double push input). @shawnborton thoughts? |
Cool, that looks much better to me. I agree, it might just be easier to implement the bottom flow but would definitely love to understand just exactly when we decide to also ask for the CVV to change the billing currency. |
@dannymcclain @shawnborton hey guys! Let me know if we get to agreement to change design for screens above :-) |
Yeah good point - fix that as well! |
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.
Looks good, few questions/comments. Thank you for all the work on this! Happy that this is moving along and that we are close to getting it done.
src/components/AddPaymentCard/PaymentCardChangeCurrencyForm.tsx
Outdated
Show resolved
Hide resolved
# Conflicts: # src/libs/API/types.ts
# Conflicts: # src/libs/API/types.ts
# Conflicts: # src/components/AddPaymentCard/PaymentCardForm.tsx
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
@kavimuru there are a few issues unrelated to this PR that might be causing you issues. If there is an issue to be checked off can you link it to me and I can QA this PR? If not, can you show a screenshot of what exactly isn't working, with the network tab open in the chrome dev tools? |
@blimpich since the added card does not show we can't validate Recording.1988.mp4Recording.1987.mp4 |
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.0.3-7 🚀
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀
|
<View style={[styles.mt4, styles.mhn5]}> | ||
<InputWrapper | ||
currencySelectorRoute={currencySelectorRoute} | ||
value={data?.currency ?? CONST.CURRENCY.USD} |
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.
Adding fallback to CONST.CURRENCY.USD
here led to the following issue:
because on first mount useOnyx
returns undefined
until the value actually loads, by having the fallback, when the actual currency
value is loaded - the component won't rerender, displaying previously cached value.
We fixed the issue by exposing useOnyx
ResultsMetadata status
and adding additional check to above early return such that when the status
becomes "loaded"
the component will rerender, actualizing the value to the correct one (non-cached).
Details
Add new Currency select screens for payment card and subscriptions
Fixed Issues
$ #38619, #38630, #44118, #38633
PROPOSAL:
Tests
Add payment card flow:
Change subscription currency:
Edit payment card:
Offline tests
Add payment card flow:
Change subscription currency:
Edit payment card:
QA Steps
Add payment card flow:
Change subscription currency:
Edit payment card:
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.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
Android: Native
Android: mWeb Chrome
android-web.mov
android-web1.mov
android-web2.mov
iOS: Native
iOS: mWeb Safari
iso-web1.mov
ios-web3.mov
ios-web2.mov
MacOS: Chrome / Safari
web1.mov
web2.mov
Screen.Recording.2024-06-21.at.14.09.31.mov
MacOS: Desktop