Änderungen von Dokument AKDB: EPayment-Plugin


Von Version 9.3
bearbeitet von rth
am 04.10.2021, 15:06
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 7.1
bearbeitet von gru
am 29.06.2021, 14:15
Änderungskommentar: Renamed back-links.

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.rth
1 +XWiki.gru
Inhalt
... ... @@ -9,8 +9,508 @@
9 9  
10 10  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.
11 11  
12 -Was bei der Einbindung in Formulare zu beachten ist, finden Sie unter [[Verwendung >>doc:Usage]]beschrieben.
12 +Der nachfolgende Artikel beschreibt beispielhaft die von einen Formular-Ersteller auszuführenden Schritte, um einen Bezahlvorgang in einem Formular zu integrieren.
13 +Auf die notwendigen Schritte, um den Service technisch in {{formcycle/}} einzubinden wird an dieser Stelle nicht eingegangen.
13 13  
14 -Wenn Sie über eine ältere Formulare verfügen, oder ältere Formulare mit dem EPayment ausstatten bzw. dieses bearbeiten möchten, so finden Sie die dafür notwendige Beschreibung auf dieser [[Hilfe-Seite>>doc:UsageV6]].
15 +{{id name="config_reihenfolge"/}}
16 +Prinzipiell sind immer folgende Schritte für eine Einbindung auszuführen:
15 15  
18 +1. Formular mit "bestellbaren" Artikeln und notwendigen Dateneingaben versehen
19 +1. Statusverarbeitung konfigurieren mit Aktionen zum Starten einer Bezahl-Transaktion und zum Kontrollieren des Status der Transaktion
20 +1. Anzeige des Ergebnisses der Bezahl-Transaktion
21 +
22 +== 1. Formular für den Bezahlvorgang designen ==
23 +
24 +Durch die Installation des Plugins im FORMCYCLE-System sind im Designer 2 zusätzliche Elemente, sowie 4 Vorlagen vorhanden, welche den Nutzer bei der notwendigen Konfiguration für das EPayment unterstützen sollen.
25 +
26 +{{id name="epay_artikel"/}}
27 +
28 +=== 1.1. Artikel definieren durch das Formular-Element: //EPayment Artikel//: ===
29 +
30 +{{figure image="hilfe_epay_artikel_form.png"}}
31 +Konfigurationsmöglichkeiten am Formular-Element //EPayment Artikel//
32 +{{/figure}}
33 +
34 +Über das Formular-Element //EPayment Artikel// werden die für eine Bestell-Transaktion notwendigen Artikel definiert.
35 +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
36 +für die notwendige serverseitige Konfiguration des Artikels innerhalb des Aktions-Plugins **AKDB:EPayment initialisieren**.
37 +
38 +__Grundeigenschaften:__
39 +
40 +; Angehackt, Versteckt
41 +: Durch das initiale Auswählen dieser zwei Optionen wird es möglich einen Bestellartikel vor dem Nutzer zu verbergen und direkt bei Absenden eines Formulars in den Warenkorb zu legen.
42 +: Dies kann immer dann der Fall 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.
43 +
44 +__EPayment Bestellartikel Einstellungen:__
45 +
46 +; Artikelbeschreibung
47 +: Nähere Beschreibung eines Artikels
48 +; Artikel-Preis
49 +: Der Preis für einen Artikel. Der an dieser Stelle konfigurierte Wert dient zum Einen für die Anzeige innerhalb des Formulars, als auch für eine Vorbelegung der [[Bestellinformationen bei der serverseitigen Konfiguration>>doc:||anchor="config_artikel"]] des EPayments.
50 +; Artikelnummer
51 +: 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.
52 +
53 +{{info}}
54 +Bei Durchführung eines Bestellvorgangs werden nur die Artikelnummer sowie die jeweilige Anzahl von einem Bestellartikel zum Server übertragen.
55 +Damit ein Artikel innerhalb einer Bestellung übermittelt wird, muss die "Bestellen"-Option angehakt sein.
56 +{{/info}}
57 +
58 +{{id name="epay_vorlage"/}}
59 +
60 +=== 1.2. Vorlagen zur Ermittlung von Bestellinformationen: ===
61 +
62 +{{figure image="hilfe_epay_vorlagen_form.png"}}
63 +Vorlagen zur Datenerhebung für das EPayment
64 +{{/figure}}
65 +
66 +Durch das Plugin werden verschiedene Designer-Vorlagen bereitgestellt, mit denen es ermöglicht wird die nachfolgend aufgeführten Daten vom Benutzer zu ermitteln:
67 +
68 +* **Persönliche Daten**: Anrede, Name, Vorname, E-Mail etc.
69 +* **Rechnungsadresse**
70 +* **Lieferadresse**
71 +* **Bankverbindung**
72 +
73 +{{info}}
74 +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.
75 +{{/info}}
76 +
77 +{{id name="epay_btn"/}}
78 +
79 +=== 1.3. Bestellprozess starten mittels Formular-Element //EPayment Bestellen Button//: ===
80 +
81 +{{figure image="hilfe_epay_button_form.png"}}
82 +Konfigurationsmöglichkeiten am Formular-Element //EPayment Bestellen Button//
83 +{{/figure}}
84 +
85 +Über das Formular-Element //EPayment Bestellen Button// kann das Formular durch den Nutzer abgesendet und damit der Bezahlvorgang gestartet werden.
86 +Bei Nutzung dieses speziellen Absende-Buttons werden zum Absende-Zeitpunkt alle ausgewählten Artikeln ermittelt und deren Artikelnummer sowie Bestellmenge zum Server übertragen.
87 +
88 +__EPayment Einstellungen:__
89 +
90 +; Schaltflächentext
91 +: Beschriftung des Absenden-Buttons
92 +; Eingaben pruefen vor Absenden
93 +: Wenn ausgewählt, wird das Formular vor dem Absenden validiert, sonst erfolgt keine Prüfung.
94 +
95 +{{id name="config_process"/}}
96 +
97 +== 2. Statusverarbeitung für EPayment konfigurieren ==
98 +
99 +Um eine Bezahl-Transaktion in einen Formularprozess einzubauen werden die folgenden Aktions-Plugins zur Verfügung gestellt:
100 +
101 +* **[[AKDB:EPayment initialisieren>>doc:||anchor="plugin_epay_init"]]**: Dieses erzeugt eine neue Bezahl-Transaktion auf Seiten der AKDB und leitet den Benutzer auf dessen Portalseite weiter.
102 +* **[[AKDB:EPayment verifizieren>>doc:||anchor="plugin_epay_verify"]]**: Prüft den aktuellen Status einer Bezahl-Transaktion
103 +
104 +Ein Statusverarbeitung für einen einfachen Fall kann folgendermaßen konfiguriert sein:
105 +
106 +(% style="background-color:transparent; border:none" %)
107 +|(% style="border-style:none; width:180px" %)[[image:hilfe_statusverabeitung.png||alt="Statusverarbeitung mit Anbindung EPayment"]]|(% style="border-style:none; width:700px" %)(((
108 +__Kurze Ablaufbeschreibung zur dargestellten Statusverarbeitung:__
109 +
110 +~1. Nach dem Absenden des Bestellformulars wird in den Status //Eingegangen// gewechselt und dort das Aktions-Plugin **[[AKDB:EPayment initialisieren>>doc:||anchor="plugin_epay_init"]]** ausgeführt. Dieses ermittelt die für den Bestellvorgang notwendigen Daten aus dem Formular und startet mit diesen 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, unter vorheriger [[Angabe eines Rücksprung-Ziels>>doc:||anchor="config_paypage"]] (Realisiert über Festlegung eines Ziel-Status), weitergeleitet.
111 +
112 +2. Nach Abschluss des Bezahlvorgangs im ePay-BL Portal wird der Benutzer wieder zum {{formcycle/}}-Formular zurückgeleitet. Dies erfolgt unter Benutzung des angegebenen Rücksprung-Ziels.
113 +Aus einer im Vorfeld festgelegten Konfiguration im **[[AKDB:EPayment initialisieren>>doc:||anchor="plugin_epay_init"]]** Aktions-Plugin wird der Ziel-Status nach Rückkehr aus dem ePay-BL Portal ermittelt. Im vorliegenden Beispiel wird deshalb in den Status //Zahlung pruefen// gewechselt.
114 +
115 +3. Die Statusverarbeitung //Zahlung pruefen// wird ausgeführt und dort das Aktions-Plugin **[[AKDB:EPayment verifizieren>>doc:||anchor="plugin_epay_verify"]]** durchlaufen. Unter Zuhilfenahme dieses Plugins wird der aktuelle Status der Bezahlung am EPayment-System geprüft und in der weiteren Statusverarbeitung (per Platzhalter) zur Verfügung gestellt.
116 +
117 +4. Im Falle einer positiven Verifizierung des Bezahlvorgangs wird unter Zuhilfenahme der Aktion [[**Statusänderung**>>doc:Formcycle.Designer.Workflow.LegacyWorkflow.Actions.ChangeState]] in den Status //Bezahlt //gewechselt. Innerhalb von diesem Status ist eine [[**Weiterleitungs**>>doc:Formcycle.Designer.Workflow.Actions.Redirect]]-Aktion zum aktuellen Formular konfiguriert, sodass dieses dem Benutzer wieder angezeigt wird. Innerhalb dieses Formulares kann dann ein Text-Element konfiguriert werden, welches nur im Status //Bezahlt// angezeigt wird und dem Benutzer eine positive Rückmeldung zum Ausgang seines Bezahlvorgangs anzeigt.
118 +
119 +__Hinweis:__ Anstatt einer Rückleitung ins Formular kann im Status //Bezahlt// auch eine individuelle Abschluss-Seite konfiguriert sein. Dann würde diese dem Nutzer angezeigt werden.
120 +
121 +5. Im Falle einer negativen Verifizierung des Bezahlvorgangs (z.B.: der Nutzer hat den Bezahlvorgang im ePay-BL Portal abgebrochen; während des Bezahlvorgangs ist ein Fehler aufgetreten) wird unter Zuhilfenahme der Aktion [[**Statusänderung**>>doc:Formcycle.Designer.Workflow.LegacyWorkflow.Actions.ChangeState]] in den Status //Bezahlung offen// gewechselt. Es erfolgt wieder eine [[**Weiterleitung**>>doc:Formcycle.Designer.Workflow.Actions.Redirect]] ins aktuelle Formular, wo ein Text-Element konfiguriert ist, welches nur im Status //Bezahlung offen// angezeigt wird und dem Benutzer eine Rückmeldung zu seiner noch ausstehenden Bezahlung anzeigt.
122 +
16 16  
124 +)))
125 +
126 +{{id name="plugin_epay_init"/}}
127 +
128 +=== 2.1. Konfigurationsmöglichkeiten des Aktions-Plugins //AKDB:EPayment initialisieren// ===
129 +
130 +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, Rechnungsadresse etc.), festgelegt. Weiterhin erfolgt die Festlegung in welchen Status, nach Rückkehr aus dem ePay-BL Portal, gewechselt werden soll.
131 +
132 +{{info}}
133 +Wenn vor der Konfiguration des Plugins bereits mindestens ein **[[EPayment-Artikel>>doc:||anchor="epay_artikel"]]**, der **[[EPayment Bestellen Button>>doc:||anchor="epay_btn"]]** sowie die **[[Vorlage>>doc:||anchor="epay_vorlage"]]** für die **persönlichen Daten** im Formular hinterlegt wurden, werden bei einer Neueinrichtung der //AKDB:EPayment initialisieren// Plugin-Aktion die notwendigen Pflicht-Konfigurationen bereits mit den ermittelten Daten aus dem Formular vorbelegt. Es muss anschließend nur noch der Ziel-Status für eine erfolgreiche / nicht erfolgreiche Transaktion festgelegt werden.
134 +
135 +Es empfiehlt sich deshalb die in diesem Artikel beschriebene [[Konfigurations-Reihenfolge>>doc:||anchor="config_reihenfolge"]] einzuhalten.
136 +
137 +Es ist aber auch möglich das Formular im Nachhinein anzupassen und anschließend die Daten innerhalb des Aktions-Plugins zu aktualisieren.
138 +{{/info}}
139 +
140 +Die Konfigurationsoberfläche des Aktions-Plugins ist in einzelne Bereiche unterteilt die nachfolgend kurz beschrieben werden.
141 +
142 +{{panel title="Konfiguration AKDB EPayment-Mandant" fullwidth="true" initial="visible" triggerable="true"}}
143 +
144 +{{figure image="plugin_init_config_akdb_mandant.png"}}
145 +Konfiguration AKDB EPayment-Mandant
146 +{{/figure}}
147 +
148 +In diesem Bereich werden die für den Formular-Prozess zu verwendenden Einstellungen des ePay-BL Mandanten hinterlegt. Diese sind notwendig, um später die Transaktion auf Seiten von ePay-BL
149 +der richtigen Behörde (entspricht der festgelegten Mandant-Nummer), Bewirtschafter und Haushaltsstelle zuzuordnen. Die Daten in diesem Bereich sind meistens bereits mit globalen Einstellungen vorbefüllt,
150 +sofern diese durch einen Plugin-Administrator korrekt hinterlegt wurden.
151 +
152 +
153 +Die einzelnen Parameter können per Platzhalter oder fest definiert hinterlegt werden. Weiterhin kann über den Button [[image:icon_update.png]] //EPayment Webservice Erreichbarkeit prüfen// die generelle Erreichbarkeit des EPayment Webservice geprüft werden.
154 +
155 +; Mandant-Nummer (Pflichtfeld)
156 +: AKDB-Mandantennummer des aufrufenden eShops (FORMCYCLE) (Wird durch ePay-BL-System vorgegeben)
157 +; Bewirtschafter-Nummer (Pflichtfeld)
158 +: Bewirtschafternummer (Wird durch ePay-BL-System vorgegeben)
159 +; Haushaltsstelle (Pflichtfeld)
160 +: Nummer der Haushaltsstelle, welcher die Buchung zugeordnet werden soll. (Wird durch ePay-BL-System vorgegeben)
161 +; Objektnummer (Pflichtfeld)
162 +: Dient der internen Verbuchung im EPayment-System. (Wird durch ePay-BL-System vorgegeben)
163 +; Kennzeichen-Mahnverfahren (Pflichtfeld)
164 +: Einstellung für das Kennzeichen in einem Mahnverfahren. (Mögliche Werte werden durch ePay-BL-System vorgegeben)
165 +; Fälligkeitszeitraum (Pflichtfeld)
166 +: Einstellung für die Berechnung des Fälligkeitszeitraumes der Zahlung (Dauer in Tagen).
167 +; Währung
168 +: Währung in welcher der Betrag ausgewiesen wird. Ist nichts definiert wird als Wert **EUR** angenommen.
169 +
170 +{{/panel}}
171 +
172 +{{id name="config_paypage"/}}
173 +
174 +{{panel title="Konfiguration für die PayPage" fullwidth="true" initial="visible" triggerable="true"}}
175 +
176 +Bei der "PayPage" handelt es sich dabei um eine bereits ausgefüllte Bezahlseite zur Online-Bezahlung der vom Gläubiger, für die jeweils erbrachten Leistungen, veranschlagten Gebühren, Entgelte etc.
177 +
178 +{{figure image="plugin_init_config_paypage.png"}}
179 +Konfiguration für die PayPage
180 +{{/figure}}
181 +
182 +
183 +; URL zur PayPage (Pflichtfeld)
184 +: URL zur PayPage des EPayment-Systems. Die hier hinterlegte URL wird durch das ePay-BL-System vorgegeben und beinhaltete den Verweis auf die PayPage im ePay-BL-System.
185 +; Automatische Weiterleitung zur PayPage verhindern
186 +: Bei aktivierter Einstellung kann eine automatische Weiterleitung zur PayPage unterbunden werden.
187 +; Status, in welchen nach erfolgreicher Transaktion gewechselt wird (Pflichtfeld)
188 +: Hier muss ein Status festgelegt werden, in welchen gewechselt wird, wenn der Bezahlvorgang auf Seiten des ePay-BL-Systems erfolgreich durchlaufen wurde.
189 +; Status, in welchen nach fehlerhafter oder abgebrochener Transaktion gewechselt wird (Pflichtfeld)
190 +: Hier muss ein Status festgelegt werden, in welchen gewechselt wird, wenn der Bezahlvorgang auf Seiten des ePay-BL-Systems abgebrochen wurde.
191 +; PayPage Buchungstext
192 +: Dieser Buchungstext wird dem Benutzer auf der PayPage angezeigt.
193 +; Fälligkeitsdatum
194 +: 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
195 +die Einstellung für den **Fälligkeitszeitraum** wird nicht beachtet.
196 +{{/panel}}
197 +
198 +{{panel title="Kundenstammdaten" fullwidth="true" initial="visible" triggerable="true"}}
199 +
200 +{{figure image="plugin_init_config_kundenstammdaten.png"}}
201 +Konfiguration für die Kundenstammdaten
202 +{{/figure}}
203 +
204 +In diesem Bereich werden die Daten des Benutzers hinterlegt, für den die Bezahl-Transaktion erzeugt werden soll.
205 +Die einzelnen Parameter können per Platzhalter oder fest definiert hinterlegt werden.
206 +
207 +{{info}}
208 +Über den Link [[image:icon_update.png]] //Formular-Elemente für Kundenstammdaten ermitteln// können die Felder bei Nutzung der EPayment-Vorlage //Persönliche Daten// vorbelegt werden.
209 +{{/info}}
210 +
211 +; Anrede
212 +; Titel
213 +; Vorname
214 +; Nachname (Pflichtfeld)
215 +; Geburtsdatum
216 +: Geburtsdatum muss in der Form **dd.MM.yyyy** übermittelt werden.
217 +; E-Mail
218 +: Wird für die Zustellung von Emails an den Kunden in Abhängigkeit von der ePay-BL-Mandantkonfiguration benötigt.
219 +; Telefon (privat)
220 +; Telefon (dienstlich)
221 +; Mobiltelefon
222 +
223 +{{/panel}}
224 +
225 +{{id name="config_artikel"/}}
226 +
227 +{{panel title="Bestellinformationen" fullwidth="true" initial="visible" triggerable="true"}}
228 +{{figure image="plugin_init_config_artikel.png"}}
229 +Konfiguration der Bestellinformationen
230 +{{/figure}}
231 +
232 +In diesem Bereich werden die bestellbaren Artikel definiert.
233 +In dem Feld //Übermittelte Bestellung// wird der Wert per Platzhalter festgelegt, welcher zum Ausführungszeitpunkt die JSON-Struktur mit den im Formular bestellten Artikeln enthält.
234 +
235 +
236 +{{info}}
237 +Wenn das Formular über die Elemente **[[EPayment-Artikel>>doc:||anchor="epay_artikel"]]** und **[[EPayment Bestellen Button>>doc:||anchor="epay_btn"]]** verfügt kann über den jeweiligen Button [[image:icon_update.png]] eine Vorbefüllung der vorhandenen Pflichtfelder durchgeführt werden.
238 +{{/info}}
239 +
240 +In der Tabelle //Bestellartikel-Definitionen// erfolgt die Definition der einzelnen Bestellartikel. Die hier konfigurierten Angaben sind maßgeblich für eine Übermittlung an den ePay-BL-Service.
241 +Jeder Artikel muss über folgende Parameter verfügen:
242 +; Artikelnummer (Pflichtfeld)
243 +: Eine Nummer die den einzelnen Artikel innerhalb einer Bestellung eindeutig identifizierbar macht.
244 +; Beschreibung (Pflichtfeld)
245 +: Der Buchungstext darf nur folgende Zeichen enthalten: //A-Za-z0-9,.:/+& -*$%ÄÖÜäöüß// und ist in seiner Länge auf maximal 21 Zeichen begrenzt.
246 +; Betrag (Pflichtfeld)
247 +: Komma separierte Zahl, die den Preis eines Artikels definiert.
248 +; Belegnummer
249 +: Die Belegnummer ist optional und dient der weiterführenden Verarbeitung auf Seiten von ePay-BL.
250 +
251 +
252 +{{info}}
253 +**Achtung:** Um zur Laufzeit den Gesamtpreis einer Zahlungsanweisung zu errechnen, wird **immer** der Artikel-Preis aus der //Bestellartikel-Definitionen//-Tabelle entnommen.
254 +Einzig Artikelnummer und Bestellmenge werden aus den vom Browser übermittelten Daten zur Erstellung der Bezahl-Transaktion herangezogen.
255 +{{/info}}
256 +
257 +
258 +{{/panel}}
259 +
260 +{{panel title="Konfiguration Rechnungsadresse (optional)" fullwidth="true" initial="visible" triggerable="true"}}
261 +
262 +{{figure image="plugin_init_config_rechadr.png"}}
263 +Konfiguration der Rechnungsadresse
264 +{{/figure}}
265 +
266 +Die in diesem Bereich konfigurierbaren Werte sind grundlegend optional. Das heißt, die Daten zur Rechnungsadresse müssen nicht an den EPayment-Service übergeben werden.
267 +Bei Festlegung einer Konfiguration innerhalb dieses Bereichs werden aber einige Felder "bedingt verpflichtend".
268 +
269 +{{info}}
270 +Über den Link [[image:icon_update.png]] //Formular-Elemente für Rechnungsadresse ermitteln// können die Felder bei Nutzung der EPayment-Vorlage //Rechnungsadresse// vorbelegt werden.
271 +{{/info}}
272 +
273 +
274 +; Strasse (bedingt verpflichtend)
275 +: Wahlweise ist Strasse und Hausnummer **oder** Postfach bei Nutzung von Rechnungsadressdaten ein Pflichtfeld.
276 +; Hausnummer (bedingt verpflichtend)
277 +: Wahlweise ist Strasse und Hausnummer **oder** Postfach bei Nutzung von Rechnungsadressdaten ein Pflichtfeld.
278 +; Postfach (bedingt verpflichtend)
279 +: Wahlweise ist Postfach **oder** Strasse und Hausnummer bei Nutzung von Rechnungsadressdaten ein Pflichtfeld.
280 +; Ort (bedingt verpflichtend)
281 +; PLZ (bedingt verpflichtend)
282 +: Postleitzahl
283 +; Land (bedingt verpflichtend)
284 +: Wenn gesetzt, muss die Angabe gemäß ISO 3166-1 erfolgen (zwei Großbuchstaben, z.B.: DE)
285 +
286 +{{/panel}}
287 +
288 +{{panel title="Konfiguration Lieferadresse (optional)" fullwidth="true" initial="visible" triggerable="true"}}
289 +
290 +{{figure image="plugin_init_config_lieferadr.png"}}
291 +Konfiguration der Lieferadressdaten
292 +{{/figure}}
293 +
294 +In diesem Bereich konfigurierten Werte sind grundlegend optional. Das heißt, die Daten zur Lieferadresse müssen nicht an den EPayment-Service übergeben werden.
295 +Dies ist zum Beispiel dann der Fall, wenn es sich bei dem zu bezahlenden Objekt um ein immaterielles Gut handelt.
296 +Bei Festlegung einer Konfiguration innerhalb dieses Bereichs werden aber einige Felder "bedingt verpflichtend".
297 +
298 +{{info}}
299 +Über den Link [[image:icon_update.png]] //Formular-Elemente für Lieferadresse ermitteln// können die Felder bei Nutzung der EPayment-Vorlage //Lieferadresse// vorbelegt werden.
300 +{{/info}}
301 +
302 +
303 +; Anrede
304 +; Vorname
305 +; Nachname
306 +; Strasse (bedingt verpflichtend)
307 +: Wahlweise ist Strasse und Hausnummer **oder** Postfach bei Nutzung von Lieferadressdaten ein Pflichtfeld.
308 +; Hausnummer (bedingt verpflichtend)
309 +: Wahlweise ist Strasse und Hausnummer **oder** Postfach bei Nutzung von Lieferadressdaten ein Pflichtfeld.
310 +; Postfach (bedingt verpflichtend)
311 +: Wahlweise ist Postfach **oder** Strasse und Hausnummer bei Nutzung von Lieferadressdaten ein Pflichtfeld.
312 +; Ort (bedingt verpflichtend)
313 +; PLZ (bedingt verpflichtend)
314 +: Postleitzahl
315 +; Land (bedingt verpflichtend)
316 +: Wenn gesetzt, muss die Angabe gemäß ISO 3166-1 erfolgen (zwei Großbuchstaben, z.B.: DE)
317 +
318 +{{/panel}}
319 +
320 +{{panel title="Konfiguration für die Bankverbindung (optional)" fullwidth="true" initial="visible" triggerable="true"}}
321 +
322 +{{figure image="plugin_init_config_bank.png"}}
323 +Konfiguration für die Bankverbindung
324 +{{/figure}}
325 +
326 +In diesem Bereich konfigurierten Werte sind grundlegend optional. Das heißt, die Daten zur Bankverbindung müssen nicht an den EPayment-Service übergeben werden.
327 +Bei Festlegung einer Konfiguration innerhalb dieses Bereichs werden aber einige Felder "bedingt verpflichtend".
328 +
329 +{{info}}
330 +Über den Link [[image:icon_update.png]] //Formular-Elemente für Bankverbindung ermitteln// können die Felder bei Nutzung der EPayment-Vorlage //Bankverbindung// vorbelegt werden.
331 +{{/info}}
332 +
333 +
334 +; Kontoinhaber
335 +: Falls der Inhaber des Kontos vom Namen des Kunden abweicht, muss dieser hier übertragen werden. Falls das Feld leer ist, wird bei den Zahlungsüberstellungen der Nachname des Kunden verwendet.
336 +; Kontonummer (bedingtes Pflichtfeld)
337 +: Kontonummer vom Zahlungspflichtigen. Wenn Kontodaten konfiguriert werden, ist dies ein Pflichtfeld.
338 +; IBAN
339 +: **I**nternational **B**ank **A**ccount **N**umber des Kontos
340 +; BIC
341 +: **B**ank **I**dentification **C**ode des Kontos
342 +; BLZ (bedingtes Pflichtfeld)
343 +: Bankleitzahl vom Konto des Zahlungspflichtigen. Wenn Kontodaten konfiguriert werden, ist dies ein Pflichtfeld.
344 +
345 +{{/panel}}
346 +
347 +{{panel title="Allgemeine Rückgabeparameter" fullwidth="true" initial="visible" triggerable="true"}}
348 +
349 +{{figure image="plugin_init_config_result.png"}}
350 +Konfiguration der Plugin Rückgabedaten (Platzhalter)
351 +{{/figure}}
352 +
353 +In diesem Bereich werden die vom Plugin als Ergebnis der Bezahl-Transaktion zurückgelieferten Parameter aufgeführt.
354 +Für die einzelnen Parameter kann ein Alias vergeben werden.
355 +In weiteren Aktionen kann auf den entsprechenden Rückgabeparameter per Platzhalter-Syntax zugegriffen werden.
356 +Der Platzhalter wird dabei nach dem folgenden Muster gebildet:
357 +
358 +
359 +{{code language="java"}}
360 +[%$<Plugin-Name>.RESULT[0].<Name oder vergebener Alias der Rückgabeparameters>%]
361 +{{/code}}
362 +
363 +
364 +
365 +; Kassenzeichen
366 +: Das für die Transaktion, auf Seiten von ePay-BL erzeugte, notwendige Kassenzeichen.
367 +; EShopKundenNr
368 +: Die für die Transaktion automatisch erzeugte EShopKundenNr. (Dient der internen Verarbeitung.)
369 +; Gesamtbetrag
370 +: Der errechnete Gesamtbetrag der Bezahl-Transaktion. (Ergibt sich aus der Summe aller bestellten Artikel X deren Bestellmenge.)
371 +
372 +
373 +{{info}}
374 +Über den [[image:icon_copy.png]] Button kann der aus dem Namen oder Alias erzeugte Platzhalter einfach in die Zwischenablage kopiert
375 +und an anderer Stelle, z.B.: im Text einer E-Mail-Aktion, eingefügt werden.
376 +{{/info}}
377 +
378 +{{/panel}}
379 +
380 +{{id name="plugin_epay_verify"/}}
381 +
382 +=== 2.2. Konfigurationsmöglichkeiten des Aktions-Plugins //AKDB:EPayment verifizieren// ===
383 +
384 +{{figure image="plugin_verify.png"}}
385 +Konfiguration des Plugins //AKDB:EPayment verifizieren//
386 +{{/figure}}
387 +
388 +Dieses Aktions-Plugin ist zum Auswerten des Status einer Bezahl-Transaktion zuständig. Im Standardfall muss innerhalb des Plugins keine weitere Konfiguration erfolgen, da alle notwendigen Parameter, für eine Prüfanfrage am ePay-BL-Service, intern hinterlegt sind.
389 +Es besteht aber auch die Möglichkeit die //AKDB-Mandantennummer// und das //Kassenzeichen// durch eine Konfiguration zu übersteuern. Dies kann immer dann der Fall sein, wenn die Prüfung in einem anderem Formularvorgang erfolgen soll, in dem **nicht** die eigentliche Bezahl-Transaktion erzeugt wurde.
390 +
391 +
392 +
393 +{{panel title="Allgemeine Rückgabeparameter" fullwidth="true" initial="visible" triggerable="true"}}
394 +
395 +
396 +In diesem Bereich werden die vom Plugin als Ergebnis der Status-Prüfung am ePay-BL-Service zurückgelieferten Parameter aufgeführt.
397 +Für die einzelnen Parameter kann ein Alias vergeben werden.
398 +In weiteren Aktionen kann auf den entsprechenden Rückgabeparameter per Platzhalter-Syntax zugegriffen werden.
399 +Der Platzhalter wird dabei nach dem folgenden Muster gebildet:
400 +
401 +
402 +{{code language="java"}}
403 +[%$<Plugin-Name>.RESULT[0].<Name oder vergebener Alias der Rückgabeparameters>%]
404 +{{/code}}
405 +
406 +
407 +
408 +; PayPageStatus
409 +: Enthält den vom ePay-BL-Service zurückgelieferten Statuscode. Die nachfolgende Tabelle gibt einen Überblick über die möglichen Statuscode und deren Bedeutung:
410 +|=Statuscode|=Bedeutung
411 +|INAKTIV | Die Bezahlung über die PayPage ist erfolgreich durchgeführt worden
412 +|AKTIV | Die Bezahlung über die PayPage ist noch nicht erfolgt.
413 +|MANDANT_NICHT_GEFUNDEN | Der Mandant wurde im ePayment-System nicht gefunden.
414 +|MANDANT_INAKTIV | Der Mandant ist im ePayment-System derzeit als inaktiv gekennzeichnet.
415 +|VERBINDUNG_OHNE_HTTPS | Die Verbindung zum Webservice erfolgte nicht über HTTPS mit Client-Zertifikaten.
416 +|VERBINDUNG_ZERTIFIKAT_FEHLER | Das für die Verbindung verwendete Client-Zertifikat darf nicht für den gewählten Mandanten verwendet werden.
417 +|KASSENZEICHEN_NICHT_VORHANDEN | Das gewählte Kassenzeichen ist nicht vorhanden.
418 +|KASSENZEICHEN_NICHT_GEFUNDEN | Das gewählte Kassenzeichen konnte nicht gefunden werden.
419 +|INTERNER_EPAYMENT_FEHLER | Interner nicht dokumentierter Fehler im ePayment-System.
420 +|UNDEFINIERT | Ein im System nicht bekannter Status
421 +; WebserviceErgebnisText
422 +: Enthält den vom ePay-BL Service zurückgelieferten Erläuterungstext zum übermittelten Status.
423 +
424 +{{info}}
425 +Über den [[image:icon_copy.png]] Button kann der aus dem Namen oder Alias erzeugte Platzhalter einfach in die Zwischenablage kopiert
426 +und an anderer Stelle, z.B.: als Wert innerhalb einer Bedingung, eingefügt werden.
427 +{{/info}}
428 +
429 +
430 +{{/panel}}
431 +
432 +== 3. Ergebnisanzeige ==
433 +
434 +{{figure image="hilfe_statusverabeitung_bedingung.png"}}
435 +Beispiel für die Konfiguration einer Bedingung, welche den aktuelle Status einer Bezahl-Transaktion beinhaltet. Die Bedingung im vorliegenden Beispiel wird positiv durchlaufen, wenn der Nutzer zuvor bezahlt hat.
436 +{{/figure}}
437 +
438 +Für die Anzeige des Ergebnisses bzw. dem Status einer Bezahl-Transaktion bestehen mehrere Möglichkeiten.
439 +Man kann dem Nutzer dieses in einer extra dafür hinterlegten Abschluss-Seite oder durch die Wiederanzeige das Formulars anzeigen.
440 +Ein Beispiel für die Ergebnisanzeige innerhalb des Formular ist unter dem Punkt //[[Statusverarbeitung für EPayment konfigurieren>>doc:||anchor="config_process"]]// aufgeführt.
441 +
442 +In den meisten Fällen ist es gewünscht, dass je nach Status der Bezahl-Transaktion unterscheidliche Rückmeldungstexte angezeigt oder zusätzliche Aktionen ausgeführt werden.
443 +
444 +Erreichen kann man dies über eine entsprechende Bedingung an der jeweiligen Aktion.
445 +
446 +
447 +== Weiterführende Informationen ==
448 +
449 +=== Aktions-Plugin //AKDB:EPayment PayPageURL bereitstellen// ===
450 +
451 +Durch dieses Aktions-Plugin kann die aktuell gültige URL zur Bezahl-Transaktion ins ePay-BL-Portal aus dem Formular-Vorgang ermittet werden. 
452 +Dadurch besteht die Möglichkeit eine noch nicht abgeschlossene Bezahl-Transaktion nochmals zur Anzeige zu bringen und die Zahlung durchzuführen. Dieses Aktions-Plugin muss dabei im zeitlichen Ablauf nach dem Plugin **[[AKDB:EPayment initialisieren>>doc:||anchor="plugin_epay_init"]]** konfiguriert sein.
453 +
454 +=== Formular-Projekt zum Download ===
455 +
456 +[[Hier>>https://customer.formcycle.eu/index.php/s/YacSssWhhr23q7o||rel="noopener noreferrer" target="_blank"]] können Sie sich ein bereits vorkonfiguriertes Formular-Projekt herunterladen.
457 +
458 +== Versionshistorie ==
459 +
460 +=== 2.2.0 ===
461 +
462 +* Plugin benötigt mindestens {{formcycle/}} in der Version {{version major="6" minor="6"}}{{/version}}
463 +* Fehlerbehebung: Fehlende Beschriftungen an den Eigenschaften für die Formular-Elemente //EPayment ArtikelEPayment Artikel// und //EPayment Bestellen Button// wurden behoben.
464 +
465 +=== 2.1.0 ===
466 +
467 +* Bei Speicherung einer Konfiguration im Aktions-Plugin //AKDB:EPayment initialisieren// wird für den betroffenen Status immer die "Unregistrierte Wiederanzeige" gestattet.
468 +* Anpassung Template-Vorlage für Rechungsadresse: Bei einem AKDB Bürgerkonto-Login werden die zurückgelieferten Adressdaten auf Strasse und Hausnummer aufgeteilt, wenn dies möglich ist.
469 +* Überarbeitung der Konfigurationsoberfläche des Aktions-Plugin //AKDB:EPayment PayPageURL bereitstellen//
470 +* Anpassung Aktions-Plugin //AKDB:EPayment initialisieren: //Einstellungen für den AKDB-Mandanten werden zur Laufzeit aus den Bundle-Properties bezogen, wenn nicht explizit konfiguriert
471 +* Internes Refactoring: Umstellung von ID auf UUID
472 +
473 +=== 2.0.8 ===
474 +
475 +* Anpassung für PDF Blanko-Druck: Absenden-Button und einzelne Bestellartikel-Definitionen werden standardmäßig aus dem Blanko-Druck entfernt.
476 +* Bestellen-Button um Auswahlmöglichkeit für Seitenvalidierung vor Beginn des EPayment-Prozesses erweitert
477 +
478 +=== 2.0.7 ===
479 +
480 +* Anpassungen für Zusammenspiel mit AKDB Bürgerkonto-Login bei Wiederanzeige
481 +* Einführung Transaktions-Logging um Recherche des jeweiligen Status eines Kassenzeichens durchführen zu können.
482 +* Fehlerbehebungen
483 +* internes Refactoring im Zusammenhang mit Einführung des Transaktions-Loggings
484 +
485 +=== 2.0.6 ===
486 +
487 +* Bereitstellung Widgets für {{designer/}}
488 +** Widget für Definition von Bestell-Artikeln mit Konfigurationsmöglichkeit von Beschreibung und Preis
489 +** Widget zum Absenden einer Bestellung
490 +* Template-Vorlagen für: Persönliche Daten, Bankverbindung, Rechnungsadresse, Lieferadresse
491 +* Umfangreiches Überarbeitung der bestehenden Logik und der Konfigurationsoberflächen der bereitgesteelten Aktions-Plugins
492 +
493 +=== 2.0.5 ===
494 +
495 +* Fehlerbehebung: Lauffähigkeit unter Java 11 sichergestellt
496 +
497 +=== 2.0.4 ===
498 +
499 +* Projekt um //Changelog//- und //Readme //- Datei ergänzt.
500 +
501 +=== 2.0.3 ===
502 +
503 +* Anpassung im Aktions-Plugin //AKDB:EPayment initialisieren//: Als Rückgabewert stehen jetzt die berechneten Gesamtkosten zur Verfügung (in vollen Cent)
504 +* Im Falle von Bestell-Gesamtkosten mit Summe "0" werden keine Transaktionsdaten übermittelt und damit keine unnötige Transaktion auf Seiten des ePay-BL Portals erzeugt.
505 +
506 +=== 2.0.2 ===
507 +
508 +* Anpassung im Pre-Renderer zum Verifizieren des PayPage Results
509 +
510 +=== 2.0.1 ===
511 +
512 +* Template-Vorlage für EPayment Rechnungsadresse hinzugefügt.
513 +
514 +=== 2.0.0 ===
515 +
516 +* Bereitstellung der Plugin-Logik für {{formcycle/}} {{version major="6"}}{{/version}}