-
-
Notifications
You must be signed in to change notification settings - Fork 730
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
Update Stripe card info form and/or the cards authorization checkboxes in the Account section to use Payment Method and Setup Intents APIs #4723
Comments
ok, I think I have enough info to discuss the challenge of letting customers authorize cards for subscriptions. Currently customers check a box that lets a specific enterprise charge their card in a subscription. The card used is the default card of that customer. If when the sub is running the default card is With SCA we need to show some extra auth page when the customer authorizes a given shop to use a specific card. This will authorize a specific card in a specific enterprise. The solution I see is:
I need feedback before I continue with this. |
This solution sounds perfect. It feels intuitive... and possibly the only feasible solution. In your thinking did you see another solution @luisramos0? Am I right in thinking that in the (rare) case of a shopper having two subscriptions for two different shops we will need a UX change? One card authorisation is valid for one shop so the authorisation needs to clearly note which card is authorised? Or we stick to the default card for all shops? I see this case being a bit trickier. Would it be useful to map out the workflow to this or any mock ups to help think it through a little more? |
case A - shopper has two subs for 2 shops but pays them with same default card - this is covered by my solution above, when default card is changed the two "allow charges" checkboxes on the right will be voided and the user needs to authorize again both shops by clicking the checkboxes. case B - shopper has two subs for 2 shops and pays with different cards - this is not possible right now as the subs code picks the default card for all subs - it would be a new requirement not related to SCA. If in the future we implement this, the user will have to select a card when allowing charges for a given enterprise and in that case, the default card would not be used and we would only have to void the authorization in case the selected card was deleted. |
I just found something important regarding the implementation: Ideally we will be upgrading to active merchand v1.109, otherwise we do what we did for payment intents and we will just manually update the code we have copied from v1.98 to the version in v1.109... |
I tried out upgrading active_merchant to v1.109; it requires ruby v2.5 or greater, however. I also tried bumping it to v1.98; the current version of the Spree gem locks us to v1.78. This may be resolved once byebye Spree is deployed. I tried to copy in code from v1.109 to get the setup_intents code; however, it looks like it also is coupled with a lot of the code in |
Hey Andy, we could bring just the setup intents method for StripePaymentIntentsGateway from v.1.109 |
Good catch; I'd brought the whole file previously, I'll give that a try next. |
Description
Setting new credit card info for Stripe payment method should use the Payment Method and Setup Intents API and support SCA. The off-session mode is probably applicable.
Do this for the Customer saved cards page.
There are probably two parts to this process:
Acceptance Criteria & Tests
A customer can add a card to be used later in the Account section. This will never trigger extra authentication.
A customer authorizes a shop to charge their card. Further SCA authentication should be handled correctly.
The text was updated successfully, but these errors were encountered: