Quite a block of code but gives you more flexibility in the end. The code below does not load current user's shopping cart, but shopping cart of the super user (UID: 1).
- $account = \Drupal\user\Entity\User::load(1);
- $entity_manager = \Drupal::entityTypeManager();
- /** @var \Drupal\commerce_store\Entity\Store $store */
- $store = $entity_manager->getStorage('commerce_store')->loadDefault();
- /** @var \Drupal\commerce_cart\CartProviderInterface $cart_provider */
- $cart_provider = \Drupal::service('commerce_cart.cart_provider');
- /** @var \Drupal\commerce_order\Entity\Order $cart_order */
- $cart_order = $cart_provider->getCart('default', $store, $account);