• Resolved mirunchained

    (@mirunchained)


    Hello,

    I had to rollback to version  9.2.0.

    If I update to new versions I have this problem when the plugin tries to renew automatically the subscription of some customers:

    Sorry, we are unable to process the payment at this time. Reason: You cannot confirm with off_session=true when setup_future_usage is also set on the PaymentIntent. The customer needs to be on-session to perform the steps which may be required to set up the PaymentMethod for future usage. Please confirm this PaymentIntent with your customer on-session.

    The costumer has saved his payment method in his account, and I find it correctly in Stripe Dashboard. But it still give me this error.

    If I rollback to 9.2.0 the renewal process correctly.

    The problem is I have many many costumers subscriptions activated at the moment, so this bug cannot happen in my working system.

    • This topic was modified 1 year, 2 months ago by mirunchained.
Viewing 9 replies - 1 through 9 (of 9 total)
  • Hi @mirunchained,

    Thanks for reaching out.

    To fully understand the situation, are you saying that the issue does not occur with version 9.2.0 but does with the latest version (9.3.1)?

    Also, I’m not quite sure what you mean by:

    “The problem is I have many, many customer subscriptions activated at the moment, so this bug cannot happen in my working system.”

    Could you clarify?

    To better understand your site setup, please share your system status report by navigating to:
    WooCommerce > Status > Get Report > Copy for Support
    Then, paste it on gist.github.com and share the link.

    Additionally, check the Log tab for any fatal errors or logs related to the plugin and share those as well. Looking forward to your response!

    Thread Starter mirunchained

    (@mirunchained)

    Hello,

    Yes, the problem happen on new version of Stripe.

    I am using WooCommerce Subscription. Usually when a subscription expires WooCommerce Subscription create a renewal order, with Payment method and Costumer ID of Stripe. And it works very well, so costumers can unsubscribe or let subscription active and let automatic renewal with Stripe.

    Then, I upgraded Stripe to 9.3.1 and now when subscription expires and Stripe try create payment – it shows that error.

    So I am worried for the future, since I have many costumers with automatic renewal activated and I do not want lose money on subscription.

    Hope it is clear.

    I can send you a Status report, but I had to rollback Stripe Plugin to make things work, so I think System report now it is useless.

    Hi @mirunchained ,

    Thanks for reaching out!

    You can share system status reports from a staging site without sharing your live site. In that case you need to setting up a staging environment with the latest version of the plugin activated. A great way to do this is by using the WP Staging plugin.

    Also, if you’re using the legacy checkout, could you confirm whether you’ve added this filter?

    add_filter( 'wc_stripe_force_save_source', '__return_true' );

    Let us know what you find!

    Thread Starter mirunchained

    (@mirunchained)

    Hello,

    Staging site status: https://gist.github.com/webbfox88/d9100b33b74b61c5da8887e1354c9652

    Legacy checkout code is ok.

    The problem as I said is not relative to the customer cards, because if I go inside Stripe, those customers have saved their credit cards in Stripe, and it is the same in their user area (I made a double check on it).

    In fact with all version of Stripe plugin everything works well.

    Hi @mirunchained,

    Thank you for getting back.

    The issue so far appears to be related to WooCommerce Subscriptions, but before I guide you to the appropriate support channel, could you share a full screenshot of the error you mentioned above? This will help me see exactly where the error is being displayed.

    Additionally, please navigate to WooCommerce > Status > Logs and check for any fatal error logs or logs related to WooCommerce Subscriptions or Stripe. Once found, please share those details as well.

    Thread Starter mirunchained

    (@mirunchained)

    Hello again,

    So I tried again the update to reveal the error and please note:

    WooCommerce Subscription works (tested) with:

    • Paypal
    • Amazon Pay
    • Stripe 9.2.0

    Does not work with:

    • Stripe 9.3.1

    Please find attach screenshot of the error in PDF

    https://smallpdf.com/it/file#s=fe8a9907-e7c9-4460-9a4d-e29a393e8bb7

    And log on website shows this error (I edited some data with “****” for privacy reason)

    2025-03-27T08:57:16+00:00 Errore Webhook failed validation. Reason: signature_mismatch

    2025-03-27T08:57:16+00:00 Errore Webhook body: {

      "id": "evt_*************G0wy1JhV66zu",

      "object": "event",

      "api_version": "2024-06-20",

      "created": 1743065834,

      "data": {

        "object": {

          "id": "pi_***********0wy1hoYYlYt",

          "object": "payment_intent",

          "amount": 8700,

          "amount_capturable": 0,

          "amount_details": {

            "tip": {

            }

          },

          "amount_received": 0,

          "application": "ca_************8KlBgSHzwTKn",

          "application_fee_amount": null,

          "automatic_payment_methods": null,

          "canceled_at": null,

          "cancellation_reason": null,

          "capture_method": "automatic",

          "client_secret": "pi_*******hoYYlYt_secret_gpoPl*****SgB",

          "confirmation_method": "automatic",

          "created": 1743065833,

          "currency": "eur",

          "customer": "cus_R********w”,

          "description": “********* - Ordine 44202",

          "invoice": null,

          "last_payment_error": {

            "advice_code": "confirm_card_data",

            "charge": "ch_3************0lDR0",

            "code": "card_declined",

            "decline_code": "generic_decline",

            "doc_url": "https://stripe.com/docs/error-codes/card-declined",

            "message": "Your card was declined.",

            "network_advice_code": "01",

            "network_decline_code": "83",

            "payment_method": {

              "id": "pm_***********T5ujr7",

              "object": "payment_method",

              "allow_redisplay": "unspecified",

              "billing_details": {

                "address": {

                  "city": "Ce********”,

                  "country": "IT",

                  "line1": "Via ******* Pellico ",

                  "line2": "",

                  "postal_code": "20***1”,

                  "state": "MB"

                },

                "email": “********@tiscali.it",

                "name": "Luca *********”,

                "phone": "+393*********”

              },

              "card": {

                "brand": "mastercard",

                "checks": {

                  "address_line1_check": "unavailable",

                  "address_postal_code_check": "unavailable",

                  "cvc_check": "pass"

                },

                "country": "IT",

                "display_brand": "mastercard",

                "exp_month": 9,

                "exp_year": 2028,

                "fingerprint": "RsXf**********”,

                "funding": "prepaid",

                "generated_from": null,

                "last4": "2669",

                "networks": {

                  "available": [

                    "mastercard"

                  ],

                  "preferred": null

                },

                "regulated_status": "unregulated",

                "three_d_secure_usage": {

                  "supported": true

                },

                "wallet": null

              },

              "created": 1738******,

              "customer": "cus_R*********w”,

              "livemode": true,

              "metadata": {

              },

              "type": "card"

            },

            "type": "card_error"

          },

          "latest_charge": "ch_***********lDR0",

          "livemode": true,

          "metadata": {

            "payment_type": "recurring",

            "order_id": "44202",

            "site_url": "https://**********.org",

            "customer_email": “*********@tiscali.it",

            "signature": "44202:867f1d************99bd",

            "customer_name": "Luca *********”

          },

          "next_action": null,

          "on_behalf_of": null,

          "payment_method": null,

          "payment_method_configuration_details": null,

          "payment_method_options": {

            "card": {

              "installments": null,

              "mandate_options": {

                "amount": 8700,

                "amount_type": "fixed",

                "description": null,

                "end_date": null,

                "interval": "year",

                "interval_count": 1,

                "reference": "44202",

                "start_date": 1743065833,

                "supported_types": [

                  "india"

                ]

              },

              "network": null,

              "request_three_d_secure": "automatic"

            }

          },

          "payment_method_types": [

            "card"

          ],

          "processing": null,

          "receipt_email": null,

          "review": null,

          "setup_future_usage": null,

          "shipping": null,

          "source": null,

          "statement_descriptor": null,

          "statement_descriptor_suffix": null,

          "status": "requires_payment_method",

          "transfer_data": null,

          "transfer_group": null

        }

      },

      "livemode": true,

      "pending_webhooks": 1,

      "request": {

        "id": "req_k1*********Zxp",

        "idempotency_key": "1cb55b8e-f357-*********”

      },

      "type": "payment_intent.payment_failed"

    }

    After that, I downgraded to 9.2.0 and everything works fine (same subscription).

    Hi @mirunchained ,

    Thanks for reaching out!

    Looking at your log, the “Webhook failed validation. Reason: signature_mismatch” error suggests an issue with your webhook configuration.

    I’d recommend reconfiguring your webhook and checking if that resolves the issue. You can follow the steps here: Reconfiguring Stripe Webhooks.

    Since this involves a premium extension (WooCommerce Subscriptions), you’ll need to reach out to us directly via WooCommerce.com → My Account → Support. Please make sure you’re logged into the account that purchased the extension to access the support page.

    As per the forum guidelines, support for premium extensions isn’t provided here, but we’ll be happy to assist you further through our official support channels.

    Let us know if you have any trouble accessing support.

    Thanks!

    Thread Starter mirunchained

    (@mirunchained)

    Hello,

    Thank you, as always, for your support.

    However, I must say that in this thread, I consistently see the issue being shifted onto other plugins, when in this particular case, it’s quite clear that the problem lies specifically with the Stripe plugin.

    WooCommerce Subscriptions is working perfectly with other payment methods, and the issue occurs only when updating Stripe from version 9.2.0 to 9.3.0 (and subsequently 9.3.1).

    The issue occurs specifically during the subscription renewal. Stripe seems to treat it as a first-time payment (which is why it refers to it as “off-session”), when in reality, it’s a renewal—a second, third, fourth, or even fifth billing cycle.

    It behaves as if the subscriber now needs to manually renew on the site, whereas it should be handled automatically, just like it works with PayPal.

    While reviewing the changelog, I found the following updates which might be related to the issue:

    Fix – Skip unnecessary save step when already using a saved payment method for legacy checkout.

    Fix – Prevent potential duplicate renewal charges by ensuring subscription integration hooks are only attached once per Gateway ID.

    I also tried reconfiguring the webhook after the update, but unfortunately, that didn’t solve the problem either.

    The issue remains, so for now, I’ve had to roll back to version 9.2.0, where everything works as expected.

    Thanks again.

    Zee

    (@doublezed2)

    Hello mirunchained,

    Thank you for your getting back to us and sharing more details.

    I consulted with the developers and here are our findings. The signature issue in the logs suggests that you might be using two Stripe accounts and switching between them at checkout, possibly based on the country code. It also appears that a subscription source migration may not be working correctly.

    Please create a ticket through your WooCommerce.com account so our Happiness Engineers can investigate further and help resolve this issue.

    Feel free to share your ticket number here so I can make sure there is a swift follow-up.

    Best regards.

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Subscription Renewal Error after update’ is closed to new replies.