Package org.kapott.hbci.GV
Dieses Package enthält alle Klassen zur internen Repräsentation von
(Highlevel-)Jobs. Die einzige Klasse, die als Schnittstelle zu HBCI-Jobs
innerhalb einer Anwendung benötigt wird, ist die Klasse
HBCIJob
.
Beim Festlegen von auszuführenden Jobs werden Highlevel-Jobs und Lowlevel-Jobs unterschieden. Diese Unterscheidung hat nichts mit der Art der Jobs an sich zu tun, sondern mit der Art und Weise, wie sie spezifiziert und parametrisiert werden können:
Alle von HBCI4Java unterstützten Jobs liegen in einer internen Beschreibungssprache vor (XML). Diese Sprache ist eng an die Beschreibung der Geschäftsvorfälle aus der HBCI-Spezifikation gekoppelt. In ihr ist jedem unterstützten Job ein Lowlevel-Jobname zugeordnet, der den Job eindeutig identifiziert. Zu jedem Job gibt es eine bestimmte Anzahl von Parametern, die zur Ausführung dieses Jobs benötigt werden (z.B. Kontoverbindungen, Geldbeträge, usw.). Jeder dieser Parameter hat dabei einen Lowlevel-Parameternamen. Dieser Lowlevel-Parametername stammt aus dem internen Beschreibungsformat des Jobs und ist teilweise sehr aufwändig zu schreiben (weil sehr lang) und schlecht zu merken (weil softwareorientiert).
Um die Arbeit mit häufig benutzten Jobs zu vereinfachen, wurden für die meisten Jobs Highlevel-Frontends entwickelt. Dabei handelt es sich HBCI4Java-intern um separate Klassen, die jeweils für bestimmte Lowlevel-Jobs zuständig sind. Die meisten Jobs können und sollten also über ihre Highlevel-Schnittstelle erzeugt und parametrisiert werden. Dazu gibt es für jeden Job, der durch die Highlevel-Schnittstelle unterstützt wird, einen Highlevel-Jobnamen. Außerdem gibt es für die benötigten Job-Parameter entsprechende Highlevel-Parameternamen. Diese sind zum einen kürzer als die Lowlevel-Parameternamen, außerdem sind sie intuitiver und leichter zu merken.
Beim Erzeugen von Jobs sollte also immer dem Highlevel-Interface der Vorzug gegeben werden,
sofern es für den jeweiligen Job eine solche Schnittstelle gibt. Die Jobs, für die eine
Highlevel-Schnittstelle existiert, sind unten aufgelistet. Prinzipiell kann natürlich jeder
Job auch über die Lowlevel-Schnittstelle erzeugt und ausgewertet werden. Eine Liste aller
Lowlevel-Jobs und deren Parameter erhält man mit den Tools
ShowLowlevelGVs bzw.
ShowLowlevelGVRs oder zur Laufzeit durch die
Verwendung der Methoden getLowlevel*
der
HBCIHandler
-Klasse. Da es zur
Zeit nicht für alle Lowlevel-Jobs entsprechende Klassen für die Highlevel-Unterstützung
gibt, sollten diese Methoden benutzt werden, um zu überprüfen, ob ein bestimmter
Job gar nicht oder nur nicht per Highlevel-Interface unterstützt wird.
Folgende Unterschiede existieren also zwischen High- und Lowlevel-Jobs:
Highlevel-Interface | Lowlevel-Interface | |
---|---|---|
Erzeugen des Jobs | HBCIHandler.newJob(HighlevelName) Eine Liste gültiger HighlevelNamen befindet sich in dieser Beschreibung weiter unten |
HBCIHandler.newLowlevelJob(LowlevelName) Eine Liste gültiger LowlevelNamen erhält man zur Laufzeit durch HBCIHandler.getSupportedLowlevelGVs() bzw. offline mit dem Tool
ShowLowlevelGVs . |
Setzen von Parametern | HBCIJob.setParam(HLparamName,...) Gültige Werte für HLparamName finden sich in der Job-Beschreibung weiter unten.
Es können auch komplexe Parameter gesetzt werden (siehe zum Beispiel
HBCIJob.setParam(String,Konto) ). |
HBCIJob.setParam(LLparamName,value) Eine Liste gültiger LLparamName n erhält man zur Laufzeit durch
HBCIHandler.getLowlevelGVParameters() bzw. offline mit dem Tool
ShowLowlevelGVs . |
Ergebnisdaten (HBCIJob.getJobResult() ) |
Klasse des zurückgegeben Objektes abhängig vom Job (siehe Beschreibung unten). Die Job-Rückgabedaten sind bereits anwendungsfreundlich aufbereitet | Klasse des zurückgegebenen Objektes ist immer HBCIJobResult . Darin
enthalten sind die "puren" Datenelement-Daten, wie sie aus der HBCI-Antwortnachricht
extrahiert wurden. Der Inhalt der einzelnen Datenelemte kann über bestimmte Namen
ermittelt werden
(HBCIHandler.getLowlevelResultProperties() bzw.
ShowLowlevelGVRs ). |
Beschreibung der unterstützten Highlevel-Jobs
Kundenmitteilung an die Bank
Dauerauftrag einrichten
Liste bestehender Daueraufträge abholen
Bestehenden Dauerauftrag bearbeiten
Bestehenden Dauerauftrag löschen
Einzelüberweisung
Umbuchung
Einzelüberweisung mit prüfziffergesichertem Verwendungszweck (BZÜ)
Eilüberweisung
Spendenüberweisung
Auslandsüberweisung
SEPA-Einzelüberweisung
Terminierte Einzelüberweisung
Liste noch anstehender terminierten Überweisungen abholen
Noch anstehende terminierte Überweisung verändern
Noch anstehende terminierte Überweisung löschen
Sammelüberweisung einreichen
Sammellastschrift einreichen
Einzellastschrift einreichen
Lastschriftwiderruf
Kontoumsätze anzeigen
Neue Kontoumsätze anzeigen
Saldoabfrage eines Kontos
Saldenabfrage aller Kundenkonten
Saldenabfrage eines SEPA-Kontos
Festgeldkonditionen abholen
Liste bestehender Festgeldanlagen abholen
Liste aller bestehender Festgeldanlagen abholen
Kontostammdaten abholen
Karten-Informationen abholen
Übersicht über Kreditinstitutsinformationen abholen
Bestellen bzw. Abholen von Kreditinstitutsinformationen
Statusinformationen zu Geschäftsvorfällen abholen
Abholen von Informationen über TAN-Listen
Ändern der PIN für HBCI-PIN/TAN
Kundenmitteilung an die Bank
Mit diesem Geschäftsvorfall kann ein Bankkunde eine Nachricht an seine Bank versenden. Der Inhalt dieser Nachricht hat keinen Auftragscharakter.
Highlevel-Name | CustomMsg | |||
Highlevel-Parameter | ||||
msg | String | obligatorisch | die zu übermittelnde Nachricht | |
my | Konto | optional | Kontoverbindung des Bankkunden | |
curr | String | optional | Währung des Kundenkontos ("EUR ") | |
betreff | String | optional | Betreff der Nachricht | |
recpt | String | optional | Empfänger der Nachricht (z.B. ein bestimmter Ansprechpartner) | |
Rückgabedaten-Klasse | HBCIJobResult |
Dauerauftrag einrichten
Mit diesem Geschäftsvorfall kann ein neuer Dauerauftrag eingerichtet werden.
Highlevel-Name | DauerNew | |||
Highlevel-Parameter | ||||
src | Konto | obligatorisch | das Konto, welches bei dem Dauerauftrag belastet wird (Kundenkonto) | |
dst | Konto | obligatorisch | das auf welches die Gutschrift erfolgt (fremdes Konto) | |
btg | Value | obligatorisch | Geldbetrag, der bei dem Dauerauftrag überwiesen wird. | |
name | String | obligatorisch | Name des Empfängers ("Begünstigter"). | |
name2 | String | optional | Fortsetzung Name des Empfängers ("Begünstigter"). | |
firstdate | Date | obligatorisch | Datum der ersten Ausführung des Dauerauftrages. | |
lastdate | Date | optional | Datum der letzten Ausführung des Dauerauftrages. | |
timeunit | String | obligatorisch | Zeiteinheit für den Turnus-Wert. Entweder "M " für Monat oder "W " für Woche. | |
turnus | int | obligatorisch | Dieser Wert gibt an, aller wieviel "timeunit "s der Dauerauftrag ausgeführt werden soll. | |
execday | int | obligatorisch | Dieser Wert gibt bei timeunit=M den Tag des Monats (1-31) und bei timeunit=W den Wochentag (1-7) der Ausführung an. Gültige Werte sind den Job-Restriktionen zu entnehmen. | |
usage, | String | optional | Verwendungszweckzeilen | |
key | String | optional | Textschlüssel für Art der Überweisung (default="52 "). | |
Rückgabedaten-Klasse | GVRDauerNew |
Liste bestehender Daueraufträge abholen
Mit diesem Geschäftsvorfall kann eine Übersicht der bestehenden Daueraufträge abgeholt werden.
Highlevel-Name | DauerList | |||
Highlevel-Parameter | ||||
my | Konto | optional | das Kundenkonto, für welches der Dauerauftragsbestand abgeholt werden soll. Ist kein Konto angegeben, so wird das erste in den UPD aufgeführte Konto benutzt. | |
orderid | String | optional | Auftrags-Identifikationsnummer für einen bestimmten Auftrag, dessen Daten abgeholt werden sollen. | |
Rückgabedaten-Klasse | GVRDauerList |
Bestehenden Dauerauftrag bearbeiten
Mit diesem Geschäftsvorfall kann ein bestehender Dauerauftrag verändert werden. Dazu muss
die orderid
des zu ändernden Auftrages bekannt sein. Zur Ermittlung und
Verwendung von Order-IDs siehe entsprechenden Abschnitt in der Beschreibung zur
Löschung terminierter Überweisungen
.
Es müssen nur die Job-Parameter angegeben werden, die tatsächlich verändert werden
sollen, die Angabe aller anderen Job-Parameter ist optional.
Aus den Job-Restriktionen kann ermittelt werden, welche Parameter überhaupt geändert werden dürfen.
Highlevel-Name | DauerEdit | ||||
Highlevel-Parameter | sämtliche Parameter wie bei DauerNew , allerdings alle optional; außerdem: | ||||
orderid | String | obligatorisch | Auftrags-Identifikationsnummer für den zu bearbeitenden Auftrag | ||
date | Date | optional | Datum, ab wann der Auftrag geändert werden soll | ||
Rückgabedaten-Klasse | GVRDauerEdit |
Bestehenden Dauerauftrag löschen
Mit diesem Geschäftsvorfall kann ein bestehender Dauerauftrag gelöscht werden. Für die Angabe, welcher Dauerauftrag gelöscht werden soll, gibt es prinzipiell zwei Möglichkeiten:
- Wenn die Bank keine Order-IDs (Auftrags-Identifikationsnummern) unterstützt,
dann müssen für die Identifikation des "richtigen" Dauerauftrages alle
Dauerauftrags-Parameter angegeben werden, die auch beim Einrichten des
Dauerauftrages verwendet wurden (siehe
Dauerauftrag einrichten
). - Unterstützt die Bank Order-IDs, gibt es wiederum zwei Möglichkeiten:
- Es werden alle Parameter wie beim Erzeugen des Dauerauftrages und zusätzlich die Order-ID angegeben.
- Es genügt die Angabe der Order-ID. Dazu muss allerdings vor dem Erzeugen
des Jobs "
Dauerauftrag löschen
" die Liste der existierenden Daueraufträge abgeholt werden (sieheListe bestehender Daueraufträge abholen
), damit HBCI4Java die verwendete Order-ID kennt und die restlichen Auftrags-Parameter "selbst ausfüllen" kann.
Siehe dazu auch den entsprechenden Abschnitt in der Beschreibung zur
Löschung terminierter Überweisungen
Highlevel-Name | DauerDel | ||||
Highlevel-Parameter | sämtliche Parameter wie bei DauerNew , allerdings alle optional; außerdem: | ||||
orderid | String | optional | Auftrags-Identifikationsnummer für den zu löschenden Auftrag | ||
date | Date | optional | Datum, wann der Auftrag gelöscht werden soll | ||
Rückgabedaten-Klasse | HBCIJobResult |
Einzelüberweisung
Mit diesem Geschäftsvorfall wird eine einzelne Überweisung in Auftrag gegeben.
Highlevel-Name | Ueb | |||
Highlevel-Parameter | ||||
src | Konto | obligatorisch | Belastungskonto des Kunden | |
dst | Konto | obligatorisch | Konto, auf dem der Betrag gutgeschrieben werden soll | |
btg | Value | obligatorisch | Geldbetrag, der überwiesen werden soll. | |
name | String | obligatorisch | Name des Empfängers ("Begünstigter"). | |
name2 | String | optional | Fortsetzung Name des Empfängers ("Begünstigter"). | |
usage, | String | optional | Verwendungszweckzeilen | |
key | String | optional | Textschlüssel für Transaktionsart (default="51 "). | |
Rückgabedaten-Klasse | HBCIJobResult |
Umbuchung
Eine Umbuchung entspricht im wesentlichen einer Überweisung, wird aber von einigen Kreditinstituten intern anders ausgeführt. Voraussetzung für das Verwenden von Umbuchungen anstelle von "normalen" Überweisungen ist, dass das Empfängerkonto bei der gleichen Bank wie das Auftraggeberkonto geführt wird und ebenfalls dem Auftraggeber gehört. Mit diesem Geschäftsvorfall kann also eine Überweisung zwischen zwei eigenen Konten bei der gleichen Bank durchgeführt werden.
Highlevel-Name | Umb | ||||
Highlevel-Parameter | wie bei Einzelüberweisung | ||||
Rückgabedaten-Klasse | HBCIJobResult |
Einzelüberweisung mit prüfziffergesichertem Verwendungszweck (BZÜ)
Mit diesem Geschäftsvorfall wird eine einzelne Überweisung in Auftrag gegeben. Dabei enthält die erste Zeile des Verwendungszweckes einen 13-stelligen String, wovon 12 Ziffern tatsächlich Nutzdaten sind, die 13.Ziffer ist eine Prüfziffer über die restlichen 12. Beim Anlegen eines solchen Geschäftsvorfalles wird automatisch überprüft, ob die 13-stellige Ziffernfolge konsistent ist.
Highlevel-Name | UebBZU | ||||
Highlevel-Parameter | wie bei Einzelüberweisung, aber ohne die erste Verwendungszweckzeile (usage ), dafür: | ||||
bzudata | String | obligatorisch | 13-stellige Zeichenkette (enthält Prüfziffer). | ||
key | String | optional | Textschlüssel für Transaktionsart (default="67 "). | ||
Rückgabedaten-Klasse | HBCIJobResult |
Eilüberweisung
Eine Eilüberweisung funktioniert analog einer "normalen" Überweisung, wird aber u.U. schneller bearbeitet (die genauen bankfachlichen Hintergründe sind hier nicht relevant).
Highlevel-Name | UebEil | ||||
Highlevel-Parameter | wie bei Einzelüberweisung | ||||
Rückgabedaten-Klasse | HBCIJobResult |
Spendenüberweisung
Dabei handelt es sich im Prinzip um eine normale Einzelüberweisung. Einziger Unterschied ist ein bankintern anders gesetzter Textschlüssel für den Überweisungstyp. Wo dieser Textschlüssel konkret ausgewertet wird, weiß ich leider auch nicht.
Highlevel-Name | Donation | ||||
Highlevel-Parameter | wie bei Einzelüberweisung , allerdings ohne die Verwendungszweckzeilen; statt dessen: | ||||
spenderid | String | obligatorisch | Name des Spenders oder Kunden-/Mitgliedsnummer | ||
plz_street | String | obligatorisch | PLZ und Straße des Spenders | ||
name_ort | String | obligatorisch | Name und Ort des Einzahlers | ||
key | String | optional | Textschlüssel für Transaktionsart (default="69 "). | ||
Rückgabedaten-Klasse | HBCIJobResult |
Auslandsüberweisung
Mit diesem Geschäftsvorfall kann eine einfache Auslandsüberweisung in Auftrag gegeben werden. Darunter fallen alle Überweisungen in die meisten europäischen Länder, bei denen der zu überweisende Geldbetrag die gesetzliche Meldepflicht (zur Zeit 12500 EUR) nicht übersteigt.
Highlevel-Name | UebForeign | |||
Highlevel-Parameter | ||||
src | Konto | obligatorisch | Belastungskonto des Kunden | |
src.name | String | obligatorisch | Name des Auftraggebers | |
dst | Konto | optional | Konto, auf dem der Betrag gutgeschrieben werden soll. Es ist entweder dieser Parameter oder die IBAN anzugeben. | |
dst.iban | String | optional | Alternativ zur Kontoverbindung des Empfängers kann die IBAN des Zielkontos angegeben werden. Es muss genau einer der beiden Parameter angegeben werden. | |
dst.name | String | obligatorisch | Name des Empfängers ("Begünstigter"). | |
dst.kiname | String | obligatorisch | Vollständiger Name der Zielbank. | |
btg | Value | obligatorisch | Geldbetrag, der überwiesen werden soll. | |
usage | String | optional | Verwendungszweck | |
Rückgabedaten-Klasse | HBCIJobResult |
SEPA-Einzelüberweisung
Dabei handelt es sich um eine Überweisung nach dem SEPA-Standard (ein Projekt, bei dem ein europaweit einheitlicher Zahlungsraum angestrebt wird). Solche Überweisungen können als Ziel sowohl in- als auch ausländische Konten haben. Die normale Kombination von Kontonummer/BLZ wird ersetzt durch die weltweit eindeutige IBAN (entspricht Konto-Identifikation) und BIC (Bankkennung). Derzeit (2009) werden SEPA-Geschäftsvorfälle nicht von allen Banken unterstützt.
Highlevel-Name | UebSEPA | |||
Highlevel-Parameter | ||||
src | Konto | obligatorisch | Belastungskonto des Kunden. Entscheidend sind gesetzte Werte
für bic , iban und name | |
dst | Konto | obligatorisch | Konto, auf dem der Betrag gutgeschrieben werden soll. Entscheidend sind auch hier gesetzte Werte
für bic , iban und name | |
btg | Value | obligatorisch | Geldbetrag, der überwiesen werden soll. Die Währung muss immer EUR sein | |
usage | String | optional | Verwendungszweck (max. 140 Zeichen) | |
Rückgabedaten-Klasse | HBCIJobResult |
Terminierte Einzelüberweisung
Dabei handelt es sich um eine Einzelüberweisung, bei der zusätzlich das Datum angegeben wird, zu dem diese Überweisung ausgeführt werden soll. Das Datum darf in der Regel nicht zu nah in der Zukunft liegen (meist mind. 2 Tage) und muss ein Werktag sein. Die Mindestvorlaufzeit zur Einreichung einer terminierten Überweisung ist aus den Job-Restriktionen zu erfahren.
Highlevel-Name | TermUeb | ||||
Highlevel-Parameter | wie bei Einzelüberweisung , zusätzlich: | ||||
date | Date | obligatorisch | Datum der geplanten Ausführung der Überweisung | ||
Rückgabedaten-Klasse | GVRTermUeb |
Liste noch anstehender terminierten Überweisungen abholen
Mit diesem Geschäftsvorfall kann eine Liste aller noch anstehenden terminierten Überweisungen abgeholt werden.
Highlevel-Name | TermUebList | |||
Highlevel-Parameter | ||||
my | Konto | optional | Kundenkonto, für das die Liste abgeholt werden soll; ist kein Konto angegeben, so wird das erste Konto aus den UPD verwendet. | |
startdate | Date | optional | nur Aufträge abholen, die an oder nach diesem Datum ausgeführt werden sollen | |
enddate | Date | optional | nur Aufträge abholen, die an oder vor diesem Datum ausgeführt werden sollen | |
Rückgabedaten-Klasse | GVRTermUebList |
Noch anstehende terminierte Überweisung verändern
Mit diesem Geschäftsvorfall kann eine noch nicht ausgeführte terminierte Überweisung verändert
werden. Aus den Job-Restriktionen ist ersichtlich, ob das überhaupt möglich ist und wenn ja, welche
Parameter verändert werden dürfen. Für diesen Geschäftsvorfall wird die Auftrags-Identifikationsnummer (orderid
)
des zu bearbeitenden Auftrages benötigt.
Es müssen nur die Parameter angegeben werden, die tatsächlich geändert werden sollen.
Alle anderen Job-Parameter müssen nicht mit angegeben werden (sie werden automatisch
anhand der Order-ID ermittelt). Zur Benutzung von Order-IDs siehe entsprechenden Abschnitt
in der Beschreibung zu Löschen einer terminierten Überweisung
.
Highlevel-Name | TermUebEdit | ||||
Highlevel-Parameter | wie bei Terminierte Überweisung , jedoch alles optional; zusätzlich: | ||||
orderid | String | obligatorisch | Die Auftragsidentifikationsnummer des zu bearbeitenden Auftrages. | ||
Rückgabedaten-Klasse | GVRTermUebEdit |
Noch anstehende terminierte Überweisung löschen
Mit diesem Geschäftsvorfall kann eine noch nicht ausgeführte terminierte Überweisung gelöscht werden. Für diesen Geschäftsvorfall wird nur die Order-ID eines terminierten Überweisungsauftrages benötigt.
Order-IDs werden bei den Geschäftsvorfällen Einrichten einer terminierten Überweisung
,
Ändern einer terminierten Überweisung
sowie Abrufen des Bestandes terminierter
Überweisungen
zurückgegeben. Auch wenn die entsprechenden Order-IDs bereits offline bekannt sind
(z.B. aus früheren HBCI-Dialogen), so muss erst ein Auftrag ausgeführt werden, der die Order-ID
für den zu löschenden Auftrag tatsächlich zurückgibt (also in der Regel ein Abrufen des Bestandes...
).
Der Grund ist der, dass HBCI4Java zusätzlich benötigte Auftragsdaten intern
zwischenspeichert und gegebenenfalls benutzt. Diese Zwischenspeicherung ist aber an
ein konkretes HBCIPassport
-Objekt gebunden, weshalb die Verwendung von
Order-IDs, welche nicht zur Laufzeit erzeugt wurden, zu einer Exception führt.
Highlevel-Name | TermUebDel | |||
Highlevel-Parameter | ||||
orderid | String | obligatorisch | Die Auftragsidentifikationsnummer des zu löschenden Auftrages. | |
Rückgabedaten-Klasse | HBCIJobResult |
Sammelüberweisung einreichen
Mit diesem Geschäftsvorfall kann ein Sammelüberweisungsauftrag eingereicht werden. Die Daten müssen dabei bereits im DTAUS-Format vorliegen. Für die Erzeugung von DTAUS-Datensätzen kann die Klasse DTAUS benutzt werden.
Highlevel-Name | MultiUeb | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Kontoverbindung des Auftraggebers | |
data | String | obligatorisch | DTAUS-Daten mit den Überweisungsinformationen | |
Rückgabedaten-Klasse | HBCIJobResult |
Sammellastschrift einreichen
Mit diesem Geschäftsvorfall kann ein Sammellastschriftauftrag eingereicht werden. Die Daten müssen dazu bereits im DTAUS-Format vorliegen. Für die Erzeugung von DTAUS-Datensätzen kann die Klasse DTAUS benutzt werden.
Highlevel-Name | MultiLast | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Kontoverbindung des Auftraggebers | |
data | String | obligatorisch | DTAUS-Daten mit den Überweisungsinformationen | |
Rückgabedaten-Klasse | HBCIJobResult |
Einzellastschrift einreichen
Mit diesem Geschäftsvorfall wird ein einzelner Auftrag zum Lastschrifteinzug eingereicht.
Highlevel-Name | Last | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Konto des Bankkunden | |
other | Konto | obligatorisch | Konto, welches mit dem Betrag belastet werden soll | |
btg | Value | obligatorisch | Geldbetrag, der eingezogen werden soll. | |
name | String | obligatorisch | Name des Zahlungspflichtigen | |
name2 | String | optional | Fortsetzung Name des Zahlungspflichtigen. | |
type | String | optional | Typ der Lastschrift. Defaultmäßig wird hier "05" verwendet, es ist auch der Code "04" zulässig. | |
usage, | String | optional | Verwendungszweckzeilen | |
Rückgabedaten-Klasse | HBCIJobResult |
Lastschriftwiderruf
Damit kann eine Lastschrift, mit der das eigene Konto belastet wurde, "zurückgegeben" werden.
Highlevel-Name | StornoLast | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Konto des Bankkunden | |
other | Konto | obligatorisch | Gegenkonto, dem die ursprüngliche Lastschrift gutgeschrieben wurde | |
btg | Value | obligatorisch | Betrag der ursprünglichen Lastschrift | |
date | Date | obligatorisch | Datum des ursprünglichen Lastschriftauftrages | |
name | String | obligatorisch | Name des Auftraggebers der ursprünglichen Lastschrift | |
name2 | String | optional | Fortsetzung Name des Auftraggebers. | |
primanota | String | optional | Primanota-Nummer der ursprünglichen Lastschrift | |
Rückgabedaten-Klasse | HBCIJobResult |
Kontoumsätze anzeigen
Mit diesem Geschäftsvorfall kann eine Übersicht über die Kontoumsatzdaten eines Kontos abgeholt werden.
Highlevel-Name | KUmsAll | |||
Highlevel-Parameter | ||||
my | Konto | optional | Das Konto, für das Umsatzinformationen abgeholt werden sollen. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet. | |
startdate | Date | optional | Nur Umsatzdaten abholen, die an oder nach diesem Datum gebucht wurden | |
enddate | Date | optional | Nur Umsatzdaten abholen, die an oder vor diesem Datum gebucht wurden | |
Rückgabedaten-Klasse | GVRKUms |
Neue Kontoumsätze anzeigen
Mit diesem Geschäftsvorfall kann eine Übersicht über die Kontoumsatzdaten eines Kontos abgeholt werden. Dabei werden nur die Umsatzdaten zurückgegeben, die seit dem letzten Aufruf dieses Geschäftsvorfalles neu hinzugekommen sind.
Highlevel-Name | KUmsNew | |||
Highlevel-Parameter | ||||
my | Konto | optional | Das Konto, für das Umsatzinformationen abgeholt werden sollen. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet. | |
Rückgabedaten-Klasse | GVRKUms |
Saldoabfrage eines Kontos
Mit diesem Geschäftsvorfall wird der Saldo eines Kundenkontos abgefragt.
Highlevel-Name | SaldoReq | |||
Highlevel-Parameter | ||||
my | Konto | optional | Das Konto, für das der Saldo ermittelt werden soll. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet. | |
Rückgabedaten-Klasse | GVRSaldoReq |
Saldenabfrage aller Kundenkonten
Mit diesem Geschäftsvorfall werden die Salden aller Kundenkonten abgefragt.
Highlevel-Name | SaldoReqAll | |||
Highlevel-Parameter | ||||
my | Konto | optional | Ein Kundenkonto. Wird hier kein Konto angegeben, so wird das erste Konto aus den UPD verwendet. | |
Rückgabedaten-Klasse | GVRSaldoReq |
Saldoabfrage eines SEPA-Kontos
Mit diesem Geschäftsvorfall kann der Saldo eines SEPA-fähigen Kontos abgefragt werden.
Highlevel-Name | SaldoReqSEPA | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Das Konto, für das der Saldo ermittelt werden soll. Bei diesem Konto müssen mindestens BIC und IBAN gesetzt sein, abhängig von der Bank evtl. zusätzlich auch die Kontowährung. | |
Rückgabedaten-Klasse | GVRSaldoReq |
Festgeldkonditionen abholen
Mit diesem Geschäftsvorfall können die aktuell gültigen Konditionen für Festgeldanlagen vom Kreditinstitut abgeholt werden.
Highlevel-Name | FestCondList | |||
Highlevel-Parameter | ||||
curr | String | obligatorisch | Die Währung, in der die Festgeldanlagen geführt werden sollen ("EUR"). | |
Rückgabedaten-Klasse | GVRFestCondList |
Liste bestehender Festgeldanlagen abholen
Mit diesem Geschäftsvorfall kann eine Übersicht über bestehende Festgeldanlagen zu einem bestimmten Anlagekonto abgeholt werden.
Highlevel-Name | FestList | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Festgeld-Anlagekonto, für dessen Festgeldanlagen Informationen abgeholt werden sollen. | |
Rückgabedaten-Klasse | GVRFestList |
Liste aller bestehender Festgeldanlagen abholen
Mit diesem Geschäftsvorfall kann eine Übersicht über alle bestehende Festgeldanlagen abgeholt werden.
Highlevel-Name | FestListAll | |||
Highlevel-Parameter | ||||
my | Konto | optional | Kontoverbindung eines existierenden Anlagekontos oder eines "normalen" Kontos. | |
Rückgabedaten-Klasse | GVRFestList |
Kontostammdaten abholen
Dieser Geschäftsvorfall ermöglicht das Abholen von Kontostammdaten. Er ist erst ab HBCI 2.2 spezifiziert, wird aber unter Umständen von einigen Banken bereits in früheren HBCI-Versionen angeboten.
Highlevel-Name | AccInfo | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Kontoverbindung, für die Stammdaten ermittelt werden sollen. | |
all | J oder N | optional | J, wenn für alle verfügbaren Konten die Daten abgeholt werden sollen, sonst N (default) | |
Rückgabedaten-Klasse | GVRAccInfo |
Karteninformationen abholen
Dieser Geschäftsvorfall ermöglicht es, Informationen zu den von der Bank ausgegebenen Karten abzuholen. Das wird u.U. benötigt, wenn eine Karte nach Verlust gesperrt werden soll, die dafür notwendigen Kartendaten aber nicht mehr bekannt sind. Dieser Geschäftsvorfall ist erst ab HBCI 2.2 spezifiziert, wird aber unter Umständen von einigen Banken bereits in früheren HBCI-Versionen angeboten.
Highlevel-Name | CardList | |||
Highlevel-Parameter | ||||
my | Konto | obligatorisch | Kontoverbindung des Karteninhabers | |
Rückgabedaten-Klasse | GVRCardList |
Übersicht über Kreditinstitutsinformationen abholen
Mit diesem Geschäftsvorfall kann eine Übersicht über die vom Kreditinstitut bereitgestellten Informationen abgeholt werden. Mit einem weiteren Geschäftsvorfall können dann die Informationen selbst bestellt bzw. abgeholt werden.
Highlevel-Name | InfoList | |
Highlevel-Parameter | ||
Rückgabedaten-Klasse | GVRInfoList |
Bestellen bzw. Abholen von Kreditinstitutsinformationen
Mit diesem Geschäftsvorfall können bestimmte Kreditinstitutsinformationen angefordert werden.
Die dafür benötigten Codes für die jeweiligen Informationen können mit dem Geschäftsvorfall
InfoList
ermittelt werden. Werden Freitextinformationen
angefordert, so werden diese direkt in der Antwortnachricht übermittelt, ansonsten wird durch
diesen Geschäftsvorfall eine Bestellung der Informationen ausgelöst, die dann anderweitig
zugestellt werden (per Post).
Highlevel-Name | InfoOrder | |||
Highlevel-Parameter | ||||
code, | String | obligatorisch | Es muss mindestens einer der Informationscodes aus dem GV "InfoList " angegeben werden. | |
name | String | optional | Name des Kunden, wird für die schriftliche Zustellung benötigt (wie auch alle folgenden Parameter) | |
name2 | String | optional | Fortsetzung Name des Kunden | |
street | String | optional | Strasse der Lieferanschrift | |
ort | String | optional | Ort der Lieferanschrift | |
plz | String | optional | PLZ der Lieferanschrift | |
country | String | optional | Ländercode der Lieferanschrift ("DE") | |
tel | String | optional | Telefonnumer für Rückfragen | |
fax | String | optional | Telefaxnummer des Kunden | |
email | String | optional | Email-Adresse des Kunden | |
Rückgabedaten-Klasse | GVRInfoOrder |
Statusinformationen zu Geschäftsvorfällen abholen
Mit diesem Geschäftsvorfall können zu allen bisher via HBCI eingereichten Aufträgen Statusinformationen abgeholt werden. Diese enthalten i.d.R. den Returncode, den das Einreichen des entsprechenden Auftrages erzeugt hat, bzw. eine Information über den gegenwärtigen Status der Verarbeitung.
Nach dem Ausführen eines beliebigen Geschäftsvorfalles gibt die Methode
HBCIJob.getJobResult().getJobId()
eine ID zurück,
die diesen Job eindeutig kennzeichnet. Diese ID kann dann zur Identifikation der entsprechenden
Status-Daten aus dem Status-Protokoll benutzt werden (siehe dazu die Dokumentation der Klasse
GVRStatus
).
Highlevel-Name | Status | |||
Highlevel-Parameter | ||||
startdate | Date | optional | Nur Statusprotokolleinträge zurückgebenm die an oder nach diesem Datum erzeugt wurden | |
enddate | Date | optional | Nur Statusprotokolleinträge zurückgebenm die an oder vor diesem Datum erzeugt wurden | |
jobid | String | optional | alternativ zu den beiden Date -Parametern kann eine Job-Id angegeben werden, für die Statusinformationen benötigt werden. Es werden dann intern automatisch die richtigen Parameterwerte für startdate und enddate erzeugt und gesetzt. | |
Rückgabedaten-Klasse | GVRStatus |
Abholen von Informationen über TAN-Listen
Dieser Geschäftsvorfall macht nur bei Verwendung von PIN/TAN-Passports Sinn. Damit können Informationen zu aktuellen TAN-Listen abgeholt werden. Mit diesem Geschäftsvorfall können keine neuen TAN-Listen bestellt werden, es ist auch nicht möglich, mit diesem Geschäftsvorfall die Menge der noch nicht verbrauchten TANs zu ermitteln.
Highlevel-Name | TANList | |
Highlevel-Parameter | ||
Rückgabedaten-Klasse | GVRTANList |
Ändern der PIN für HBCI-PIN/TAN
Dieser Geschäftsvorfall macht nur bei Verwendung von PIN/TAN-Passports Sinn. Damit
kann die aktuelle PIN für HBCI-PIN/TAN auf einen neuen Wert geändert werden.
Aus Sicherheitsgründen wird die neue PIN nicht automatisch verwendet. Das heißt, sobald
dieser GV erfolgreich bei der Bank eingereicht wurde und das OK empfangen wurde,
muss für die nachfolgende Nachricht (Dialog-Ende) die neue PIN explizit eingegeben
werden.
Highlevel-Name | ChangePIN | |||
Highlevel-Parameter | ||||
newpin | String | Die neue PIN. | ||
Rückgabedaten-Klasse | HBCIJobResult |
-
Interface Summary Interface Description HBCIJob Schnittstelle für alle Aufträge, die via HBCI ausgeführt werden sollen. -
Class Summary Class Description AbstractGVLastSEPA Abstrakte Basisklasse fuer die terminierten SEPA-Lastschriften.AbstractMultiGV AbstractSEPAGV Abstrakte Basis-Klasse fuer JAXB-basierte SEPA-Jobs.GVAccInfo GVCardList GVChangePIN GVCustomMsg GVDauerDel GVDauerEdit GVDauerLastSEPAList Geschaeftsvorfall zum Abrufen der Liste der SEPA-Dauerlastschriften.GVDauerLastSEPANew Geschaeftsvorfall zum Anlegen eines neuen SEPA-Dauerlastschriftauftrages.GVDauerList GVDauerNew GVDauerSEPADel Geschaeftsvorfall zum Loeschen von SEPA-Dauerauftraegen.GVDauerSEPAEdit Geschaeftsvorfall zum Bearbeiten eines SEPA-Dauerauftrages.GVDauerSEPAList Geschaeftsvorfall zum Abrufen der Liste der SEPA-Dauerauftraege.GVDauerSEPANew Geschaeftsvorfall zum Anlegen eines neuen SEPA-Dauerauftrages.GVDonation GVFestCondList GVFestList GVFestListAll GVInfoList GVInfoOrder GVInstUebSEPA Job-Implementierung fuer SEPA-Instant Ueberweisungen.GVKontoauszug Implementierung des Geschaeftsvorfalls fuer den elektronischen Kontoauszug (HKEKA)GVKontoauszugPdf Implementierung des Geschaeftsvorfalls fuer den elektronischen Kontoauszug (HKEKP) im PDF-FormatGVKUmsAll Implementierung des Geschaeftsvorfalls zum Abruf von Umsaetzen mit Angabe des Zeitraums (HKKAZ).GVKUmsAllCamt Implementierung des Geschaeftsvorfalls zum Abruf von Umsaetzen mit Angabe des Zeitraums im CAMT-Format (HKCAZ).GVKUmsNew Implementierung des Geschaeftsvorfalls zum Abruf von neuen Umsaetzen (HKKAN).GVKUmsZeitSEPA Umsatzabfrage eines SEPA-KontosGVLast GVLastB2BSEPA Implementierung des HBCI-Jobs fuer die SEPA-B2B-Lastschrift.GVLastCOR1SEPA Implementierung des HBCI-Jobs fuer die SEPA-COR1-Lastschrift.GVLastSEPA Implementierung des HBCI-Jobs fuer die SEPA-Basis-Lastschrift.GVMultiLast GVMultiLastB2BSEPA Implementierung des HBCI-Jobs fuer die SEPA-B2B-Multi-Lastschrift.GVMultiLastCOR1SEPA Implementierung des HBCI-Jobs fuer die SEPA-COR1-Multi-Lastschrift.GVMultiLastSEPA Implementierung des HBCI-Jobs fuer die SEPA-Basis-Multi-Lastschrift.GVMultiUeb GVMultiUebSEPA Job-Implementierung fuer SEPA-Multi-Ueberweisungen.GVReceipt Geschaeftsvorfall fuer das Senden der Empfangsquittung mittels HKQTG.GVSaldoReq GVSaldoReqAll GVSEPAInfo GVStatus GVStornoLast GVTAN2Step GVTANList GVTANMediaList GVTemplate GVTermMultiUebSEPA Job-Implementierung fuer terminierte SEPA-Sammelueberweisungen.GVTermUeb GVTermUebDel GVTermUebEdit GVTermUebList GVTermUebSEPA Job-Implementierung fuer SEPA-Ueberweisungen.GVTermUebSEPADel Implementierung des HBCI-Jobs fuer die Löschung einer SEPA-Terminüberweisung.GVTermUebSEPAEdit Geschaeftsvorfall zum Bearbeiten einer SEPA-Termin-Ueberweisung.GVTermUebSEPAList GVUeb GVUebBZU GVUebEil GVUebForeign GVUebGar GVUebSEPA Job-Implementierung fuer SEPA-Ueberweisungen.GVUmb GVUmbSEPA Job-Implementierung fuer SEPA-Umbuchungen.GVWPDepotList GVWPDepotUms HBCIJobImpl SepaUtil Ein paar statische Hilfs-Methoden fuer die Generierung der SEPA-Nachrichten.