Stripe gateway 3DS flow issues
-
I’m testing woocommerce subscriptions with WooCommerce Stripe Gateway. I experienced some issues with the 3DS flow:
1.) If a (test-) credit-card needs payment-authorization for a subscription renewal the user receives the “Payment authorization needed for renewal of order xxxx” email with the “Authorize the payment” link. This link in the email has the query-arg “wc-stripe-confirmation=1” which ensures that the user gets redirected to the “order-pay” endpoint where the stripe modal to confirm the payment automatically opens. Unfortunately the query-arg “wc-stripe-confirmation=1” does not get added to the “pay” button in “orders” endpoint, which redirects the user to the “normal” checkout page, where he has to complete the checkout flow instead of just confirming the authorization. Is this completely different flow for the same action the intended behavior?
2.) If “Retry Failed Payments” is enabled in the subscription settings, there is another issue: On the template woocommerce/checkout/thankyou.php there is a condition to show the “Thank you. Your order has been received.” message for all order-statuses except for “failed”-order-status(<?php if ( $order->has_status( ‘failed’ ) ) : ?>…<?php else: ?>). The enabled “Retry Failed Payments” switches the order status from “failed” to “pending”(pending payment) which then leads to the following confusing behavior: If the user cancels the payment-authorization modal on the “order-pay” endpoint(from the “Payment authorization needed for renewal of order xxxx”- email link), surprisingly the user sees the “Thank you. Your order has been received.” message.
Btw.: I ran all tests in a clean install with no additional plugins and without any errors – It can be assumed that everything described is the default behavior, which can be reproduced in all environments.
- The topic ‘Stripe gateway 3DS flow issues’ is closed to new replies.