Customer redirected to empty cart after successful payment (OPC vs Stripe)

Setup

  • Ubuntu
  • PHP 7.2
  • Redis
  • Magento 2.2.11
  • One Page Checkout (3rd party)
  • Official Stripe Module

Scenario
There are currently 2 Payment Methods available at the Checkout (Stripe and PayPal). Both of these Methods work normally with the One Page Checkout. However, Stripe has 2 types of interactions depending on 3DS:

  1. Transactions that don’t enforce 3DS
  2. Transactions that do enforce 3DS

Issue
The issue occurs when a customer selects Stripe and uses a card that requires 3D Secure Verification. In this scenario, the customer is presented with a Stripe Popup that asks the customer to verify who they are.

When the customer completes this interaction, the order is generated successfully. However, the customer is then redirected to an Empty Basket instead of the Success Page.

Resolution
I did a lot of research into this issue - I’ll link references below. However, it appears in my case the issue stemmed from Redis Configuration. Something to do with the session timing out.

So, in app/etc/env.php I changed:

'break_after_frontend' => '5'

to this

'break_after_frontend' => '15'

This immediately solved my issue without any re-caching necessary.

Useful references with similar issues