-
Notifications
You must be signed in to change notification settings - Fork 71
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
Change Payment - Error when changing subscription payment method to a new 3DS CC with UPE disabled #2822
Comments
duplicate of #1294 |
I think this is worth prioritising. If shoppers / subscribers can't add 3DS (aka SCA) credit cards as payment methods, we should either fix that or improve the error handling (if these cards are not supported for subscriptions). |
I'm assuming this affects both WCPay Subscriptions and the integration with WooCommerce Subscriptions. |
@haszari yes, following the above steps with WC Subscriptions produces the same results. |
This comment was marked as outdated.
This comment was marked as outdated.
I've moved my comments related to the bug with UPE to a new issue (#4308) since this issue is specific to non-UPE. |
Tested this and I notice the form gets submitted, and Woo thinks a payment method has been added, before the 3DS modal is displayed. Eg.
I compared with the regular (shortcode) checkout for WCPay, and pay-for-order for WC Stripe extension. In both cases, the 3DS modal is displayed before any page reloads. So maybe we need to rework the logic to ensure the 3DS modal is displayed before the form submission. The JS code handling this UI is in |
This could be the culprit: woocommerce-payments/client/checkout/classic/index.js Lines 319 to 322 in 6081086
|
Any update on this @haszari a merchant is affected by this, I think on 8894172-zd-a8c |
@solstudioim No updates from me or Helix team (if there were we would have commented!). I suggest reaching out to product or engineering folks currently focused on subscriptions, we switched focus a while ago. |
This issue might be similar to a bug we fixed in Stripe related to changing to a 3DS card after we implemented deferred intents: woocommerce/woocommerce-gateway-stripe#3539 Deferred intents changed when payment/setup intents were created and confirmed. Previously on Stripe, the intent was created on page load and then confirmed at the time of form submission. With deferred intents, the intent is now created on form submission and later validated/confirmed during the In order to fix this issue, we had to return |
This issue existed for a long time now, as it was there with the good old UPE too. The PR mentioned by Matt above is pretty helpful. On top of that, we still need to handle a couple of WooPayments-specific areas:
There might be more things in it but the above ones are the bigger ones for now. |
Describe the bug
In My Account > My Subscriptions > Change Payment page, when trying to add a new payment method which is a credit card with 3ds security, getting error:
Error: No such payment_intent: 'seti_ab'
.This occurs when the store has UPE disabled.
To Reproduce
[pre-requisite: customer logged in and has 1 subscription bought (1 month subscription)]
My Account
>My Subscription
Change Payment
button4000002760003184
12/25 123Change Payment
button to save the changesActual behavior
Throws warning and CC not added
Screenshots
Page reloads and shows
Payment method updated
and spinner before the 3DS modal is rendered/validated!After the 3DS modal is verified (click
Complete Auth
), then you get the error. It looks like our payment processing is firing too early.Expected behavior
No warning, credit card added successfully and present at the bottom.
Desktop (please complete the following information):
Additional context
The text was updated successfully, but these errors were encountered: