Loading...
Navigation überspringen
Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.

Warenkorb Bestellung auf Vorauskasse

Eine Bestellung wurde erfolgreich aufgegeben und es wurde eine Bestell- sowie Rechnungsnummer vergeben.Bei der Zahlart Vorkasse (prePayment) erfolgt der Versand erst nach vollständigem Zahlungseingang.

Die Bestellung gilt ab dem Abschluss des Checkouts als verbindlich. Die Zahlung wird vom Kunden vorab geleistet und anschließend manuell im System verbucht.Der Bestellprozess wird erst dann abgeschlossen, wenn die Zahlung erfasst und – sofern es sich um physische Ware handelt – der Versand durchgeführt wurde.

stateDiagram-v2
    %% Frontend
    [*] --> prepared : Kunde stellt Warenkorb zusammen\nund startet Checkout
    prepared --> ordered : Checkout abgeschlossen\nBestätigungsmail\nRechnungsnummer
    %% Zahlung zwingend vor Versand
    ordered --> paid : Zahlung manuell verbucht\n(Geldeingang bestätigt)
    %% Versand & Abschluss
    paid --> shipped : Ware versendet
    paid --> processed : Abschluss ohne Versand\n(z. B. digitale Leistung)
    shipped --> processed : Abschluss nach Versand
    %% Abbruch bei Nichtzahlung
    ordered --> canceled_unpaid : Keine Zahlung\nStorno
    canceled_unpaid --> processed : Storno abgeschlossen
    %% Conditions
    note right of processed
      Conditions:
      - paid_date MUSS gesetzt sein
      - shipped_date MUSS gesetzt sein,
        falls Versand erfolgt ist
    end note

Weitere Aktionen:

  • Retoure: Möglich sobald die Ware versandt wurde – d. h. im Zustand shipped oder processed.
  • Löechen: Das Löschen einer Bestellung ist nur im Status prepared möglich.

TypoScript Konfiguration

plugin.tx_shop.settings.basketOrder {
    orderOptions {
        prePayment {
            active = {$themes.configuration.extension.shop.checkout.prePayment.active}
            attachProductFilesToAdminEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachProductFilesToAdminEmail}
            attachProductFilesToCustomerEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachProductFilesToCustomerEmail}
            attachInvoiceToAdminEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachInvoiceToAdminEmail}
            attachInvoiceToCustomerEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachInvoiceToCustomerEmail}
            attachDeliveryNoteToAdminEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachDeliveryNoteToAdminEmail}
            attachDeliveryNoteToCustomerEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachDeliveryNoteToCustomerEmail}
            attachOrderXmlToAdminEmail = {$themes.configuration.extension.shop.checkout.prePayment.attachOrderXmlToAdminEmail}
            storeOrderXmlInFolder = {$themes.configuration.extension.shop.checkout.prePayment.storeOrderXmlInFolder}
            storeOrderXmlInFolderName = {$themes.configuration.extension.shop.checkout.prePayment.storeOrderXmlInFolderName}
            type = prePayment
            checkoutPid = {$themes.configuration.pages.shop.checkout}
            successPid = {$themes.configuration.pages.shop.checkoutSuccess}
            errorPid = {$themes.configuration.pages.shop.checkoutError}
            service = CodingMs\Shop\Service\Checkout\PrePaymentCheckoutService
            button {
                title = tx_shop_label.pre_payment_button_title
                label = tx_shop_label.pre_payment_button_label
                icon = fa fa-shopping-cart
            }
            fields {
                available = {$themes.configuration.extension.shop.checkout.prePayment.fields.available}
                required = {$themes.configuration.extension.shop.checkout.prePayment.fields.required}
            }
            status {
                prepared {
                    allowed {
                        ordered =
                    }
                }
                ordered {
                    allowed {
                        paid =
                        canceled_unpaid =
                    }
                }
                paid {
                    allowed {
                        shipped {
                            # Show marked-as-shipped when not "only digital products" are in basket-order
                            condition {
                                basket = NotContainsDigitalProductsOnly
                            }
                        }
                        processed {
                            # Show marked-as-shipped when "only digital products" are in basket-order
                            condition {
                                basket = ContainsDigitalProductsOnly
                            }
                        }
                    }
                }
                shipped {
                    # Hide whole shipped state when "only digital products" are in basket-order
                    hidden {
                        condition {
                            basket = ContainsDigitalProductsOnly
                        }
                    }
                    allowed {
                        processed =
                        returned {
                            # Show marked-as-returned when not "only digital products" are in basket-order
                            condition {
                                basket = NotContainsDigitalProductsOnly
                            }
                        }
                    }
                }
                canceled_unpaid {
                    allowed {
                        processed =
                    }
                }
                processed {
                    allowed {
                        returned {
                            # Show marked-as-returned when not "only digital products" are in basket-order
                            condition {
                                basket = NotContainsDigitalProductsOnly
                            }
                        }
                    }
                }
            }
            email {
                customerConfirmation {
                    active = {$themes.configuration.extension.shop.checkout.prePayment.email.customerConfirmation.active}
                    from {
                        name = {$themes.configuration.extension.shop.email.from.name}
                        email = {$themes.configuration.extension.shop.email.from.email}
                    }
                    to {
                        # Customer address data
                    }
                    template = {$themes.configuration.extension.shop.email.templates.prePayment.customerConfirmation}
                }
                order {
                    active =  {$themes.configuration.extension.shop.checkout.prePayment.email.order.active}
                    from {
                        name = {$themes.configuration.extension.shop.email.from.name}
                        email = {$themes.configuration.extension.shop.email.from.email}
                    }
                    to {
                        name = {$themes.configuration.extension.shop.email.to.name}
                        email = {$themes.configuration.extension.shop.email.to.email}
                    }
                    template = {$themes.configuration.extension.shop.email.templates.prePayment.order}
                }
            }
        }
    }
}
Dokumentation
TYPO3 Shop Erweiterung

TYPO3 Shop

Diese Erweiterung ist eine umfangreiche Shop-Erweiterung für TYPO3 zur Umsetzung von Webshops, Online-Shops oder Abo-Systemen (vergleicbar mit tt_products, Quick-Shop oder Aimeos).

Menü

Kontaktanfrage

Du kannst uns jederzeit kontaktieren

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
XTA_________9MW______
P_L____3____M_C___85E
I4N___T7Z___U64______
L_Y____D____L_4___M9K
UPC_________RNQ______