Loading...
Skip navigation
Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.

Basket Checkout

The Shop extension comes with 11 predefined checkout types. These are:

  • request Products are only requested via the shopping cart. No shipment or similar action takes place.
  • onInvoice Products are to be paid for by invoice. This means the goods are shipped immediately and paid for later by invoice.
  • prePayment Products are to be paid for in advance. This means payment must be received before the goods are shipped.
  • sepa (SEPA Direct Debit)
  • payPal Products are paid for directly via PayPal Wallet. (Requires the Pro version of the shop extension)
  • payPalCheckout Products are paid for directly via PayPal Checkout. (Requires the Pro version of the shop extension)
  • stripe Products are paid for directly via Stripe. (Requires the Pro version of the shop extension)
  • klarna Products are paid for directly via Klarna. (Requires Pro version of the shop extension)
  • manual (SEPA Direct Debit)
  • storno An order has been placed and an order and invoice number have been assigned. The goods have not yet been shipped and paid for, and the order must be cancelled – this cancellation order is created as a result. This cancellation order references the original order and includes all products and the total amount.
  • return An order has been placed and an order and invoice number have been assigned. Now the goods have been delivered and one or more products are to be returned – this return order is created as a result.

Attention:

Editing and deleting an order record is only possible in the prepared status. Once the order has reached the ordered status and received an invoice number, it may no longer be changed!

Possible Payment Providers

The following payment methods can be covered by the payment providers listed above (as of November 1, 2025):

Payment Method PayPal-Wallet PayPal Checkout Stripe Klarna
PayPal Wallet Yes Yes No No
Credit Card Yes (via PayPal) Yes Yes No
Apple Pay No Yes (limited rollout) Yes No
Google Pay No Yes (limited rollout) Yes No
SEPA Direct Debit Yes (via PayPal) Yes Yes No
BLIK (PLN, Poland) No No Yes No
Przelewy24 (P24) No No Yes No
iDEAL (NL) No Yes Yes No
Bancontact (BE) No Yes Yes No
EPS (AT) No Yes Yes No
Giropay (DE) No Yes Yes No
Sofort (DE/AT) No Yes Yes Yes
Trustly No Yes Yes No
Klarna “Pay Now” No No Yes Yes
Klarna “Pay Later” (Invoice/Installments) No No Yes Yes

Notice:

The availability of specific payment methods may vary depending on the product type, country of sale, or buyer account. Not all payment methods are available in every market or for every transaction.

General configuration

  • checkoutPid Enter the page UID of the checkout page.
  • minimummOrderValue Enter the minimum order value (in cents).
  • timeForPayment Enter the giving amount of days for payment.
  • deliveryTime Enter an optional text for describing the delivery time for payment.
  • orderOptions Define the checkout types here. We will look at this in more detail in another section.
  • fieldDefinition Configure the form fields for checkout. These are configured in the respective TypoScript node to make them available in the various checkouts.

Further checkout-specific configurations can be found on the relevant documentation page.

TypoScript configuration checkout basis

plugin.tx_shop.settings.basketOrder {
    # Page-ID des Checkout
    checkoutPid = {$themes.configuration.pages.shop.checkout}
    # Minimum order value in cents
    minimumOrderValue = {$themes.configuration.extension.shop.basket.minimumOrderValue}
    # Time for payment in days default value
    timeForPayment = {$themes.configuration.extension.shop.basketOrder.timeForPayment}
    # Default string for delivery time notice in basket above the additional costs
    deliveryTime = {$themes.configuration.extension.shop.checkout.deliveryTime}
    creditorIdentifier = {$themes.configuration.extension.shop.checkout.creditorIdentifier}
    merchantName = {$themes.configuration.extension.shop.checkout.merchantName}
    orderNumber = {$themes.configuration.extension.shop.checkout.orderNumber}
    paymentSwitchInCheckout = {$themes.configuration.extension.shop.checkout.paymentSwitchInCheckout}
    defaultPayment = {$themes.configuration.extension.shop.checkout.defaultPayment}
    # VAT information depending on country and b2b/b2c
    vat {
        b2b {
            inland {
                notice = Es handelt sich um eine Inland-Lieferung an ein Unternehmen.<br />Ihre USt.-ID: %1$s
            }
            europeanUnion {
                # Parameter is VAT-ID in basket order
                notice = Es handelt sich um eine steuerbefreite innergemeinschaftliche Lieferung gem. §4 Nr. 1b UstG.<br />Unsere USt.-ID: DE 123 456 789<br />Ihre USt.-ID: %1$s
            }
            thirdCountry {
                notice = Es handelt sich um eine steuerbefreite Ausfuhrlieferung gem. §4 Nr. 1a UstG.
            }
        }
        b2c {
            inland {
                notice = Es handelt sich um eine Inland-Lieferung an eine Privatperson.
            }
            europeanUnion {
                notice = Es handelt sich um eine innergemeinschaftliche Lieferung an eine Privatperson.
            }
            thirdCountry {
                notice = Es handelt sich um eine steuerbefreite Ausfuhrlieferung gem. §4 Nr. 1a UstG.
            }
        }
    }
    orderOptions {
        # Different order options
    }
}

Payment Method Selection in Checkout

To allow customers to switch their payment method during checkout, a payment method selection can be enabled. This can be activated using the TypoScript constant themes.configuration.extension.shop.checkout.paymentSwitchInCheckout. Currently, the two values title and description from the orderOptions configuration are used in the TypoScript to provide selection labels. Additionally, the default payment method, which is selected first when the checkout process is initiated, can be specified in the TypoScript constant themes.configuration.extension.shop.checkout.defaultPayment.

Frontend Users with Login

If a customer is already logged in at checkout, their data from the user record is automatically entered into the order form. This data is read-only, as there should only be one central point for editing.

To allow the customer to adjust their account data, a profile editing page can be integrated using the EXT:modules extension (as is common in large online stores like Amazon, Shopware, Shopify, Aimeos, Magento, or PrestaShop). This extension should already be installed, as it is a dependency of the store. Once the corresponding TypoScript constant with the page ID has been configured, the link will appear. The constant entry could look like this: themes.configuration.pages.profile = 1947.

If you are using a different extension for profile editing, no problem. Then you still set the target page via the TypoScript constant themes.configuration.pages.profile or directly via setup TypoScript with, for example, plugin.tx_modules.settings.pages.profile = 1947.

Documentation
TYPO3 Shop Extension

TYPO3 Shop

This extension is an extensive shop for TYPO3 for realizing Webshops, Online-Shops or Payment-Subscriptions (comparable with tt_products, Quick-Shop or Aimeos).

Menu

Contact request

You can contact us at any time

Stop! Playing in the meantime?
Stop! Playing in the meantime?
Stop! Playing in the meantime?

Stop! Playing in the meantime?

Break the highscore

Press Start
Contact request
Screenreader label
Security question
3E5_________YYT______
B_M____L______P___UBB
7X2___DX6___RJT______
6_9____3______Z___J2P
RJ1_________YJJ______