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

Adding new card with 3DSecure in Stripe can be interpreted as failed payment by the gateway #3877

Open
ahansson opened this issue Feb 12, 2025 · 0 comments

Comments

@ahansson
Copy link

ahansson commented Feb 12, 2025

Describe the bug

  • Customer has an active subscription with the WooCommerce Subscriptions plugin.
  • Customer tries to add a new payment card with Stripe.
  • Customer could not verify the new card with 3D Secure, Stripe's setup intent fails
  • System order note (translated from Norwegian): A payment with id seti_1QdX1KGxxxxxxx was used in an attempt to pay for this order. This payment intent id does not match any payments for this order, so it was ignored and the order was not updated.

The failed setup intent is interpreted by the gateway as a failed payment, which in turn leads WooCommerce Subscriptions to change the customer's subscription status from Active to Pending ('wc-pending'),

This blocks the customer from accessing premium content within an otherwise valid subscription period.

System order note when the customer has tried to add a new card (translated from Norwegian):

Payment method changed from “Payment Card (Visa or Mastercard)” to “Credit/Debet card” by the subscriber.

But in Stripe the customer has not added any new card since 3 Aug 2024, 19:19, a Visa credit card (---- 1234). This card has been charged for all of the customer's 6 orders.

Customer has not visited our premium content since the day of the failed setup intent, indicating that his subscription status was changed to 'pending' on that day.

  1. We assume that the system order note about the new card is a system error.
  2. We assume that the failed setup intent should be disregarded in cases such as the one described above

To Reproduce
Steps to reproduce the behavior:

  • User has an active subscription in WooCommerce subscriptions
  • User has a saved and verified payment card set up with Stripe
  • User adds a new card which requires authentication and makes sure that the verification fails.
  • The cascade of events should now follow the description above. Subscription status should be changed automatically to wc-pending.

Expected behavior

There is no need for the gateway to interpret an "add new card failure" from Stripe as a failed payment. We don't think the gateway should need to react to such events at all, until the card authentication has been successfully completed.

Environment (please complete the following information):

  • WordPress Version: 6.7.2
  • WooCommerce Version: 9.6.1
  • Stripe Plugin Version: 9.1.1
  • Browser [e.g. chrome, safari] and Version: Any
  • Any other plugins installed:
@ahansson ahansson changed the title Adding new card with 3DSecure in Stripe is interpreted as failed payment by WooCommerce Adding new card with 3DSecure in Stripe can be interpreted as failed payment by the gateway Feb 12, 2025
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

1 participant