woocommerce / woocommerce-gateway-stripe

The official Stripe Payment Gateway for WooCommerce
https://wordpress.org/plugins/woocommerce-gateway-stripe/
236 stars 206 forks source link

Stripe Link payment results in manual renewal for subscriptions #3577

Open raindeer opened 2 weeks ago

raindeer commented 2 weeks ago

Describe the bug All Woocommerce Subscriptions becomes set to Manual Renewal when paid with Stripe Link.

To Reproduce Steps to reproduce the behavior:

  1. Order Subscription product
  2. Pay with Stripe Link
  3. Check Subscription object's Payment method.

Expected behavior Automatic renewal

Environment (please complete the following information):

raindeer commented 2 weeks ago

Interestinly I can manually set the subscription to auto renewal and then push through renewal orders. So Link works on the Stripe side, it just the Woocommerce Subscription which is set to Manual renewal for some reason.

annemirasol commented 2 weeks ago

Hey @raindeer! I'm trying, but failing, to reproduce this issue. Could we ask for more details that may help?

  1. By paying with Stripe Link, do you mean the Link button beside the email address field that lets you autofill your billing details? Or is it perhaps the Link express payment method, in the Express Checkout box where you would see Apple Pay and Google Pay?
    • I actually tried both, but still could not repro.
  2. Is this on a localhost or staging site?
  3. When paying for the subscription product via CC, with the same card details stored in Link, does it go to Automatic Renewal?
  4. Could you provide us screenshots of the order and subscription pages, please? Please obscure any PII and other sensitive information if this is for an actual order.

Thanks!

rbgly commented 1 week ago

9000474-zen

paulostp commented 3 days ago

Hey @annemirasol 👋 The merchant in 9000474-zen mentions they didn't use Link before and that it was likely turned on when switching to the new checkout experience about a month back. The Customer and Payment Method IDs are stored, but it looks like the subscription was set to Manual Renewal, there's no mention of it in the Notes, so it looks like it was created like that in the first place. I asked them to change it back to Credit / Debit Card for a future renewal, will let you know if that solves the issue.

paulostp commented 2 days ago

Quick update @annemirasol: the renewal failed anyway. The order notes show:

Stripe SCA authentication failed. Reason: The connection to the user’s Link account has been closed. Order status changed from Pending payment to Failed.

annemirasol commented 8 hours ago

Was able to reproduce this by using a credit card number that requires 3D Secure 2 authentication, and being logged in with Link.

In the parent order's page, I see Payment via stripe_link (py_...), and the subscription is set to Manual Renewal.

Next step: investigate if the payment method being stripe_link, instead of card is causing the subscription to be set to manual renewal.