Zum Hauptinhalt springen
Wer Kaffee, Tierfutter oder Kontaktlinsen verkauft, verkauft etwas, das regelmäßig nachgekauft wird. Das Abo-Modul nimmt dem Käufer diesen wiederkehrenden Bestellvorgang ab: Er abonniert das Produkt einmal und bekommt es danach im gewählten Intervall automatisch geliefert und abgerechnet. Abos haben keine feste Laufzeit. Der Käufer kann sie jederzeit pausieren, ändern oder beenden.

Wie es funktioniert

Der Abschluss läuft nicht über den Warenkorb

Ein Abo wird direkt auf der Produktdetailseite abgeschlossen. Der klassische Bestellablauf mit Warenkorb und Kasse wird nicht durchlaufen. Daraus folgt eine Einschränkung, die auf den ersten Blick überrascht: Ein Abo bezieht sich immer auf genau ein Produkt. Die Menge kann größer als eins sein, aber zwei verschiedene Produkte ergeben zwei Abos. Der Grund liegt in der Konstruktion: Intervall, Lieferadresse und Zahlungsart werden am Produkt gewählt, nicht an einem Warenkorb. Beim Abschluss legt der Käufer fest, was zum Abo gehört.

Zwei Varianten beim ersten Mal

Der Unterschied ist für den Käufer deutlich spürbar. Beim Sammellauf um 12 Uhr und einem Abschluss um 13 Uhr entsteht die erste Bestellung erst am Folgetag, und erst dann bekommt der Käufer seine Bestelleingangsbestätigung. Wer nichts davon weiß, hält das Abo für gescheitert. Weisen Sie im Template darauf hin, oder bieten Sie die sofortige Auslösung an.

Was der Käufer im Kundenkonto ändern kann

Lieferintervall, Menge, Lieferadresse und Zahlungsart, dazu pausieren, wieder aktivieren und kündigen. Pausieren ist zeitlich unbegrenzt.

Zustände eines Abos

Schritt 1: Abo-Produkte kennzeichnen

Die Kennzeichnung erfolgt über das Produktdatenfeld SubscriptionProduct. Unterstützt Ihr Warenwirtschaftssystem dieses Feld nicht, lässt sich beim Import ein freies Datenfeld darauf abbilden. Wegweiser: Rabatte festlegen Die folgenden Schritte zeigen die Grundintegration. Ausführlichere Beispiele mit CSS, Modal-Dialogen und JavaScript stehen in den Materialien. Materialien: Materialien Abo-Modul

Schritt 2: Freischaltung

Lassen Sie das Abo-Modul freischalten und teilen Sie dabei mit, welche Zahlungsarten dem Käufer im Abo zur Auswahl stehen sollen, beispielsweise Rechnung, Lastschrift oder PayPal.

Schritt 3: Die Fehlermeldung für nicht angemeldete Käufer

Ein Abo setzt ein Kundenkonto voraus. Für den Fall, dass ein nicht angemeldeter Besucher es trotzdem versucht, hinterlegen Sie einen Text.
Referenz: Abschnitt NotifyMessages-Txt

Schritt 4: Das Modul konfigurieren

Alle Einstellungen stehen im Abschnitt <Subscription> der shop.config.

Die Lieferintervalle

Ein Eintrag mit einer unbekannten Einheit oder einem count von null wird kommentarlos verworfen. Er erscheint dann einfach nicht in der Auswahlliste, und es gibt keine Fehlermeldung. Wenn ein Intervall fehlt, prüfen Sie zuerst die Schreibweise der Einheit.Ändern oder löschen Sie Intervalle nach dem Livegang nicht mehr. Bestehende Abos behalten ihr altes Intervall, und der Käufer erfährt von der Änderung erst, wenn er selbst die Abo-Verwaltung öffnet. Bis dahin läuft sein Abo mit einem Intervall, das es offiziell nicht mehr gibt.
Die Zahl der Intervalle ist begrenzt. Legen Sie lieber wenige gut gewählte an als viele ähnliche. Jedes zusätzliche Intervall ist eine Entscheidung mehr, die der Käufer beim Abschluss treffen muss.

Lieferungen zusammenfassen

Hat ein Käufer mehrere Abos mit ähnlichen Intervallen, lassen sich deren Lieferungen bündeln.
Der Wert ist die Zeitspanne in Tagen, innerhalb derer anstehende Bestellungen zusammengefasst werden. Das spart Versandkosten und erspart dem Käufer zwei Pakete in derselben Woche.

Erneute Bestellversuche nach Fehlern

Schlägt eine Abo-Bestellung fehl, versucht es der Bestellgenerator nach dieser Zahl von Tagen erneut. Bleibt der Fehler bestehen, wird nicht weiter versucht, und Sie erhalten eine Übersicht aller betroffenen Abos per E-Mail.

