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 mit SEPA (Lastschrift)

Bei der Zahlart SEPA-Lastschrift wird die Bestellung nach Abschluss des Checkouts als verbindlich angelegt (inkl. Bestell- und Rechnungsnummer). Die weiteren Schritte erfolgen anschließend im Backend manuell: Zahlungseingänge werden nach erfolgtem Einzug verbucht, der Versand wird bei physischer Ware manuell gesetzt, und bei ausbleibender Zahlung kann die Bestellung storniert werden. Da Zahlung und Versand je nach Prozess auch zeitlich versetzt stattfinden können, ist die Reihenfolge bewusst flexibel; abgeschlossen wird der Vorgang erst, wenn die Zahlung erfasst ist und – falls zutreffend – der Versand erfolgt ist.

stateDiagram-v2
    %% Frontend
    [*] --> prepared : Kunde im Warenkorb / Checkout
    prepared --> ordered : Checkout abgeschlossen\nBestätigungsmail\nRechnungsnummer
    %% Backend – manuelle Schritte
    ordered --> paid : Zahlung manuell verbucht
    ordered --> shipped : Versand manuell durchgeführt
    ordered --> canceled_unpaid : Keine Zahlung\nStorno
    %% Reihenfolge bewusst flexibel
    paid --> shipped : Versand nach Zahlung
    shipped --> paid : Zahlung nach Versand
    %% Abschluss
    paid --> processed : Abschluss ohne Versand\n(z. B. digital)
    shipped --> processed : Abschluss nach Versand
    canceled_unpaid --> processed : Storno abgeschlossen
    %% Conditions
    note right of processed
      Conditions für "processed":
      - 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 {
        sepa {
            active = {$themes.configuration.extension.shop.checkout.sepa.active}
            attachProductFilesToAdminEmail = {$themes.configuration.extension.shop.checkout.sepa.attachProductFilesToAdminEmail}
            attachProductFilesToCustomerEmail = {$themes.configuration.extension.shop.checkout.sepa.attachProductFilesToCustomerEmail}
            attachInvoiceToAdminEmail = {$themes.configuration.extension.shop.checkout.sepa.attachInvoiceToAdminEmail}
            attachSepaMandateToAdminEmail = {$themes.configuration.extension.shop.checkout.sepa.attachSepaMandateToAdminEmail}
            attachInvoiceToCustomerEmail = {$themes.configuration.extension.shop.checkout.sepa.attachInvoiceToCustomerEmail}
            attachSepaMandateToCustomerEmail = {$themes.configuration.extension.shop.checkout.sepa.attachSepaMandateToCustomerEmail}
            attachDeliveryNoteToAdminEmail = {$themes.configuration.extension.shop.checkout.sepa.attachDeliveryNoteToAdminEmail}
            attachDeliveryNoteToCustomerEmail = {$themes.configuration.extension.shop.checkout.sepa.attachDeliveryNoteToCustomerEmail}
            attachOrderXmlToAdminEmail = {$themes.configuration.extension.shop.checkout.sepa.attachOrderXmlToAdminEmail}
            storeOrderXmlInFolder = {$themes.configuration.extension.shop.checkout.sepa.storeOrderXmlInFolder}
            storeOrderXmlInFolderName = {$themes.configuration.extension.shop.checkout.sepa.storeOrderXmlInFolderName}
            type = sepa
            minimumOrderValue = 0
            maximumOrderValue = 0
            checkoutPid = {$themes.configuration.pages.shop.checkout}
            successPid = {$themes.configuration.pages.shop.checkoutSuccess}
            errorPid = {$themes.configuration.pages.shop.checkoutError}
            service = CodingMs\Shop\Service\Checkout\SepaCheckoutService
            button {
                title = tx_shop_label.sepa_button_title
                label = tx_shop_label.sepa_button_label
                icon = fa fa-shopping-cart
            }
            fields {
                available = {$themes.configuration.extension.shop.checkout.sepa.fields.available}
                required = {$themes.configuration.extension.shop.checkout.sepa.fields.required}
            }
            status {
                prepared {
                    allowed {
                        ordered =
                    }
                }
                ordered {
                    allowed {
                        paid =
                        shipped =
                        canceled_unpaid =
                    }
                }
                shipped {
                    allowed {
                        paid {
                            # Zahlung nach Versand verbuchen
                            condition {
                                ordered_date = NotEmpty
                                paid_date = Empty
                            }
                        }
                        processed {
                            # Abschluss nur, wenn Zahlung erfolgt ist
                            condition {
                                paid_date = NotEmpty
                            }
                        }
                    }
                }
                paid {
                    # Zahlung wurde verbucht, Versand kann folgen
                    allowed {
                        shipped {
                            # Versand nach Zahlung
                            condition {
                                ordered_date = NotEmpty
                                shipped_date = Empty
                            }
                        }
                        processed {
                            # Abschluss ohne Versand (z. B. digitale Leistung)
                            # ODER nach Versand (shipped_date bereits gesetzt)
                            condition {
                                paid_date = NotEmpty
                            }
                        }
                    }
                }
                canceled_unpaid {
                    # Bestellung wird storniert, da keine Zahlung einging
                    allowed {
                        processed =
                    }
                }
                processed {
                    # End, but "allowed" must be defined!
                    allowed =
                }
            }
            email {
                customerConfirmation {
                    active = {$themes.configuration.extension.shop.checkout.sepa.email.customerConfirmation.active}
                    from {
                        name = {$themes.configuration.extension.shop.email.from.name}
                        email = {$themes.configuration.extension.shop.email.from.email}
                    }
                    to {
                        # Customer address data
                    }
                    cc {
                        name = {$themes.configuration.extension.shop.email.cc.name}
                        email = {$themes.configuration.extension.shop.email.cc.email}
                    }
                    subject = {$themes.configuration.extension.shop.email.templates.sepa.subjectCustomerConfirmation}
                }
                order {
                    active = {$themes.configuration.extension.shop.checkout.sepa.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}
                    }
                    cc {
                        name = {$themes.configuration.extension.shop.email.cc.name}
                        email = {$themes.configuration.extension.shop.email.cc.email}
                    }
                    subject = {$themes.configuration.extension.shop.email.templates.sepa.subjectOrder}
                }
            }
        }
    }
}
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
KYK_________WJ1______
C_X____M______1___1J3
68D___5PG___WT4______
__Y____T____8_____UBT
L4L_________TGM______