@Joshua_Kogan Du kannst dies sofort auf zwei verschiedene Arten mit dem Custom-Wizard-Plugin umsetzen.
Zahlung extern abwickeln
Eine Möglichkeit besteht darin, den Nutzer nach Absenden eines Schritts eines benutzerdefinierten Wizards zu einem Zahlungsanbieter weiterzuleiten, die Zahlung mithilfe einer Kombination aus erlaubten Parametern und erforderlichen Daten sicherzustellen und den Nutzer anschließend in einem folgenden Schritt einer Gruppe hinzuzufügen (unter Verwendung der Aktion „Zu Gruppe hinzufügen“).
Dies ist eine vollständige Beschreibung des Zahlungsaspekts dieses Ansatzes. Der Teil „Zu Gruppe hinzufügen“ sollte selbsterklärend sein:
Einrichtung: Nutzer zum Zahlungsanbieter weiterleiten
- Zu Aktion routen . Es gibt einen neuen Aktionstyp namens „Zu … routen“, mit dem du einen Nutzer nach Absenden eines Schritts zu einer Ziel-URL weiterleiten kannst. Für deine Wizards sollte die Aktion zu dem Schritt hinzugefügt werden, der dem Zahlungsschritt des Nutzers vorausgeht. Derzeit werden sie dem Schritt „Zahlung“ selbst hinzugefügt, du kannst diesen Schritt jedoch entfernen und die Aktion stattdessen dem vorhergehenden Schritt hinzufügen. Die Aktion „Zu … routen“ verfügt derzeit über zwei Einstellungen:
-
url: Dies ist die Ziel-URL. Wie bei anderen Wizard-Eingaben kannst du Daten interpolieren, wobei w{} für Wizard-Felder und u{} für Benutzerfelder steht.
-
code: Ein eindeutiger Code, der als Parameter zur Ziel-URL hinzugefügt wird. Wenn diese Einstellung ausgefüllt ist, generiert der benutzerdefinierte Wizard einen eindeutigen zufälligen Hex-String, der:
- als zusätzlicher Abfrageparameter zur URL mit dem von dir bereitgestellten Schlüssel hinzugefügt wird; und
- im Absendedaten unter dem von dir bereitgestellten Schlüssel gespeichert wird
Die Verknüpfung eines eindeutigen Schlüssels mit jeder Anfrage ermöglicht die Validierung eines beliebigen Callbacks für diese Anfrage (d. h. wenn der Nutzer zum Wizard zurückkehrt). Im Fall von Chargify speichert Chargify jeden Wert, den du im Parameter „reference“ sendest (weitere Informationen), den du dann zur „Rückgabe-URL“ hinzufügen kannst, zu der Chargify den Nutzer nach Abschluss der Zahlung weiterleitet.
-
Erlaubte Parameter . Dies ist eine neue Schritteinstellung, mit der du angeben kannst, welche Abfrageparameter für den Schritt erlaubt sind und unter welchem Schlüssel sie in den Absendedaten gespeichert werden sollen. Du kannst dies verwenden, um sowohl statistische oder analytische Daten zu speichern (z. B. woher der Nutzer den Wizard betreten hat) als auch für Callbacks. Im Fall von Chargify haben wir den „reference“-Code an Chargify übergeben (und in den Absendedaten gespeichert), als wir den Nutzer zur completion der Zahlung zu Chargify weitergeleitet haben. Wir würden diesen Code dann als Rückgabeparameter zur „Rückgabe-URL“ hinzufügen, den wir dann in den Einreichungen speichern, indem wir den Parameter, der
customer_referenceenthält, zu den Rückgabeparametern hinzufügen. Beachte, dass du bei Chargify die „Rückgabe-URL“ auf die URL des Schritts nach dem Schritt setzen musst, an dem du die Aktion „Zu … routen“ angehängt hast. Das bedeutet, dass du dencustomer_reference-Parameter als erlaubten Parameter zu diesemselben Schritt hinzufügen musst. -
Erforderliche Daten . Dies ist eine neue Schritteinstellung, mit der du vor dem Anzeigen eines Schritts eine Datenprüfung erzwingen kannst. Derzeit kannst du verlangen, dass ein Teil der Absendedaten einem anderen Teil der Absendedaten entspricht. Wenn der Nutzer versucht, den Schritt zu laden und die erforderliche Datenprüfung fehlschlägt, wird eine Fehlermeldung angezeigt. Im Fall von Chargify verwenden wir dies, um zu verlangen, dass der Code, den wir in der Aktion „Zu … routen“ erstellt haben, dem von Chargify zurückgegebenen
customer_referenceentspricht. Du kannst die den Nutzern angezeigte Fehlermeldung über das Feld „Nachricht anzeigen, wenn Daten nicht vorhanden“ im Wizard-Admin anpassen. Zusätzlich wird der Fehlermeldung ein Link „Wizard neu starten“ angehängt, mit dem der Nutzer den Wizard auf Schritt 1 zurücksetzen und vorhandene Eingaben löschen kann.
Zahlung intern abwickeln
Du kannst ProCourse-Mitgliedschaften verwenden, um Zahlungen entgegenzunehmen.
Du kannst auch fast jeden Zahlungsanbieter verwenden, sofern dieser eine API unterstützt, die OAuth2 oder die Basisauthentifizierung unterstützt (Stripe verwendet beispielsweise die Basisauthentifizierung), indem du eine API-Verbindung über die Aktion „An API senden“ des Custom Wizards und das zugehörige API-Endpoint-Management-System einrichtest. Wie du dies einrichtest, hängt vom Anbieter ab. Dieser Ansatz ist weniger stabil; es handelt sich um eine Beta-Funktion, hat aber erhebliches Potenzial.