TypoScript configuration order SEPA (direct debit)
stateDiagram-v2
%% Frontend
[*] --> prepared : Customer in cart / checkout
prepared --> ordered : Checkout completed\nConfirmation email\nInvoice number
%% Backend – manual steps
ordered --> paid : Payment recorded manually
ordered --> shipped : Shipment processed manually
ordered --> canceled_unpaid : No payment\nCancellation
%% Order intentionally flexible
paid --> shipped : Shipment after payment
shipped --> paid : Payment after shipment
%% Finalization
paid --> processed : Finalized without shipment\n(e.g. digital)
shipped --> processed : Finalized after shipment
canceled_unpaid --> processed : Cancellation completed
%% Conditions
note right of processed
Conditions for "processed":
- paid_date MUST be set
- shipped_date MUST be set
if shipment has taken place
end note
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}
}
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}
}
}
}
}
}