---
title: "Academy App"
canonical_url: "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin"
locale: en
meta:
  "og:title": "Academy App"
---

[Go to home](https://academy.laioutr.com/en)

- [Apps](https://academy.laioutr.com/en/bereiche/apps)

- [Commerce platforms](https://academy.laioutr.com/en/leitfaeden/commerce-platforms)

- [Connect Shopware with the checkout plugin](https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin)

# Connect Shopware with the checkout plugin

The Shopware app connects Shopware 6 to Laioutr through the Storefront API and Admin API. Checkout runs on the Shopware storefront through the LaioutrConnector plugin with the same cart.

## Before you start

<dl>

<dt>Plan</dt>
<dd>Any Laioutr plan plus a Shopware 6 instance</dd>

<dt>Role</dt>
<dd>Developer role on the environment</dd>

<dt>Duration</dt>
<dd>12 min</dd></dl>

### Prerequisites

- Admin access to Shopware 6
- Storefront sales channel with a domain
- Ability to install a plugin on the Shopware server

Last reviewed on October 15, 2026

Connects Shopware 6 as the commerce backend: products, variants, categories, menus, search, cart, login, newsletter and reviews through the Storefront API, media in the Studio media library through the Admin API. Checkout runs on the Shopware storefront through the LaioutrConnector plugin.

[Developer documentation](https://docs.laioutr.com/apps/app-docs/shopware)

## How it works

1. Install the LaioutrConnector plugin and set up callback domainsWhere: Shopware server · Role: Shopware developer · Duration: 20 min
2. Check the Storefront sales channel for domain, navigation, products and SEO URLsWhere: Shopware admin · Role: Shop admin · Duration: 15 min
3. Create an integration for the Admin APIWhere: Shopware admin · Role: Shop admin · Duration: 5 min
4. Install the app from the catalogueWhere: Laioutr Cockpit, Apps · Role: Developer · Duration: 2 min
5. Enter, test and save values under ConfigurationWhere: Laioutr Cockpit, Configuration · Role: Developer · Duration: 5 min
6. Deploy the environment and check data in StudioWhere: Laioutr Cockpit and Studio · Role: Developer, content manager · Duration: 10 min

## Configuration

| Field | Purpose | Where to find it | Required | Per environment |
| --- | --- | --- | --- | --- |
| `endpoint` | Base URL of the Shopware Storefront API. | Address of the Shopware instance, for example https://shop.example.com/store-api. | Yes | Yes |
| `accessToken` | Sales channel access key for the Storefront API. | Shopware admin, sales channel, Storefront API access. | Yes | Yes |
| `adminEndpoint` | Base URL of the Admin API for the media library. | Address of the Shopware instance, for example https://shop.example.com/api. | Yes | Yes |
| `adminClientId` | Client ID of the integration for the Admin API. | Shopware admin, Settings > System > Integrations. | Yes | Yes |
| `adminClientSecret` | Client secret of the same integration, used server-side only. | Shopware admin, Settings > System > Integrations. | Yes | Yes |
| `storefrontUrl` | Address of the Shopware storefront running LaioutrConnector, required for the checkout handover. | Domain of the Storefront sales channel. | Yes | Yes |
| `checkoutLoginCallbackUrl` | Return URL after a login inside checkout, for example for SSO projects. | Login route of the project; defaults to the request origin. | No | Yes |
| `checkoutLogoutCallbackUrl` | Return URL after a logout inside checkout. | Logout route of the identity provider; defaults to the request origin. | No | Yes |

## Common errors

<dl>

<dt>The way into checkout is missing or does not work.</dt>
<dd>**Cause:** storefrontUrl is empty or the LaioutrConnector plugin is not installed.</dd>
<dd>**Fix:** Install the plugin and point storefrontUrl at the storefront running it.</dd>

<dt>Checkout shows a different or empty cart.</dt>
<dd>**Cause:** The app is connected to a headless channel, or domain and cookies do not match the sales channel.</dd>
<dd>**Fix:** Use a Storefront channel and align domains and cookies as described in the plugin README.</dd>

<dt>Category or product pages stay empty.</dt>
<dd>**Cause:** SEO URLs are disabled or products are not assigned to the sales channel.</dd>
<dd>**Fix:** Enable SEO URLs and assign products or categories to the channel.</dd>

<dt>The Studio media library shows no Shopware media.</dt>
<dd>**Cause:** The integration lacks read access to media.</dd>
<dd>**Fix:** Extend the integration permissions and test the values again.</dd></dl>

The Shopware app makes Shopware 6 the commerce backend of the Laioutr storefront. The **Storefront API** supplies products, variants, categories, menus, search with filters and sorting, suggested search, cart, customer login, newsletter sign-up and product reviews. The **Admin API** opens Shopware media in the Studio media library.

Shopware handles checkout itself. The **LaioutrConnector** plugin on the Shopware server hands the cart customers filled in the Laioutr frontend over to the Shopware storefront through a secure server-to-server session exchange. The order is completed there with exactly that cart. Running the app without the plugin is not supported.

The choice of sales channel matters: the app connects to a regular **Storefront** sales channel, not a headless API-only channel, so cart and checkout stay on the same channel.

## Step by step

1. 1 ### Step 1: Install the plugin

   Install the **LaioutrConnector** plugin on the Shopware server and set up allowed callback domains and cookies as described in the plugin README.
2. 2 ### Step 2: Check the sales channel

   In the Shopware admin, check the Storefront sales channel: domain assigned, navigation set, products assigned, SEO URLs enabled. Copy the Storefront API access key.
3. 3 ### Step 3: Create an integration

   Under **Settings** > **System** > **Integrations**, create an integration with read access to media and note the client ID and client secret.
4. 4 ### Step 4: Install the app

   In Cockpit under **Apps**, add the Shopware app to the project with **Install** in the **Ecommerce** tab.
5. 5 ### Step 5: Enter and test the values

   Open **Configuration** in the environment menu, enter the values, check them with **Test connection** and store them with **Save settings**.
6. 6 ### Step 6: Deploy and check

   Rebuild the environment with **Deploy**, then check in Studio that products and categories appear in the preview.

## Check the result

The connection test reports success, Studio shows categories and products from Shopware, and a test purchase on the storefront lands in the Shopware checkout with the same items in the cart.

## Frequently asked questions

Why is the LaioutrConnector plugin needed?

It securely hands the cart from the Laioutr frontend to the Shopware storefront, where checkout takes place. Without the plugin the app is not supported.

Can a headless sales channel be used?

No. The checkout handover runs through the storefront of the sales channel, so a regular Storefront channel is required.

Does the app work with an external login (SSO)?

Yes. For projects with their own identity provider there are return URLs for login and logout in checkout, plus hooks through which the project manages the Shopware session itself. The development team sets this up.

## Related

- [Find, install and configure apps](https://academy.laioutr.com/en/artikel/find-install-and-configure-apps)6 min

  Apps are listed in the Cockpit catalogue under Apps, installed per environment and set up under Configuration. The storefront uses them from the next deployment onwards.
- [Enter credentials and test the connection](https://academy.laioutr.com/en/artikel/enter-credentials-and-test-the-connection)5 min

  App credentials are entered per environment under Configuration, checked with Test connection and stored with Save settings. They take effect with the next deployment.
- [Set up and check the storefront cart](https://academy.laioutr.com/en/artikel/check-and-set-up-the-storefront-cart)5 min

  The cart opens as a side panel (Cart Sheet) with line items, a coupon field, progress towards free delivery and totals; there is also a separate cart page. Prices, discounts, shipping costs and the path to checkout come from the commerce backend.
- [Check live data in Studio](https://academy.laioutr.com/en/artikel/check-live-data-in-studio)5 min

  The Studio preview shows real data from connected apps. On dynamic pages such as the product detail page, the Preview Data field selects which product the preview shows.
- [Connect B2B Sellers for Shopware](https://academy.laioutr.com/en/apps/connect-b2b-sellers-for-shopware)8 min

  The B2B Sellers app brings the B2B features of the B2B Sellers Suite for Shopware 6 into the Laioutr storefront: employees and roles, order approvals, offers, budgets, cost centres and sales reps.

## Learn it in a lesson

- [Connect commerce apps](https://academy.laioutr.com/en/lektionen/developer-connect-commerce-apps)12 min
- [Connect Shopware](https://academy.laioutr.com/en/lektionen/go-live-connect-shopware)8 min

## [Commerce platforms](https://academy.laioutr.com/en/leitfaeden/commerce-platforms)

Search this guide

1. [Connect Shopify](https://academy.laioutr.com/en/apps/connect-shopify)10 min
2. [Connect Shopware with the checkout plugin](https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin)12 min
3. [Connect VTEX](https://academy.laioutr.com/en/apps/connect-vtex)8 min
4. [Connect Sylius](https://academy.laioutr.com/en/apps/connect-sylius)8 min
5. [Connect JTL-Wawi](https://academy.laioutr.com/en/apps/connect-jtl-wawi)8 min
6. [Connect B2B Sellers for Shopware](https://academy.laioutr.com/en/apps/connect-b2b-sellers-for-shopware)8 min
7. [Connect Magento 2](https://academy.laioutr.com/en/apps/connect-magento-2)10 min In preparation

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://academy.laioutr.com/#website",
      "@type": "WebSite",
      "inLanguage": "en",
      "name": "Default",
      "url": "https://academy.laioutr.com/",
      "translationOfWork": {
        "@id": "https://academy.laioutr.com/#website"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#webpage",
      "name": "Academy App",
      "url": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin",
      "@type": [
        "WebPage",
        "FAQPage"
      ],
      "breadcrumb": {
        "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#breadcrumb"
      },
      "isPartOf": {
        "@id": "https://academy.laioutr.com/#website"
      },
      "mainEntity": [
        {
          "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#/schema/question/1"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#/schema/question/2"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#/schema/question/3"
        }
      ],
      "potentialAction": [
        {
          "@type": "ReadAction",
          "target": [
            "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin"
          ]
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#breadcrumb",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "name": "Home",
          "item": "https://academy.laioutr.com/en",
          "position": 1
        },
        {
          "@type": "ListItem",
          "name": "Apps",
          "item": "https://academy.laioutr.com/en/bereiche/apps",
          "position": 2
        },
        {
          "@type": "ListItem",
          "name": "Commerce platforms",
          "item": "https://academy.laioutr.com/en/leitfaeden/commerce-platforms",
          "position": 3
        },
        {
          "@type": "ListItem",
          "name": "Connect Shopware with the checkout plugin",
          "item": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#/schema/question/1",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Why is the LaioutrConnector plugin needed?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>It securely hands the cart from the Laioutr frontend to the Shopware storefront, where checkout takes place. Without the plugin the app is not supported.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#/schema/question/2",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Can a headless sales channel be used?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>No. The checkout handover runs through the storefront of the sales channel, so a regular Storefront channel is required.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin#/schema/question/3",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Does the app work with an external login (SSO)?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>Yes. For projects with their own identity provider there are return URLs for login and logout in checkout, plus hooks through which the project manages the Shopware session itself. The development team sets this up.</p>"
      }
    }
  ]
}
```