Höchstzahl der Abos je Kunde

0 oder nicht gesetzt bedeutet unbegrenzt. Ein Wert größer null begrenzt die Zahl gleichzeitiger Abos je Benutzerkonto. Referenz: Abschnitt Subscription

Schritt 5: Die E-Mail-Benachrichtigungen konfigurieren

Vier Benachrichtigungen stehen zur Verfügung, alle als Unterabschnitte von <Subscription>.
Die beiden Händler-Meldungen brauchen zusätzlich eine Empfängeradresse.
Days gibt es nur bei den beiden Vorankündigungen. Wählen Sie den Wert so, dass der Käufer noch reagieren kann, beispielsweise um die Menge anzupassen oder das Abo zu pausieren. Vier Tage sind ein brauchbarer Ausgangswert, ein Tag ist zu knapp.
Die Vorankündigung an den Käufer ist keine Höflichkeit, sondern Ihr wirksamster Schutz vor Rücksendungen und Zahlungsrückläufern. Wer vergessen hat, dass er abonniert hat, widerspricht der Abbuchung.

Schritt 6: Versandarten einschränken (optional)

In den <+Deliverer>-Abschnitten legen Sie fest, ob eine Versandart für Abo-Bestellungen gilt.
WEBSALE empfiehlt für Abos kostenlosen Versand. Bei einem wiederkehrenden Betrag ist Preistransparenz besonders wichtig, und Versandkosten, die der Käufer beim Abschluss nicht überblickt, sind ein häufiger Kündigungsgrund. Ausgeschlossene Versandarten lassen sich dem Käufer ausgegraut mit Begründung anzeigen.
Hinterlegen Sie in jedem <+Deliverer>-Abschnitt die passende UseShowDisabled-GroupID. Ohne sie greift die Regel nicht.
Referenz: Abschnitt +Deliverer · Abschnitt DelivererShowDisabled-Definitions Wegweiser: Versandarten anlegen

Schritt 7: Die Abo-Verwaltung im Kundenkonto

Auf diese Seite kommt der Käufer nach dem Abschluss eines Abos und aus seinem Kundenkonto heraus. Sie enthält:
  • Erfolgs- und Fehlermeldungen
  • die Übersicht aller Abos, einschließlich des Falls “noch keine Abos”
  • je Abo die Produktdaten, den Zustand und das nächste Lieferdatum
  • je Abo die Änderungsmöglichkeiten
  • die Aktionen löschen, pausieren und aktivieren
Die Klammerungen {SUBS-Data_Buttonvalue_pause} und {SUBS-Data_Buttonvalue_resume} sind das Mittel, um immer nur die passende Schaltfläche zu zeigen. Ein pausiertes Abo bietet “aktivieren”, ein laufendes “pausieren”. Prüfen Sie den Zustand nicht selbst. Der Preisvergleich über DC-FPCurrentPrice meldet dem Käufer eine Preisänderung seit dem Abschluss seines Abos. Das ist ein freiwilliger, aber sehr sinnvoller Zusatz: Eine stillschweigend teurer gewordene Abbuchung ist der klassische Anlass für Rückfragen.
Das Feld für die Menge sendet beim Verlassen, die Auswahllisten senden beim Ändern. Es gibt keine Schaltfläche “speichern”. Weisen Sie den Käufer darauf hin, sonst klickt er suchend umher und glaubt, seine Änderung sei verloren.
Referenz: SUBS-Tags · Abschnitt Templates

Schritt 8: Die E-Mail-Templates anlegen

Die Dateinamen müssen zu den Template-Angaben aus Schritt 5 passen. Alle vier Benachrichtigungen bauen auf derselben Schleife @E-SUBS_Data auf, die über die betroffenen Abos läuft.
Die vier Templates unterscheiden sich nur in wenigen Punkten.
Die Vorlagen geben in der Käufer-E-Mail Abo-Index, Kundenindex und Produktindex aus. Das sind interne Nummern, die für den Käufer bedeutungslos sind. Verwenden Sie in dieser einen E-Mail nur Produktname, Menge, Preis und Datum.
Die Gruppierung nach Produkt zeigt Ihnen, wie viel von welchem Artikel insgesamt ansteht.
Genau diese Gruppierung macht die Vorankündigung an Sie nützlich. Sie sehen daran rechtzeitig, ob der Bestand für die anstehenden Abo-Lieferungen reicht. Aktuelle Produktdaten laden Sie bei Bedarf nach.
NO_PARSING ist hier nötig, weil der Produktindex erst zur Laufzeit feststeht und der Parameter deshalb nicht vorab aufgelöst werden darf. Referenz: E-SUBS-Tags

