• Resolved hny

    (@honeyloudlr)


    Hello.

    The WooCommerce order status is failed and the customer was charged.

    We are seeing this error on Stripe logs.

    Error message

    “message”: “This PaymentIntent’s payment_method_types could not be updated because it has a status of succeeded. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action.”

    “type”: “invalid_request_error”

    This is the WooCommerce order notes.

    1. Stripe charge complete
    2. Sorry, we are unable to process your payment at this time. Please retry later.
    3. Order status changed from Processing to Failed.

    Can you advise?

Viewing 7 replies - 1 through 7 (of 7 total)
  • Hello,

    This is certainly odd.

    To check further this for you, can you please share a copy of your site’s System Status Report? It is under WooCommerce > Status. Select “Get system report” and then “Copy for support”.? And then, paste it here in your response.

    Thanks.

    Thread Starter hny

    (@honeyloudlr)

    Hi @honeyloudlr

    Can you please share if there’s any pattern or similarities on these failed orders? Like, same product, same categories, same customer, same location, etc?

    Thanks for sharing the System Status Report.

    Outdated Templates: ?</img>

    Please update outdated templates on your site by following our guide here: Fixing Outdated WooCommerce Templates. I can see that the pages for cart.php and checkout/form-pay.php are already outdated.

    Then, try to enable Stripe Test Mode, replicate the same order and see if this resolves the issue?

    Otherwise, please provide the fatal error logs (if any) under WooCommerce > Status > Logs.

    Let us know how it goes!

    Thread Starter hny

    (@honeyloudlr)

    Thank you for your response.

    It only happened on this order, the other orders are working fine with no issue.

    Here is what the stripe support said:

    I was checking the payment and it first succeed the error for failed is because someone tried to update the payment method and it cannot be done one it succeed, let me give you the error:

    Message: “This PaymentIntent’s payment_method_types could not be updated because it has a status of succeeded. You may only update the payment_method_types of a PaymentIntent with one of the following statuses: requires_payment_method, requires_confirmation, requires_action.”

    In this case as the information is sent by WooCommerce please contact them for further insights and ask why your integration called an update for successful PI.

    No it’s not. In this case your integration is calling PaymentIntent.update endpoint and it returns with error because that PI has been completed/paid. https://stripe.com/docs/api/payment_intents/update

    Screenshot of stripe activity: https://prnt.sc/3KMlEC8uuzzn

    Here is the screenshot of the order notes. https://prnt.sc/e76umgaHDorg

    There is no fatal error logged on the same date this order happened.

    Thank you.

    Saif

    (@babylon1999)

    Hello @honeyloudlr,

    Thank you for sharing all this information.

    I wasn’t able to replicate the problem, I also found this thread with the same issue and they also have outdated theme templates.

    Please check the guide shared by Xue28 to update your theme templates.

    You can also create a staging environment using WP-STAGING and enable Stripe in test mode to see if this happens again.

    Let us know how it goes!


    Thread Starter hny

    (@honeyloudlr)

    Thank you.

    Questions.

    1. Do we need webhook enabled so that if the order fails and the payment was re-tried the WooCommerce order status will update automatically?
    2. What if we have two sites? Can we use the same stripe account? Any advise?

    Thank you.

    Hi @honeyloudlr

    Do we need webhook enabled so that if the order fails and the payment was re-tried the WooCommerce order status will update automatically?

    Webhooks are used by Stripe to communicate with your site. It provides information such as the status of the payment, and is used to update the order based on certain events from Stripe’s side of things.

    You can find more information about that here: https://woocommerce.com/document/stripe/#webhooks

    What if we have two sites? Can we use the same stripe account? Any advise?

    As per Stripe’s documentation, you must use separate Stripe accounts for projects, websites, or businesses that operate independently from one another. When you activate a new account, it’s subject to Stripe’s standard policies and pricing—it doesn’t inherit any special status or other similar considerations that might apply to your existing account.

    Hope this helps!

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘400 ERR PaymentIntent’ is closed to new replies.