Ich baue gerade eine Funktion für Abonnementzahlungen auf und versuche festzustellen, ob die Verwendung der Funktion "Wiederkehrende Profile" von Magento sinnvoll ist.
Natürlich würde ich gerne die Kernfunktion verwenden. Ich möchte, wo immer möglich, die Kernfunktionalität nutzen können, aber es gibt eine Reihe von Gründen, die ich nicht für sinnvoll halte.
Bedarf:
- Wir möchten, dass Produkte regelmäßig oder auf Abonnementbasis gekauft werden können, ähnlich wie bei Amazon-Abonnements.
- Wir möchten, dass alle Abonnementkäufe entweder jeden Monat, alle 2 Monate, ..., 6 Monate erfolgen. Mit anderen Worten, wir müssen keine detaillierten Abrechnungsperioden pro Produkt oder Kategorie oder irgendetwas definieren.
Probleme mit den wiederkehrenden Profilen von Magento
- Für den Anfang wurden sie nicht als stabiles Feature veröffentlicht, sondern als Beta.
- Sie können nicht mit regulären Produkten und Abonnementprodukten im selben Warenkorb auschecken. Ich sehe keine guten Gründe für diese Einschränkung. Ich habe kürzlich eine nette Magento-Site bemerkt, die Abonnements ohne diese Einschränkung anbietet , und sie ist ziemlich ordentlich: http://www.harrys.com/ (UPDATE: Ich denke, Harrys wurde im März 2013 auf Magento gestartet, ist aber nicht mehr auf Magento ).
- Ein bestimmtes Produkt muss entweder ein Abonnementprodukt (Nominalprodukt) oder ein reguläres Produkt sein. Sie können also nicht einfach eine Produktseite mit der Schaltfläche "Jetzt kaufen" und "Abonnieren" erstellen.
- Ich verstehe nicht wirklich, warum auf Produktebene wiederkehrende Profile definiert sind. Das ist nicht das, was ich in meinem Fall brauche, und ich würde mir vorstellen, dass es kein allgemeiner Anwendungsfall ist.
- Versandmethoden scheinen einige Probleme mit nominalen Produkten zu haben - haben sich nicht wirklich zu tief damit beschäftigt, aber es trägt nur zum Wahnsinn bei.
- Es schien nicht auf der Idee zu beruhen, dass Abonnement-Zahlungsdienste (wie Recurly, Chargify, Braintree) verfügbar sein würden, um das Fleisch der Abonnementkonfiguration / -verarbeitung zu handhaben. Vielleicht irre ich mich in diesem Punkt völlig, weil es gegen die wiederkehrende Funktion von PayPal erstellt wurde.
Also, der Ansatz, den ich verfolgen möchte:
- Sie haben eine benutzerdefinierte Option, die für jedes Produkt verfügbar ist, um zu bestimmen, ob sie monatlich, zweimonatlich usw. abonnieren möchten.
- Suchen Sie im Beobachter sales_order_place_after nach Artikeln im Warenkorb mit der benutzerdefinierten Option Abonnement und erstellen Sie Abonnements für diese
- Speichern Sie die Abonnement-ID in der Tabelle sales_flat_order_item.
- Hören Sie auf Braintree-Webhooks nach Abonnementgebühren, suchen Sie den Bestellartikel nach Abonnement-ID, erstellen Sie eine Bestellung und eine Rechnung für das betreffende Produkt mit derselben Versandmethode und denselben Steuerbeträgen.
Ich hoffe, dass mir hier nichts Massives fehlt.