• Resolved gunther12

    (@gunther12)


    I can provide two cases, where the amount charged by Stripe doesn’t correspond with the amount requested by the shop.

    1. Order: 119,-€ in WooCommerce, charged at Stripe via Alipay: 100,69€
    2. Order: 59,-€ in WooCommerce, charged at Stripe via WeChat: 104,23€

    In both cases, in the Event log in Stripe the order is created with the correct amount, but then there is an update request a which changes it to the wrong amount (see below).

    Strangely (and fortunately) this happen in very few cases only, but it’s still a major annoyance to deal with.
    I can provide further information, if needed.

    This is the Event log for the 1. Order.

    The payment pi_3RYi9dGwk41CSZvg1JQHTs2Q for €100.69 has succeeded
    6/11/25, 8:33:06 AM
    py_3RYi9dGwk41CSZvg1Wmmgsil was charged €100.69
    6/11/25, 8:33:06 AM
    The payment pi_3RYi9dGwk41CSZvg1JQHTs2Q for €100.69 requires you to take action in order to complete the payment
    6/11/25, 8:30:09 AM
    200 OK
    A request to confirm a PaymentIntent pi_3RYi9dGwk41CSZvg1JQHTs2Q completed
    6/11/25, 8:30:08 AM
    The payment pi_3RYi9dGwk41CSZvg1JQHTs2Q for €100.69 requires you to take action in order to complete the payment
    6/11/25, 8:30:07 AM
    PaymentIntent status:
    requires_action
    200 OK
    A request to confirm a PaymentIntent pi_3RYi9dGwk41CSZvg1JQHTs2Q completed
    6/11/25, 8:30:06 AM
    PaymentIntent status:
    requires_confirmation
    200 OK
    A request to update a PaymentIntent pi_3RYi9dGwk41CSZvg1JQHTs2Q completed
    6/11/25, 8:30:04 AM
    The payment pi_3RYi9dGwk41CSZvg1JQHTs2Q for €119.00 requires you to take action in order to complete the payment
    6/11/25, 8:29:00 AM
    PaymentIntent status:
    requires_action
    200 OK
    A request to confirm a PaymentIntent pi_3RYi9dGwk41CSZvg1JQHTs2Q completed
    6/11/25, 8:28:59 AM
    A new payment pi_3RYi9dGwk41CSZvg1JQHTs2Q for €119.00 was created
    6/11/25, 8:28:58 AM
    PaymentIntent status:
    requires_payment_method
    200 OK
    A request to create a PaymentIntent completed
    6/11/25, 8:28:57 AM
Viewing 8 replies - 1 through 8 (of 8 total)
  • Plugin Author Clayton R

    (@mrclayton)

    Hi @gunther12

    Thanks for contacting us. The log entries for this payment intent look very busy and don’t follow the normal steps for a payment that requires 3DS. That indicates a possible issue with your site setup.

    The Stripe plugin always gets the payment intent amount directly from the WooCommerce order object so any deviation in the expected amount comes from the order and would not be a Stripe plugin issue. The Stripe plugin does not manipulate or change the order’s total in any way.

    The WooCommerce order function WC_Order::get_total() does however provide a filter that 3rd party plugins use and that is likely the source of the unexpected order total.

    Can you share the Stripe account ID?

    Kind Regards

    • This reply was modified 10 months, 3 weeks ago by Clayton R.
    Thread Starter gunther12

    (@gunther12)

    I can assure you that out of thousands of orders, it’s only two where I see this issue and they run the the regular process as all other orders, there is nothing special apart from that they use Alipay and WeChat (but others also do). Why would any other plugin do random changes to the payment process of specific orders? How is this even possible?
    The account ID is: acct_1N4fN2Gwk41CSZvg

    Plugin Author Clayton R

    (@mrclayton)

    Why would any other plugin do random changes to the payment process of specific orders? How is this even possible?

    It’s not the payment process that would be manipulated, it’s the order total (unless you have code using the Stripe plugin’s payment intent filter to manipulate values). WooCommerce provides filters everywhere which allow 3rd party code to change the value that’s returned. I can’t speak for why a plugin or custom code might be manipulating the order total.

    How is this even possible?

    Per the previous reply:

    The WooCommerce order function WC_Order::get_total() does however provide a filter that 3rd party plugins use and that is likely the source of the unexpected order total.

    This plugin creates the payment intent the same way for all payments, regardless of payment method. If this were a Stripe plugin bug, it would affect all orders and we would be seeing an enormous amount of support requests for incorrect payment amounts.

    Can you provide a screenshot of order #75635 from the order details page? Specifically the order notes and the order line items along with the total.

    Kind Regards

    Thread Starter gunther12

    (@gunther12)

    Plugin Author Clayton R

    (@mrclayton)

    Hi @gunther12

    Thanks for sharing that info. Based on the info you’ve shared and a thorough review of the logs, I don’t see any indication that this is a Stripe plugin issue.

    The payment intent’s amount property is always sourced from the WooCommerce order. Here is a link to the plugin’s code if you would like to verify that:

    https://plugins.trac.ww.wp.xz.cn/browser/woo-stripe-payment/tags/3.3.90/includes/abstract/abstract-wc-stripe-payment.php#L220

    https://plugins.trac.ww.wp.xz.cn/browser/woo-stripe-payment/tags/3.3.90/includes/abstract/abstract-wc-stripe-payment.php#L286

    Kind Regards

    Thread Starter gunther12

    (@gunther12)

    Of course I believe your expertise. Thank you so much for your time and concise explanation. This is very good support, thanks!

    Would you mind giving me any insight, how I could try to identify what’s going on then and which plugin is messing this up?

    Plugin Author Clayton R

    (@mrclayton)

    Hi @gunther12

    The only two ways that I am aware of in which the amount communicated to Stripe could be wrong is:

    1. A plugin or custom code is using the WooCommerce filter woocommerce_order_get_total
    2. A plugin or custom code is using the filter wc_stripe_payment_intent_args to alter the payment intent’s amount property.

    I’d recommend trying to replicate this behavior using test mode on your staging site. If you are able to replicate consistently, you can then use process of elimination by deactivating all plugins by Woo and Stripe and working your way through each plugin activation.

    Kind Regards

    Thread Starter gunther12

    (@gunther12)

    Thank you, unfortunatly this happened in 2 out of thousands of transactions, no way for me to replicate it. I think I will have to live with it for now and hope that this issue will be fixed with some plugin update.
    Thanks for you help anyway!

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

The topic ‘Wrong amount charged in some cases’ is closed to new replies.