• Resolved Andrej Srna

    (@reesher)


    Hello,

    I found a bug within the plugin. My customer in the final step failed the 3D secure verification, I presume the order should be then automatically set to failed.

    However the order in my WooCommerce store was set as “Processing”, where I could see that the order was successfully payed.

    However if I check the order via Stripe, I see that is incomplete with following error: 3D Secure attempt failed. The customer failed 3D Secure authentication.

    Could you please verify the issue? I got the call from customer where she was confused, I think the best option is just to set it to failed order when they fail stripe or stripe is incomplete!

    Thanks!

    Andy

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Payment Plugins

    (@mrclayton)

    Hi @reesher

    I found a bug within the plugin.

    People often think they have identified a bug in the plugin but it’s almost always related to how their site is setup and the plugins they’re using.

    However the order in my WooCommerce store was set as “Processing”, where I could see that the order was successfully payed.

    The Stripe plugin never sets the order’s status to processing when the payment requires 3DS. Some other functionality on your site is updating the order’s status.

    Here is how it works:

    1. Customer enters card information in card form and clicks place order button
    2. WooCommerce receives ajax request, validates the checkout page fields, then creates the WooCommerce order.
    3. WooCommerce calls the payment plugin to process the payment for the order.
    4. The Stripe plugin determines if 3DS is needed and if yes, returns control to the checkout page where the 3DS authentication screen is rendered. There is no manipulation of the order’s status.
    5. Customer fails 3DS, then they remain on checkout page to use alternative payment method. Or, 3DS succeeds and the payment is then finalized via an ajax request.

    The order’s status gets updated by WooCommerce when the WC_Order::payment_complete() function is called. That isn’t called by the Stripe plugin until the payment intent’s status is succeeded.

    I recommend you enabled the Stripe plugin’s test mode option on a staging site and use some 3DS test cards to try and narrow down what plugin might be updating the order’s status.

    Kind Regards

    Thread Starter Andrej Srna

    (@reesher)

    Thank you for your responsive, I will try to debug this over the weekend. Just to ask, is it possible to cancel the order if 3DS fails?

    Plugin Author Payment Plugins

    (@mrclayton)

    is it possible to cancel the order if 3DS fails?

    The plugin is designed to set the order’s status to failed if the payment fails. That includes a failure due to 3DS.

    KInd Regards

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘3D secure failed – order set as processing’ is closed to new replies.