Wiki-Quellcode von Verwendung


Zeige letzte Bearbeiter
1 {{info}}
2 **Achtung:**
3 Bevor Sie die AKDB EPayment in ihren Formular-Prozessen einbinden, stellen Sie bitte sicher, dass die konfigurative Anbindung des Dienstes durch den {{formcycle/}}-Administrator erfolgt ist!
4 {{/info}}
5
6 Das kostenpflichtige AKDB EPayment Plugin ermöglicht es, über das von der AKDB bereitgestellte [[ePay-BL Portal>>https://www.epaybl.de/||rel="noopener noreferrer" target="_blank" title="E-Payment Bund und Länder"]], einen Bezahlvorgang in einen Formularprozess einzubauen.
7
8 Der nachfolgende Artikel beschreibt beispielhaft die von einen Formular-Ersteller auszuführenden Schritte, um einen Bezahlvorgang in einem Formular zu integrieren.
9 Auf die notwendigen Schritte, um den Service technisch in {{formcycle/}} einzubinden wird an dieser Stelle nicht eingegangen.
10
11 {{id name="config_reihenfolge"/}}
12 Prinzipiell sind immer folgende Schritte für eine Einbindung auszuführen:
13
14 1. Formular mit "bestellbaren" Artikeln und notwendigen Dateneingaben versehen
15 1. Workflow konfigurieren mit:
16 1*. einer Aktionen zum Starten einer Bezahl-Transaktion
17 1*. Ereignissen für eine gezielten Reaktion auf Rückmeldungen vom Bezahl-Portal
18 1. Anzeige des Ergebnisses der Bezahl-Transaktion
19
20 == 1. Formular für den Bezahlvorgang designen ==
21
22 Durch die Installation des Plugins im {{formcycle/}}-System sind im Designer ein zusätzliches Element, sowie 4 Vorlagen vorhanden, welche den Nutzer bei der notwendigen Konfiguration für das EPayment unterstützen sollen.
23
24 {{id name="epay_artikel"/}}
25
26 === 1.1. Artikel definieren durch das Formular-Element: //EPayment Artikel//: ===
27
28 {{figure image="hilfe_epay_artikel_form.png"}}
29 Konfigurationsmöglichkeiten am Formular-Element //EPayment Artikel//
30 {{/figure}}
31
32 Über das Formular-Element //EPayment Artikel// werden die für eine Bestell-Transaktion notwendigen Artikel definiert.
33 Das Formular-Element dient dabei zum Einen für eine visuelle Darstellung des Artikels (mit Bild, Preisangabe, Eingabemöglichkeit für Bestellmenge) innerhalb eines Formulars, als auch als Vorlage für die Erstellung einer
34 konkreten Bestell-Position zum Zeitpunkt der Ausführung einer Bezahl-Transaktion.
35
36 __Grundeigenschaften:__
37
38 ; Versteckt
39 : Durch das Auswählen dieser Option wird es möglich einen Bestellartikel vor dem Nutzer zu verbergen.
40 Wenn gleichzeitig dazu noch die Option **Pflicht-Artikel** ausgewählt wird, so wird beim Absenden des Formulars dieser Artikel automatisch der Bestellung hinzugefügt.
41 : Dies kann immer dann sinnvoll sein, wenn dem Benutzer selbst keine Entscheidung für die Auswahl eines Bestellartikels ermöglicht werden soll, zum Beispiel bei der Erhebung einer Gebühr.
42
43 __EPayment Bestellartikel Einstellungen:__
44
45 ; Pflicht-Artikel
46 : Diese Option ermöglicht es, einen Artikel als ausgewählt zu markieren, sodass er beim Absenden des Formulars automatisch der Bestellung hinzugefügt wird.
47 ; Beschreibung
48 : Nähere Beschreibung eines Artikels
49 ; Artikel-Preis (in Euro)
50 : Der Preis für einen Artikel. Der an dieser Stelle konfigurierte Wert dient zum Einen für die Anzeige innerhalb des Formulars, als auch zur Berechnung der Gesamtsumme im Fall einer Bestellung des Artikels.
51 ; Artikelnummer
52 : Eine eindeutige Nummer für den einzelnen Artikel innerhalb des Formulars. Dient bei der Ausführung eines Bestell-Prozesses zur eindeutigen Identifizierung des jeweiligen Artikels.
53 ; Max. Bestellmenge
54 : Hier kann die für den Nutzer maximal auswählbare Bestellmenge für einen Artikel definiert werden.
55 ; Belegnummer
56 : Die Belegnummer ist ein optionaler Wert, welcher zur weiterführenden Verarbeitung auf Seiten von ePay-BL dient
57
58 {{info}}
59 Bei Übermittlung einer Bestellung werden nur die Artikelnummer, sowie die jeweilige Anzahl von einem Bestellartikel, zum Server übertragen. Damit ein Artikel innerhalb einer Bestellung übermittelt wird, muss die "Bestellen"-Option angehakt sein.
60 {{/info}}
61
62 {{id name="epay_vorlage"/}}
63
64 === 1.2. Vorlagen zur Ermittlung von Bestellinformationen: ===
65
66 {{figure image="hilfe_epay_vorlagen_form.png"}}
67 Vorlagen zur Datenerhebung für das EPayment
68 {{/figure}}
69
70 Durch das Plugin werden verschiedene Designer-Vorlagen bereitgestellt, mit denen es ermöglicht wird die nachfolgend aufgeführten Daten vom Benutzer zu ermitteln:
71
72 * **Persönliche Daten**: Anrede, Name, Vorname, E-Mail etc.
73 * **Rechnungsadresse**
74 * **Lieferadresse**
75 * **Bankverbindung**
76
77 {{info}}
78 Die Vorlagen "Persönliche Daten" und "Rechnungsadresse" können im Zusammenspiel mit dem //Bürgerkonto-Login// der AKDB verwendet werden. Sie werden nach einem erfolgreichen Login automatisch vorbelegt.
79 {{/info}}
80
81 {{id name="epay_btn"/}}
82
83 === 1.3. Bestellung an den Server übermitteln: ===
84
85 Um eine Bestellung auszulösen und die bestellten Artikel zum Server zu übertragen muss dem Formular eine //Senden//-Schaltfläche hinzugefügt werden.
86
87 {{id name="config_process"/}}
88
89 == 2. Workflow für EPayment konfigurieren ==
90
91 Um eine Bezahl-Transaktion in einen Formularprozess einzubauen werden folgende Elemente vom Plugin zur Verfügung gestellt:
92
93 * Workflow-Aktion **[[Bestellung übermitteln>>doc:||anchor="plugin_epay_init"]]**: Diese erzeugt eine neue Bezahl-Transaktion auf Seiten der AKDB und leitet den Benutzer auf dessen Portalseite weiter.
94 * Workflow-Ereignis **[[Bezahlung erfolgreich>>doc:||anchor="plugin_event_epay_success"]]**: Verarbeitet ein Ereignis, welches auf der Rückmeldung über eine erfolgreiche Bezahlung auf dem ePay-BL Portal basiert.
95 * Workflow-Ereignis **[[Bezahlung nicht erfolgreich>>doc:||anchor="plugin_event_epay_error"]]**: Verarbeitet ein Ereignis, welches auf der Rückmeldung über eine noch offene Bezahlung auf dem ePay-BL Portal basiert. Dabei kann dies verschiedene Ursachen haben. Zum einen kann die Bezahlvorgang durch den Nutzer abgebrochen worden sein oder es ist zu einem Fehler im ePay-BL Portal gekommen.
96 * HTML-Template **AKDB ePayment Bezahlung Erfolg**: Standard-Template für Anzeige bei erfolgreich abgeschlossener Bezahlung.
97 * HTML-Template **AKDB ePayment Bezahlung Fehler**: Standard-Template für Anzeige bei offenen bzw. fehlerhaft beendeten Bezahlvorgang
98 * HTML-Template **AKDB ePayment Fehler**: Standard-Template für Anzeige bei allgemeinen technischen Fehlern
99
100 Ein Workflow für einen einfachen Fall kann folgendermaßen konfiguriert sein:
101
102 (% style="background-color:transparent; border:none" %)
103 |(% style="border-style:none; width:180px" %)[[image:hilfe_workflow.png||alt="Workflow mit EPayment Anbindung"]]|(% style="border-style:none; width:800px" %)(((
104 __Kurze Ablaufbeschreibung zum dargestellten Workflow:__
105
106 ~1. Durch das Absenden des Bestellformulars wird das Ereignis //Bestellen// aufgerufen und dort das Aktions-Plugin **[[AKDB:Bestellung übermitteln>>doc:||anchor="plugin_epay_init"]]** ausgeführt. Dieses ermittelt die für den Bestellvorgang notwendigen Daten aus dem Formular und startet eine Bezahl-Transaktion auf Seiten der AKDB. Wenn dies erfolgreich war, wird der Benutzer zum [[ePay-BL>>https://www.epaybl.de/||rel="noopener noreferrer" target="_blank" title="E-Payment Bund und Länder"]] Portal der AKDB weitergeleitet.
107
108 2. Nach Abschluss des Bezahlvorgangs im ePay-BL Portal wird der Benutzer wieder zu {{formcycle/}} zurückgeleitet. Dort erfolgt automatisch eine Überprüfung des Bezahlstatus am EPayment-System. Aus dem Ergebnis dieser Überprüfung ergibt sich das vom System ausgelöste Ereignis. Wenn die Überprüfung ergeben hat, dass die Bezahlung erfolgreich war, wird ein **[[Bezahlung erfolgreich>>doc:||anchor="plugin_event_epay_success"]]**-Ereignis durch das System ausgelöst. In allen anderen Fällen ist es ein **[[Bezahlung nicht erfolgreich>>doc:||anchor="plugin_event_epay_error"]]** Ereignis.
109
110 3. Ist die Bezahlung erfolgt, wird in den Status //Bezahlt// gewechselt und dem Nutzer wird eine entsprechende Abschlussseite angezeigt.
111
112 4. Im Falle eines negativen Ergebnisses der Überprüfung des Bezahlvorgangs (z.B.: der Nutzer hat den Bezahlvorgang im ePay-BL Portal abgebrochen; während des Bezahlvorgangs ist ein Fehler aufgetreten), wird im vorliegenden Beispiel eine E-Mail erzeugt, in der der Benutzer auf die noch ausstehende Zahlung hingewiesen wird. Der Workflow wird in den Status //Nicht bezahlt// versetzt und dem Nutzer
113 wird eine entsprechende Abschlussseite angezeigt.
114
115 )))
116
117 {{id name="plugin_epay_init"/}}
118
119 === 2.1. Konfigurationsmöglichkeiten des Aktions-Plugins //Bestellung übermitteln// ===
120
121 Dieses Aktions-Plugin ist für das Erzeugen einer Bezahl-Transaktion im [[ePay-BL>>https://www.epaybl.de/||rel="noopener noreferrer" target="_blank" title="E-Payment Bund und Länder"]] Portal zuständig. Hier werden im Vorfeld die Daten, welche im Zusammenhang mit der Transaktion stehen (bestellte Artikel, Preisbestimmung, persönliche Daten des Käufers etc.), festgelegt.
122
123 {{info}}
124 Wenn vor der Konfiguration des Plugins bereits mindestens ein **[[EPayment-Artikel>>doc:||anchor="epay_artikel"]]**, sowie die **[[Vorlage>>doc:||anchor="epay_vorlage"]]** für die **persönlichen Daten** im Formular hinterlegt wurden, werden bei einer Neueinrichtung der //Bestellung übermitteln// Plugin-Aktion die notwendigen Pflicht-Konfigurationen bereits mit den ermittelten Daten aus dem Formular vorbelegt.
125
126 Es empfiehlt sich deshalb die in diesem Artikel beschriebene [[Konfigurations-Reihenfolge>>doc:||anchor="config_reihenfolge"]] einzuhalten.
127
128 Es ist aber auch möglich das Formular im Nachhinein anzupassen und anschließend die Daten innerhalb des Aktions-Plugins zu aktualisieren.
129 {{/info}}
130
131 Die Konfigurationsoberfläche des Aktions-Plugins ist in einzelne Bereiche unterteilt die nachfolgend kurz beschrieben werden.
132
133 {{panel title="Kundenstammdaten" fullwidth="true" initial="visible" triggerable="true"}}
134
135 {{figure image="plugin_init_config_kundenstammdaten.png"}}
136 Konfiguration für die Kundenstammdaten
137 {{/figure}}
138
139 In diesem Bereich werden die Daten des Benutzers hinterlegt, für den die Bezahl-Transaktion erzeugt werden soll.
140 Die einzelnen Parameter können per Platzhalter oder fest definiert hinterlegt werden.
141
142 {{info}}
143 Über den [[image:icon_update.png]]-Button können diese Felder durch Nutzung der EPayment-Vorlage //Persönliche Daten// vorbelegt werden.
144 {{/info}}
145
146 ; Anrede
147 ; Titel
148 ; Vorname
149 ; Nachname (Pflichtfeld)
150 ; Geburtsdatum
151 : Geburtsdatum muss in der Form **dd.MM.yyyy** übermittelt werden.
152 ; E-Mail
153 : Wird für die Zustellung von Emails an den Kunden in Abhängigkeit von der ePay-BL-Mandantkonfiguration benötigt.
154 ; Telefon
155 ; Mobiltelefon
156
157 {{/panel}}
158
159 {{id name="config_paypage"/}}
160
161 {{panel title="Konfiguration für die PayPage" fullwidth="true" initial="visible" triggerable="true"}}
162
163 Bei der "PayPage" handelt es sich um eine bereits vorbefüllte Bezahlseite zur Online-Bezahlung. Der Nutzer hat hier noch die Auswahl, mit welchem Bezahl-Dienstleister er bezahlen möchte (Paypal, SEPA-Lastschrift, giropay etc.). Die Art und Anzahl der dem Nutzer zur Auswahl stehenden Bezahl-Dienstleister hängt dabei davon ab, was im Vorfeld vertraglich mit der AKDB verbart wurde.
164
165 {{figure image="plugin_init_config_paypage.png"}}
166 Konfiguration für die PayPage
167 {{/figure}}
168
169 ; Automatische Weiterleitung zur PayPage verhindern
170 : Bei aktivierter Einstellung kann eine automatische Weiterleitung zur PayPage unterbunden werden.
171 ; Fälligkeitsdatum
172 : Der konfigurierte Wert muss sich in ein gültiges Datum umwandeln lassen. Wenn an dieser Stelle ein Wert hinterlegt ist, wird dieser als Fälligkeitszeitpunkt für die Zahlung übermittelt und die globale Einstellung für den **Fälligkeitszeitraum** wird nicht beachtet.
173 ; Buchungstext auf PayPage
174 : Der hier festgelegte Buchungstext wird dem Benutzer auf der PayPage angezeigt.
175 {{/panel}}
176
177 {{panel title="Konfiguration AKDB ePayment-Mandant" fullwidth="true" initial="visible" triggerable="true"}}
178
179 {{figure image="plugin_init_config_akdb_mandant.png"}}
180 Konfiguration AKDB EPayment-Mandant
181 {{/figure}}
182
183 In diesem Bereich können die globalen Einstellungen für den zu verwendenden ePay-BL Mandanten übersteuert werden. Die Einstellungen zum ePay-BL Mandanten sind notwendig, um später die Transaktion auf Seiten von ePay-BL
184 der richtigen Behörde (entspricht der festgelegten Mandant-Nummer), dem Bewirtschafter und der Haushaltsstelle zuzuordnen.
185 In den meisten Fällen sind diese Einstellungen bereits durch einen Plugin-Administrator global hinterlegt worden, sodass an dieser Stelle keine Konfiguration notwendig ist.
186
187 Die einzelnen Parameter können per Platzhalter oder fest definiert hinterlegt werden. Weiterhin kann über den Button [[image:icon_update.png]] //Webservice Erreichbarkeit prüfen// die generelle Erreichbarkeit des EPayment Webservice geprüft werden.
188
189 ; Mandant-Nummer
190 : AKDB-Mandantennummer des aufrufenden eShops (FORMCYCLE) (Wird durch ePay-BL-System vorgegeben)
191 ; Bewirtschafter-Nummer
192 : Bewirtschafternummer (Wird durch ePay-BL-System vorgegeben)
193 ; Haushaltsstelle
194 : Nummer der Haushaltsstelle, welcher die Buchung zugeordnet werden soll. (Wird durch ePay-BL-System vorgegeben)
195 ; Objektnummer
196 : Dient der internen Verbuchung im EPayment-System. (Wird durch ePay-BL-System vorgegeben)
197 ; Kennzeichen-Mahnverfahren
198 : Einstellung für das Kennzeichen in einem Mahnverfahren. (Mögliche Werte werden durch ePay-BL-System vorgegeben)
199 ; Fälligkeitszeitraum
200 : Einstellung für die Berechnung des Fälligkeitszeitraumes der Zahlung (Dauer in Tagen).
201
202 {{/panel}}
203
204 {{id name="plugin_event_epay_success"/}}
205
206 === 2.2. Workflow-Ereignis //Bezahlung erfolgreich// ===
207
208 Eine Workflow-Verarbeitungskette mit diesem Ereignis wird immer dann ausgeführt, wenn eine Rückleitung aus dem ePay-BL Portal erfolgt
209 und die Bezahlung erfolgreich durchgeführt wurde.
210 Das Ereignis stellt dabei folgende Werte bereit, die per Platzhalter in nachfolgenden Aktionen ausgewertet werden können.
211
212 ; **[%$TRIGGER.paymentStatus%]**
213 : Bezeichnung des Status, wie er vom ePay-BL Portal zurückgeliefert wird (Möglicher Wert: INAKTIV)
214 ; **[%$TRIGGER.paymentStatusText%]**
215 : Eine Nac
216
217 {{id name="plugin_event_epay_error"/}}
218
219 === 2.3. Workflow-Ereignis //Bezahlung nicht erfolgreich// ===
220
221 Dieses Ereignis tritt ein, wenn eine Rückleitung aus dem ePay-BL Portal erfolgte
222 und die Bezahlung nicht durchgeführt wurde.
223 Die Überprüfung erfolgt dabei durch einen Aufruf der entsprechenden Webservice-Methode.
224 Den genauen Grund für das Ausstehen der Bezahlung kann dabei dem ebenfalls übermittelten PayPageStatus entnommen werden.