Schritt 9: Die Produktdetailansicht erweitern

Hier entsteht das Abo. Das ist der umfangreichste Schritt.

Abo-fähige Produkte unterscheiden

Nicht angemeldete Besucher zum Login führen

Der Parameter otpsubscriptionprodindex merkt sich das Produkt über den Login hinweg. Ohne ihn landet der Käufer nach der Anmeldung im Kundenkonto und muss das Produkt erneut suchen. Dieser Parameter zieht sich durch die Schritte 10 bis 13.

Die Abo-Einstellungen anbieten

Das Ganze steht im Produktformular.
Jede Auswahl löst über ws_AJAXPR einen Neuaufbau des Formulars aus. Das ist nötig, weil abhängige Bereiche nachladen müssen: Die Bankauswahl erscheint erst, wenn Lastschrift gewählt ist, und die Adressanzeige erst, wenn eine Adresse gewählt ist.
Die beiden Schaltflächen entsprechen den beiden Varianten aus dem Abschnitt “Wie es funktioniert”. Beschriften Sie sie so, dass der Unterschied erkennbar ist. “Abonnieren” und “Abonnieren und sofort bestellen” sagt mehr als “Abonnieren” und “Jetzt abonnieren”.
Die Zahlungsart-Auswahl sieht aufwendig aus, weil SUBS-AllowedPayments nur den Zahlungsart-Code liefert. Die Schleife über @PAY-Data bildet diesen Code auf den lesbaren Namen ab. Referenz: PR-SubscriptionProduct · BT-Subscription · BT-SubscriptionAndTrigger · SUBS-Tags

Schritte 10 bis 13: Den Produktbezug über andere Seiten retten

Der Käufer verlässt die Produktseite mehrfach: zum Anmelden, zum Anlegen einer Adresse, zum Hinterlegen einer Bankverbindung. Damit er zurückfindet, wird der Produktindex überall mitgeführt. Das Muster ist auf allen vier Seiten dasselbe. Es besteht aus zwei Teilen: einem versteckten Feld im Formular und einem Rücksprunglink.
Auf der Anmeldeseite gehört das versteckte Feld in alle Formulare, die Sie verwenden, also gegebenenfalls in das für Neukunden, das für Bestandskunden und das kombinierte. Besser als der Umweg über eigene Seiten ist es, Anmeldung und Adresspflege per AJAX in einem Dialog auf der Produktseite zu erledigen. Der Käufer bleibt dann, wo er ist, und die bereits gewählten Abo-Einstellungen gehen nicht verloren. Die Beispiele in den Materialien zeigen das. Referenz: FORM-CombinedLogin · D-Tags · BANK-Tags

Schritt 14: AGB abfragen (optional)

Der dritte Parameter ist der entscheidende. Er verlangt die Zustimmung auch beim Abo-Abschluss, der ja nicht über den normalen Bestellprozess läuft und deshalb die dortige AGB-Abfrage nicht durchläuft. Referenz: Abschnitt AcceptTermsAndConditions Wegweiser: AGB akzeptieren

Schritt 15: PayPal für Abos (optional)

Für Abos mit PayPal ist PayPal Vault erforderlich. Eine einmalige Zahlung genügt nicht, denn der Shop muss später wiederkehrend abbuchen können.
Ohne verbundenes Konto scheitert die erste wiederkehrende Abbuchung, nicht der Abschluss. Der Käufer bemerkt das Problem also erst, wenn die Lieferung ausbleibt. Prüfen Sie den Zustand deshalb schon in der Abo-Verwaltung und weisen Sie dort deutlich darauf hin.
Referenz: PayPal Checkout

Rabatt auf Abo-Bestellungen (optional)

Ein Abo-Rabatt ist das übliche Mittel, um den Käufer von der einmaligen Bestellung zum Abo zu bewegen. Den Satz in Prozent hinterlegen Sie im Produktdatenfeld SubscriptionDiscount.
PR-SubscriptionProductType() nimmt denselben Wert als Parameter, der auch im Produktdatenfeld steht. Der Rabatt ist optional. Alle übrigen produktbezogenen Rabatte von WEBSALE V8s stehen beim Abo-Produkt ebenfalls zur Verfügung. Für die Anzeige mit höherer Genauigkeit gibt es PR-SubscriptionDiscountPrice_prec in Verbindung mit WS-SetPrecTagOutput(). Das ist sinnvoll, wenn der Rabattbetrag je Lieferung klein ist und auf zwei Stellen gerundet null ergäbe. Referenz: PR-SubscriptionProductType() · PR-SubscriptionDiscount · PR-SubscriptionDiscountPrice · PR-SubscriptionPrice

Verwandte Themen