Subsembly FinTS API Release Notes
Unterstützung für Eilzahlungen (HKCSU und HKCMU) hinzugefügt (FinSepaUrgntPaymtBuilder und FinSepaMultUrgntPaymtBuilder).
Unterstützung für Kontoinformationen (HKKIF) hinzugefügt (FinAcctDetailsBuilder, FinAcctDetailsOrder und FinAcctDetails). Wird nur von Finanz Informatik und Atruvia angeboten.
Unterstützung für den Abruf von Freistellungsdaten (HKFRD) hinzugefügt (FinTaxExemptionListBuilder, FinTaxExemptionListOrder und FinTaxExemption).
Unterstützung für Zeitversetzte, dialogübergreifende Eingabe von Mehrfach-Sicherheitsfreigaben bei Prozessvariante 2 implementiert. Die Zeitversetzte Freigabe wird durch die neue Methode FinBanking.ConfirmOrder() gestartet.
Eigenschaft FinOrder.TanOrderRef hinzugefügt. Über diese Eigenschaft erhält eine Anwendung Zugriff auf die im 2-Schritt-TAN-Verfahren verwendete TAN Auftragsreferenz (siehe FinTanInfo.OrderRef).
Version 10.4.0.8902
FinSepaInstPaymt enthält nun eine zusätzliche Eigenschaft MustQueryStatus.
BREAKING: FinSepaInstPaymtStatusBuilder ist jetzt eine abstrakte Basisklasse von FinSepaMultInstPaymtStatusBuilder und dem neuen FinSepaSingInstPaymtStatusBuilder. Über die Basisklasse gibt es nun eine zusätzlichen Build Methode, welche als Parameter den ursprünglichen FinSepaInstPaymt Auftrag, für welchen der Status abgefragt werden soll, benötigt. Das Ergebnis der Statusabfrage wird dann automatisch auch im übergebenen Originalauftrag gesetzt.
FinScriptSendOrder ruft bei Echtzeitüberweisungen nun vollautomatisch den Ausführungsstatus ab, sofern dies durch das Banksystem erforderlich ist (Deutsche Bank und alle Ihre Töchter und Marken).
Enthält nun die Subsembly SEPA API Version 9.2.0.8902.
Enthält den aktualisierten FinBanks Datenbestand vom 14.05.2024.
Version 10.3.2.8679
Unterstützung für Auslandsüberweisungen nach ISO 20022, Segmentart HKAUP, durch neue Klasse FinSepaIntRemittBuilder implementiert.
Unterstützung für FinTS Geschäftsvorfall HKECA "Kontoauszug camt anfordern" durch neue Klasse FinAcctStmtCamtBuilder implementiert.
Version 10.3.1.8536
Beispiel FinCmdUI zur ZIP-Datei hinzugefügt.
Die FinScript Basisklasse hat nun eine zusätzliche Result Eigenschaft, aus der das letzte Ergebnis nach Script-Ausführung gelesen werden kann.
In FinCommServiceTcp wurde das Timeout von 30 auf 60 Sekunden erhöht.
Version 10.3.0.8502
Unterstützung für terminierte Echtzeit-Sammelüberweisungen HKIPE mit der Klasse FinSepaPostdatedMultInstPaymtBuilder implementiert.
Unterstützung für SEPA-Instant Payment Sammelzahlung Status HKISS mit der Klasse FinSepaMultInstPaymtStatusBuilder implementiert.
Unterstützung der PSD2 Management Geschäftsvorfälle zur Verwaltung der Empfänger Whitelist mit verschiedenen FinWhitelistXxx Klassen implementiert.
Unterstützung für Aufträge HKPOF und HKKAA zum Abrufen des elektronischen Postfachs mit verschiedenen FinMailXxx Klassen implementiert.
Unterstützung für die "Willenserklärung des Kunden" via HKWEK mit der Klasse FinConsentDeclarationBuilder.
Unterstützung der RDH/RAH Schlüsselsperrung vis FinBanking.KeyBlockDialog und FinDialog.KeyBlock.
In den von FinSepaSubmitPostdatedDirDebBuilder abgeleiteten Klassen wird der LocalInstrumentCode im PaymentInformation-Block jetzt nur mehr dann gesetzt/überschrieben, wenn in allen TransactionInformation-Blöcken, noch kein LocalInstrumentCode gesetzt wurde.
Version 10.2.3.8111
- BREAKING: Jegliche Implementierungsdetails des nicht mehr existierenden DDV Sicherheitsverfahrens entfernt. Unter Umständen müssen spezifische Referenzen auf dieses Sicherheitsverfahren auch in Anwendungscode entfernt werden.
Version 10.2.2.8095
Fehler beim Parsen des Segments HIEKP Version 2 behoben.
Enthält nun die Subsembly SEPA API 9.0.3 mit Korrekturen zur neuen CAMT version 08.
Die Klasse FinDtaBase hat keine Eigenschaft HandbookVersion mehr, da diese inzwischen irrelevant geworden ist. FinDtaBuilder.GenerateDTAZV hat nun eine DailySeqNo Parameter statt HandbookVersion.
Die Klasse FinInternationalRemittBuilder hat nun eine statische DailySeqNo, welche bei jedem Aufruf von Build() verwendet und hochgezählt wird.
Verhalten von FinCmd Parameter -tanprocedure korrigiert und neuen FinCmd Parameter -tanfunction hinzugefügt.
Version 10.2.1.8021
Verschiedene Anpassungen um das easyTAN Verfahren der Targobank zu unterstützen.
Unterstützung für HKIPZ Version 2 zu FinSepaInstPaymtBuilder hinzugefügt.
Unterstützung für Echtzeit-Sammelüberweisungen HKIPM mit der Klasse FinSepaMultInstPaymtBuilder implementiert.
Version 10.2.0.7851
Alle für das .NET Framework für Windows compilierten Komponenten und Anwendungen werden ab sofort für .NET Framework 4.8 compiliert.
FinCmd wird jetzt für .NET Core 3.1 compiliert und ist somit auch unter Linux und macOS lauffähig.
Version 10.1.2.7713
Klassen FinPortfAcctStatementReqBuilder und FinPortfAcctStatementReqOrder für Abrufe von Wertpapierumsätzen via HKWDU hinzugefügt.
Klassen FinPortfOrderStatReqBuilder, FinPortfOrderStatReqOrder, FinPortfOrderStatResp und das Enum FinPortfOrderStatus für Abrufe von Wertpapierorderstatus via HKWSO hinzugefügt.
Klassen FinDoc, FinDocFormatInfo, FinDocListBuilder, FinDocListOrder, FinDocReqBuilder, FinDocReqOrder und das Enum FinDocFormatType für Abrufe von Finanzdokumenten via HKFDL und HKFDA hinzugefügt.
Version 10.1.1.7646
Klasse FinAcctOrderInfo hinzugefügt, welche über FinAcctInfo.GetAllowedSegmentInfo ermittelt werden kann. Liefert zusätzliche Informationen zu den erlaubten Geschäftsvorfällen aus dem HIUPD Segment, sofern verfügbar.
Wird ein SendOrder mit einem FinMessageResult.ErrorTanProcess beendet, so wird der gespeicherte TanMediaName und die gespeicherte TanMedias Liste im FinContact gelöscht. Dadurch wird diese bei der nächsten Anmeldung neu abgerufen.
FinBanking aktualisiert nun die TAN-Medienliste automatisch, wenn diese älter als eine Stunde ist. Änderungen bei der Bank werden dadurch zuverlässiger, und ohne explizite Synchronisierung, übernommen.
Klassen FinDistHvbSignatureOrderBuilder (BKTAS), FinDistHvbCancellationOrderBuilder (BKTAL) und FinDistHvbOrderListBuilder (BKTAB), sowie Eigenschaft FinOrder.HvbDistOrder für spezielle Teilsignierte Aufträge der HypoVereinsbank hinzugefügt.
Version 10.1.0.7573
NEU: Unterstützung der neuen DECOUPLED Sicherheitsverfahren mit HKTAN Version 7. Diese werden von einigen Pilot-Sparkassen ab 11.10.2020, flächendeckend ab 22.11.2020 angeboten. Beim DECOUPLED Verfahren wird keine TAN mehr benötigt, sondern die Freigabe erfolgt direkt in einer separaten App durch einfachen Knopfdruck. Damit dies auch in Ihrer Software funktioniert sind evtl. Anpassungen und Erweiterungen erforderlich. Bitte beachten Sie deshalb folgende Hinweise genau.
Zur Aufzählung FinDialogResultCode wurde der zusätzliche Wert NeedDecoupled hinzugefügt. Dieser kann alternativ zum bisherigen Wert NeedTan auftauchen, wenn eine DECOUPLED Freigabe ohne TAN erforderlich ist. Prüfen Sie deshalb alle Stellen in Ihrem Code in dem Sie NeedTan auswerten und erweitern Sie die Auswertung um den Fall NeedDecoupled.
Wurde ein FinDialogResult mit dem Wert NeedDecoupled geliefert, so muss zwingend ein Aufruf der neuen Methode FinBanking.SendDecoupled() erfolgen. SendDecoupled sendet eine HKTAN Statusabfrage an das FinTS System. Wurde der Auftrag vom Anwender noch nicht freigegeben so liefert SendDecoupled erneut ein FinDialogResult mit dem Wert NeedDecoupled. Wurde der Auftrag bereits freigegeben, so wird ein Success Ergebnis geliefert.
Die Klasse FinChallengeInfo wurde um eine Methode GetChallengePrompt() erweitert, welche genutzt werden sollte um einen sauberen Prompt-Text im Fall NeedTan oder NeedDecoupled zu erhalten.
Die für die DECOUPLED Sicherheitsverfahren zusätzlichen BPD Rahmenparameter wurden zur Klasse FinTanProcessParameters hinzugefügt.
Die neue Aufzählung FinTanProcessStep ersetzt alle bisherigen Integer-Parameter und Eigenschaften. Sollte es bei Ihnen deshalb zu Compilerfehlern kommen, prüfen Sie bitte genau, wie Sie mit den neuen Wert FinTanProcessStep.Status behandeln müssen. Dies betrifft nur Low-Level-Code. Bei Verwendung der FinBanking Klasse sollte niemals ein FinTanProcessStep sichtbar sein.
Zusätzliche Eigenschaft FinTanProcessParameters.IsDecoupled welche anzeigt ob ein TAN-Verfahren eigentlich ein DECOUPLED Sicherheitsverfahren ist.
Zusätzliche Eigenschaften TanProcessParameters und TanMedia zur Klasse FinCredential hinzugefügt. Diese werden bei allen TAN-Abfragen gesetzt.
Die institutsspezifische HKTAN Version 7 Variante mit dem appTAN Verfahren der Degussa Bank wird ebenfalls unterstützt.
Das FinCmd Beispielprogramm wurde um eine Unterstützung für das DECOUPLED Sicherheitsverfahren erweitert. Die Änderungen befinden sich ausschließlich in der Datei FinCmdMain.cs in der Methode Resolve().
Unser Subsembly FinTS Dummy Testsystem unterstützt bereits das DECOUPLED Sicherheitsverfahren mit HKTAN Version 7.
Version 10.0.1.7489
ACHTUNG: Mit dieser Version gibt es ein erweitertes Tracing, kontrollierbar über den neuen, globalen FinDialog.TraceSwitch.
IFinCommService.SendReceive() mit neuem FinDialog parameter.
Neue Klasse FinChallengeHHDUCSequencer zur besseren Unterstützung der Implementierung einer Darstellung von Chip-TAN Flicker-Codes.
HIRMS-Segmente mit Bezug auf die Signatur werden jetzt korrekt in die FinMessage.OrphanStatusSegments eingestellt.
Die Subsembly.Sepa.dll und Subsembly.Swift.dll wurden zusammengeführt und erweitert. Die Klassen sind nun alle in der Subsembly.Sepa.dll, die Subsembly.Swift.dll entfällt. Weitere Informationen hierzu finden Sie bei der Dokumentation der Subsembly SEPA API.
Version 10.0.0.7387
Enthält nun englische Text-Resourcen.
PSD2: Work-Around für fehlerhaftes FinTS bei der Degussa Bank.
Work-Around für fehlerhaftes CAMT-Umsatzdatenformat der Targobank.
PSD2: FinContactSCA.Default wird jetzt auch bei der 1822direkt als RequestSCA=true interpretiert.
Version 10.0.0.7209
FinContact.ProduceOrderAcct mit IBAN benötigt nun zusätzlich auch die BIC als Parameter.
Fehler bei Zugriff auf Text-Resource des Subsembly.FinTS.SmartCard Assemblies behoben.
PSD2: Besseres Fehlerverhalten bei der Consorsbank.
PSD2: FinContactSCA.Default wird jetzt immer (mit Ausnahme der 1822direkt) als RequestSCA=true interpretiert.
Version 10.0.0.7202
PSD2: Work-Around für comdirect bank 3920 Rückmeldungsfehler.
PSD2: Die durch SCA nicht mehr funktionsfähigen Klassen FinService und FinOnlineBanking wurden entfernt.
Neue Methode FinDialog.KeepAlive() hinzugefügt, welche ein HKLIF Segment sendet.
Texte wurden in externe Resourcedateien verschoben.
PSD2: Der Sicherheitsfunktionscode 999 wird jetzt aus der Liste der erlaubten TAN-Verfahren herausgefiltert. Damit werden Probleme bei der Consorsbank umgangen.
Version 10.0.0.7194
Eigenschaft FinDialog.DialogTypeParam hinzugefügt. Wird für die korrekte Behandlung von Dialoginitialisierungen bei TAN-Prozessvariante 1 benötigt.
PSD2: Endlosschleife bei SCA-Aktivierung bei Sparda-DV behoben.
PSD2: Deutsche Bank und Norisbank: Fehler 9200 führt zu automatischer Auswahl des TAN-Verfahrens.
PSD2: Optimierung des FinTS-Verhaltens bei der Postbank.
PSD2: Work-Around für FinTS-Fehler bei der Consorsbank.
Version 10.0.0.7188
FinDialog.InitDialog unterstützt nun auch wieder FinDialogType.KeyChange korrekt. Schlüsseländerungen und Sicherheitsprofilwechsel sollten damit nun wieder funktionieren.
In der FinContactForm kann nun das Sicherheitsprofil eines Bankzugangs direkt geändert werden.
Fehler in FinCredentialForm mit Chip-TAN USB Lesern behoben.
Um das Problem der im HIUPD fehlenden IBAN bei der Commerzbank zu lösen wird die IBAN nun aus dem HISPA übernommen. Ein HKSPA wird von FinBanking automatisch ausgeführt, wenn keine IBAN oder BIC für ein, ansonsten SEPA-fähiges, Konto vorliegen.
Version 10.0.0.7174
Anpassung: Nur wenn eine Anmeldung ohne TAN-Verfahren 999 erfolgt, wird im Fehlerfall die SCA für den FinContact deaktiviert.
Fehler in FinTanBeamerForm behoben, der zu einem Absturz führen konnte.
Die fest programmierten Sonderfälle für die Begrenzung der PassphraseMaxLength wurden größtenteils entfernt. Nur für die HypoVereinsbank ist noch ein Work-Around für falsche BPD Daten enthalten.
FinCredentialManager.GetTan erstellt jetzt einen ausführlicheren GetCredential-Dialog.
ExecuteOrderWithTanInfo und SendTan behandeln nun Aufsetzpunkte, egal ob mit oder ohne TAN, automatisch und korrekt. Bitte beachten Sie, dass mit PSD2 auch Abrufe jederzeit zu TAN-Anforderungen führen können.
Version 10.0.0.7160
HINWEIS: Um zusätzliche TAN-Eingaben beim Abruf von Kontoumsätzen zu vermeiden sollten Kontoumsätze nur für die letzten 89 Tage (also Startdatum = Today - 89) abgerufen werden. Werden weiter zurückliegende Kontoumsätze abgerufen, wird spätestens ab dem 14.09.2019 jeweils eine zusätzliche TAN angefordert.
Eine SCA bei der Dialoginitialisierung wird jetzt, unabhängig vom Datum, nur dann versucht, wenn im FinContact ein TAN-Verfahren ausgewählt ist für das es einen Eintrag im HITANS::6 gibt. Gibt es kein HITANS::6, so wird niemals eine SCA versucht.
Die Eigenschaft FinUserParamData.HaveAllSepaInfos entscheidet jetzt basierend auf dem Vorhandensein der Auftragsart HKSPA im HIUPD, und nicht mehr basierend auf der Kontoart, ob für ein Konto IBAN und BIC erforderlich sind.
Wird im JSON Erweiterungsteil im HIUPD eine BIC geliefert, so wird diese ins FinAcct übernommen und es ist kein HKSPA mehr erforderlich.
FinAcctInfo.Bookmark für optimierte Umsatzabrufe hinzugefügt.
Version 10.0.0.7149
FinDialogResultCode.ErrorWrongPin wird nicht mehr durch anderen Fehler überschrieben.
Fehler mit doppelten MT-940 Umsätzen durch doppeltes OnExecuteComplete bei TAN-Ausnahme behoben.
Version 10.0.0.7144
FinContact Datenspeicherung nun wieder kompatibel zu Prä-Betaversionen.
Problem bei Rückmeldung mit neuer User-ID behoben.
FinBanking.BeginDialog ruft nun auch automatisch Bankschlüssel ab, sofern diese nicht vorliegen.
Version 9.9.0.7139 BETA
FinBanking gibt jetzt fatale Fehlermeldungen in das IFinDocket Ablauffenster aus.
Fehlender Default-Konstruktor zu FinProcPreparationOrder hinzugefügt.
Work-Around für falsches HKTAN/HIRMS Referenzsegment bei ING und Degussabank.
HKTAB wird nun nicht mehr als Teil der Dialoginitialisierung, sondern als folgende Nachricht gesendet.
Wird laut BPD HKTAN6 unterstützt, so wird von FinBanking bereits jetzt eine Anmeldung mit SCA gestartet.
Work-Around für fehlerhafte CAMT-Daten der Targobank.
FinBanking.SendTan liefert im FinDialogResult nun auch den PendingOrder zurück.
Version 9.9.0.7117 BETA
Fehler behoben, welcher die Eigenschaft FinScript.Trace nach Skriptbeendigung löschte.
Verschiedene Fehlerbereinigungen bzgl. SCA und TAN-Ausnahmen.
Am Ende von FinBanking.BeginDialog wird jetzt immer eine Auswahl des TAN-Verfahrens erzwungen, sofern dem Anwender mehrere TAN-Verfahren zur Verfügung stehen und noch kein TAN-Verfahren explizit gewählt wurde.
Neue Methode FinBanking.SyncContact hinzugefügt.
Version 9.9.0.7107 BETA
Der Namespace Subsembly.FinTS.Admin wurde aufgelöst und alle enthaltenen Klassen in den Namespace Subsembly.FinTS.Forms verschoben.
Die Eigenschaft FinAdmin.DefaultFolder wurde in FinAdminUtil.DefaultFolder verschoben.
FinCmd Beispielprogramm verbessert.
Version 9.9.0.7072 BETA
Dies ist eine erste BETA-Version der kommenden Subsembly FinTS API Version 10. In dieser ist bereits die starke Kundenauthentifizierung gemäß PSD2 implementiert. Bisher ist diese Implementierung jedoch kaum getestet, da noch keine ausreichenden externe Testmöglichkeiten zur Verfügung stehen.
Für Tests bietet die Subsembly GmbH ab sofort ein eigenes FinTS Testsystem an! Informieren Sie sich auf https://subsembly.com/fints-server.html über den neuen Subsembly FinTS Server und das neue Subsembly FinTS Dummy Testsystem.
Hier ein Überblick über die wichtigsten Änderungen.
Die Klassen FinService und FinOnlineBanking unterstützen kein SCA und sind deshalb ab sofort obsolet. Wer bisher die Klasse FinService verwendet hatte, kann ab sofort die erweiterte Klasse FinDialog direkt nutzen. Als Ersatz für die FinOnlineBanking Klasse gibt es ab sofort eine neue Klasse FinBanking. Die Klasse FinBanking kann auch als Ersatz für FinService verwendet werden. Die FinScript Klassen sollten mit PSD2 weiter funktionieren.
Verschiedene grundlegende Aufzählungen und Klassen wurden bereits für PSD2 erweitert. Dies sollte keine Auswirkungen auf bestehenden Code mit normalen FinTS Dialogen ohne starker Kundenauthentifizierung haben.
Angesichts der kommenden großen PSD2 Änderungen wurde bereits die PIN-Speicherung angepasst. Folgende Interfaces und Klassen wurden hierzu hinzugefügt: IFinBankingPinStore, FinBankingPin und FinBankingPinStore. Der FinCredentialManager verwendet nun einen abstrakten IFinBankingPinStore statt seiner eignen Implementierung zur PIN-Speicherung.
Die Eigenschaften ProductName und ProductVersion wurden aus FinDialog, FinOnlineBanking und FinService entfernt. Statt dessen gibt es nun statische FinDialog Eigenschaften ProductRegisterNo und ProductVersion welche von der Anwendung korrekt initialisiert werden müssen.
Die Eigenschaft FinDialog.ProcPreparationVersion und der Wert FinMessageResult.ErrorProcPrepVersion werden nicht mehr benötigt und wurden deshalb entfernt.
Klassen FinProcPreparationOrder für HKVVB und FinSynchronisationOrder für HKSYN hinzugefügt. Diese sind nur zur internen Verwendung gedacht.
Version 9.5.0.7017
Mit dieser Version wurde die Migration auf .NET Standard 2.0 vollzogen. Deshalb wurden alle "unsichtbaren" Komponenten in diesem Release für .NET Standard 2.0 compiliert. Die nur unter Windows verwendbaren Assemblies Subsembly.FinTS.SmartCard und Subsembly.FinTS.Win32 wurden für das .NET Framework 4.7.2 compiliert, das den .NET Standard 2.0 implementiert. Somit önnen nun die Basiskomponenten direkt auch in Projekten für Linux, macOS oder Xamarin für Android oder iOS verwendet werden.
ACHTUNG Ab sofort wird für die Verwendung der Subsembly FinTS API ein Lizenztoken benötigt. Das von uns erhaltene Lizenztoken kann entweder als Datei "FinLicense.jwt" in den Ordner mit den Assemblies der Subsembly FinTS API kopiert werden, oder der Token kann an die neue statische Methode FinLicense.SetLicenseToken() übergeben werden.
Zu den SEPA-Ländern in FinIntRemitt wurden Andorra und der Vatikan hinzugefügt.
Mehrere FinDist* Klassen zur Implementierung von verteilten elektronischen Unterschriften hinzugefügt.
Klassen FinSepaDraftOrderBuilder und FinSepaDraftOrderList zum Abruf von Überweisungsvorlagen via HKCVB hinzugefügt.
Unterstützung von Chip-TAN QR analog dem Photo-TAN-Verfahren.
Version 9.3.0.6984
Die Klasse FinUtil enthält nun die Eigenschaften Now und Today und eine Methode ConvertToGermanTime. Um sicher zu stellen, dass FinTS Abrufe mit Zeitbezug auch in fernen Zeitzonen korrekt aufgebaut werden, müssen Datumsangaben immer in deutscher Zeit erfolgen, auch dann, wenn ein PC z.B. in Neuseeland mit entsprechender Zeitzone betrieben wird. Bei Verwendung der lokalen Zeit kann es dort zu Fehlern wie "Datum liegt in der Zukunft" kommen. Die neuen Methoden der FinUtil Klasse helfen der Anwendung korrekte Zeitangaben zu übergeben.
Zusätzlicher FinCamtStatementBuilder.Build und FinAcctMvmtsSpecifiedPeriodBuilder.Build Overload der DateTime statt SwiftDate verwendet. Dieser Overload sollte wegen vorgenannter Zeitzonenthematik bevorzugt verwendet werden.
Neuer Aufzählungstyp FinTanProcType und neue Methode FinTanProcInfo.GuessTanProcType() und Eigenschaft FinTanProcInfo.TanProcType.
Die Behandlung von RAH-10 Schlüsseldateien wurde überarbeitet. Der Assistent im FinAdmin kann nun auch Bankzugänge mit neuer RAH-10 Schlüsseldatei anlegen.
Version 9.2.1.6878
Die voreingestellte Standard FinTS-Version im FinContact ist ab sofort FinTS 3.0 (300).
Um die verschiedenen, aber gleichnamigen "mobileTAN" Postbank TAN-Verfahren unterstützen zu können mussten verschiedene interne Erweiterungen bei der Behandlung von TAN-Verfahren vorgenommen werden.
Die undokumentierte Methode FinTanProcInfo.FilterForUserSelection() wurde entfernt.
Die Vorauswahl des TAN-Verfahrens ist im FinWizardNewContact nicht mehr möglich. Das TAN-Verfahren wird statt dessen jetzt immer, zwingend in jeder Synchronisierung ausgewählt.
Sonderfall für DKB bei FinContact.PassphraseMaxLength. Entgegen anderen Instituten welche am Finanz Informatik RZ angeschlossen sind, erlaubt die DKB jetzt eine maximale PIN-Länge von 38 Zeichen.
Klasse FinTanProcInfo überarbeitet. Neue Eigenschaft TanMediaClass hinzugefügt. Methoden GetTanProcName und FindTanProc entfernt.
Neue Klassen FinSepaInstPaymtBuilder, FinSepaInstPaymtStatusBuilder und FinSepaInstPaymt implementieren SEPA Instant Payments auf Basis HKIPZ und HKIPS. Zusätzliche Aufzählungen FinSepaCancellationCode und FinSepaOrderStatus zur Unterstützung.
Version 9.2.0.6814
NEU: Unterstützung für das Chip-TAN USB Verfahren. Um dieses Verfahren vollständig zu unterstützen wurden verschiedene Erweiterungen vorgenommen.
Neuer Namensraum Subsembly.FinTS.HHD mit verschiedenen Klassen zur Unterstützung des Chip-TAN USB Verfahrens. Dieser Namensraum ist teilweise im Assembly Subsembly.FinTS.Core und teilweise im Assembly Subsembly.FinTS.SmartCard implementiert.
Um einen HHD Challengewert an den Chipkartenleser mit Chip-TAN-Karte via USB zu übertragen wird ein PC/SC kompatibler Secoder mit Chip-TAN USB-Unterstützung benötigt. Die Übertragung kann von der Anwendung dann mittels FinHHDUSB.TransmitHHDUC() durchgeführt werden. Über Events werden die einzelnen am Leser durchgeführten Schritte an die Anwendung zurückgemeldet.
Die Klasse FinCredentialForm aus dem Namensraum Subsembly.FinTS.Forms wurde erweitert und ermöglicht nun für alle HHD Challenge-Anforderungen auch die Abwicklung über Chip-TAN USB.
Version 9.1.3.6765
Die Klassen FinScript, FinService und FinOnlineBanking enthalten nun eine Eigenschaft Trace und eine Methode ClearTrace. Beide Klassen sammeln nun alles Tracing aus allen Nachrichten und Dialogen bis ClearTrace aufgerufen wurde.
Neue Eigenschaft FinContact.IsRAH hinzugefügt.
Die Klasse FinCommServiceHttp wurde neu auf Basis von HttpClient, statt HttpWebRequest implementiert.
Version 9.1.0.6600
BREAKING: Die bisher zum Tracing der HBCI-Nachrichten verwendete Klasse FinMonitor wurde komplett entfernt! Die Tatsache, dass FinMonitor ein statisches Singleton war führte zu verschiedenen Problemen bei Perfomance, Skalierbarkeit und Robustheit. Ab sofort wird die Protokollierung der HBCI-Nachrichten vollständig von der FinDialog Klasse übernommen. Eine FinDialog Instanz sammelt nun das HBCI-Protokoll für nur genau diesen einen HBCI-Dialog. Die FinDialog Klasse enthält hierfür ein neues Property TraceText.
Ebenso wurden die Methoden IFinDocket.TraceAppend and IFinDocket.TraceAppendLine und der FinDocketTraceListener enternt, da es kein asynchrones Tracing mehr gibt.
Das FinScript.CaptureTrace flag hat nie funktioniert und wurde deshalb entfernt.
Die FinCredentialForm zeigt nun auch die Photo-TAN-Grafik an.
Version 9.0.3.6369
Die Klasse FinContact lädt das externe Assembly Subsembly.FinTS.SmartCard nun via Assembly.Load statt Assembly.LoadFrom.
Neue Eigenschaft FinAcctInfo.AllowedSegmentTypes.
Die Methode FinSepaAcctInfoBuilder.FilterSepaFormats() entfernt nun auch alle SEPA Deskriptoren von SEPA Formaten, die in der Subsembly SEPA API nicht unterstützt werden. Dadurch wird ein Kompatibilitätsproblem mit der OLB behoben.
Version 9.0.2.6340
Zur Klasse FinTanMedia wurden die Eigenschaften IsActive und IsAvailable hinzugefügt.
Zur Klasse FinService wurden die Methoden ChooseTanMedia und CreateConsumeTanOrder hinzugefügt.
Das FinCmd Beispielprogramm unterstützt die neue Auftragsart "consumetan".
Version 9.0.1.6326
Die Klasse FinInternationalRemittNonNotifyBuilder (HKAOM) wurde komplett entfernt, da es keine Bank mehr gibt, welche diesen Geschäftsvorfall unterstützt.
Die Klasse FinIntRemitt wurde um die Eigenschaften InstructionCode1 bis InstructionCode4 erweitert, welche den Zugriff auf die Weisungsschlüssel erleichtern.
Die Klasse FinIntRemitt leitet nicht mehr von FinPersist ab. Die Speicherung als XML wird nicht mehr unterstützt. Da die XML-Speicherung nur die für den Geschäftsvorfall HKAOM benötigten Elemente unterstützte, und viele Eigenschaften von FinIntRemitt nicht gespeichert wurden, und HKAOM nicht mher unterstützt wird, ist diese teilweise Implementierung nun auch hinfällig geworden.
Der spezielle FinIntRemitt-Konstruktor für EU-Standardüberweisungen wurde entfernt, da es diese nicht mehr gibt. Für echte DTAZV-Überweisungen kann und sollte der Default-Konstruktor verwendet werden.
Die Eigenschaft FinIntRemitt.IsValidEuStdRemitt wurde entfernt, da es keine EU-Standardüberweisungen mehr gibt.
Die Klasse FinAcct persistiert/lädt nun auch die IBAN und BIC bei der XML Speicherung.
Die Klasse FinAcct überschreibt nun nicht mehr die Objekt-Methoden Equals und GetHashCode. Ein semantischer Vergleich zweier FinAcct Objekte hängt vom Anwendungsfall ab und kann nicht allgemein implementiert werden.
Die Klasse FinSepaOrderBuilder, und damit auch alle davon abgeleiteten Builder-Klassen enthalten nun ein neues Overload Build(FinAcct, SepaPaymentInitiation). Diese sollte ab sofort für das Einreichen von SEPA-Einzelaufträgen, und allen im Code erzeugten SEPA Zahlungen verwendet werden. Die alte Methode Build(FinAcct, SepaDocument) sollte nur zum Einreichen von extern geladenen SEPA Dateien verwendet werden.
Version 9.0.0.6232
Dieser Release ist vorbereitet für die kommende Microsoft .NET Standard 2.0 Plattform und sollte später auf allen .NET Core 2.0 Umgebungen, wie z.B. auch verschiedene Linux Distributionen und macOS, nutzbar sein. Für diesen Release wurden jedoch alle Assemblies noch für das .NET Framework 4.5 compiliert.
Der Aufstieg von .NET 2.0 auf .NET 4.5 wurde erforderlich um SSL Verbindungen nach TLS 1.1 und TLS 1.2 unterstützen zu können. Das BSI fordert die Banken auf künftig nur mehr SSL-Verbindungen nach TLS 1.2 zuzulassen. Damit die Subsembly FinTS API auch weiterhin mit Banken funktioniert welche auf TLS 1.2 umstellen war der Wechsel auf .NET 4.5 zwingend erforderlich.
In Vorbereitung auf .NET Standard 2.0 und .NET Core 2.0 wurde die bisherige Subsembly.FinTS.dll auf drei getrennte Assemblies wie folgt aufgeteilt:
Subsembly.FinTS.Core.dll
Vollkommen plattformunabhängige Basisfunktionen. Dieses Assembly hat nur minimale Abhängigkeiten und benötigt lediglich die Assemblies Subsembly.Crypto.dll, Subsembly.Sepa3.dll und Subsembly.Swift.dll. Dieses Assembly sollte später auf jeder .NET Standard 2.0 kompatiblen Plattform direkt genutzt werden können.
Subsembly.FinTS.SmartCard.dll
Klassen für die Unterstützung von HBCI Signaturkarten. Diese benötigen zusätzlich die Subsembly.SmartCard.dll für Windows oder macOS.
Subsembly.FinTS.Win32.dll
Windows spezifische UI Funktionen. Diese benötigen das volle .NET Framework 4.5 unter Windows 7 oder neuer.
Um .NET Core und das erforderliche Re-Factoring sauber zu unterstützen mussten verschiedene, teilweise inkompatible, Änderungen an der API selbst vorgenommen werden.
Die Methoden der Interfaces IFinTanMediaForm und IFinTanProcForm haben keinen OwnerWindow Parameter mehr. Das OwnerWindow muss auf anderem Wege, z.B. über den Konstruktor einer Implementierung, gesetzt werden. Insofern sind diese Interfaces nun gleich zum IFinCredentialForm Interface.
Die statischen Hilfsmethoden GetAuthenticateResultMessage, GetCommErrorMessage und GetSecurityErrorMessage wurden von der Klasse FinOnlineBanking in die Klasse FinUtil verschoben.
Die Klasse FinService ist Teil der Subsembly.FinTS.Core.dll und kann deshalb keinerlei Referenzen auf UI oder Windows spezifische Funktionen haben. Der Methode FinService.LogOn muss deshalb jetzt immer eine PIN übergeben werden!
Die Eigenschaft FinContactFolder.Default wurde in FinAdmin.DefaultFolder verschoben.
Folgende Methoden und Eigenschaften der FinDialog Klasse wurden entfernt: FinDialog(FinContact, IFinCommService, IFinFilter), Init(), CommService und Filter.
Zusätzlich wurden folgende neue Features implementiert:
- Der Abruf einer Übersicht vorhandener E-Kontoauszüge via HKKAU ist nun über den FinAcctStmtListBuilder möglich.
Version 8.3.0.6165
In diesem Release wurden umfangreiche Änderungen vorgenommen um die neuen RAH Sicherheitsprofile unterstützenzu können. Diese Änderungen können zu Inkompatibilitäten mit bestehenden Code führen!
Die Klasse FinAdminUtil wurde komplett überarbeitet und vom Namespace Subsembly.FinTS.Admin in den Namespace Subsembly.FinTS verschoben.
Das Interface IFinSecurityMedia wurde verändert. Die Eigenschaften SecurityProcCode und SecurityProcVersions wurden durch die Eigenschaft SecurityProfiles ersetzt. Die Methoden Detect() und GetSecurityProcVersionSet() entfallen ersatzlos. Alle Implementierungen dieses Interfaces wurden entsprechend angepasst.
Der Klasse FinOnlineBanking greift nun nicht mehr online auf den Subsembly FinBanks Datenbestand zu.
Der FinBanks Datenbestand wurde um zusätzliche Bits für RAH-7, RAH-9 und RAH-10 erweitert.
Version 8.2.0.6065
Zusammen mit der aktualisierten Subsembly SEPA API werden nun die neuen SEPA Formate gemäß Version 3.0 der "Spezifikation der Datenformate" nach pain.001.001.03 und pain.008.001.02 unterstützt.
Die Methode FinSepaAcctInfoBuilder.GetPainFormats wurde geändert, so dass das gelieferte Feld auch mit den neuen DK Pain-Versionen pain.001.001.03 und pain.008.001.02 korrekt sortiert geliefert wird.
Die Klassen FinSepaSubmitPostdatedBusinessMultDirDebBuilder, FinSepaSubmitPostdatedBusinessSingDirDebBuilder, FinSepaSubmitPostdatedDirDebBuilder, FinSepaSubmitPostdatedMultDirDebBuilder und FinSepaSubmitPostdatedSingDirDebBuilder wurden für die Unterstützung der jeweiligen Segmentversion 2 erweitert.
Version 8.1.0.5890
Auf Grund der endgültigen Abschaffung des alten IZV Zahlungsverkehrs wurden folgende Klassen und Methoden entfernt:
FinSubmitPostdatedSingRemittBuilder, FinSubmitPostdatedSingRemitt, FinCancelPostdatedSingRemittBuilder, FinOutstandingPostdatedSingRemittBuilder, FinOutstandingPostdatedSingRemitt
FinStoBuilder, FinSetupStoBuilder, FinSetupSto, FinAllStoBuilder, FinAllSto, FinCancelStoBuilder, FinModifyStoBuilder, FinModifySto
FinSingRemittBuilder
FinEuroSTPPaymtBuilder
FinService: CreateRemitt
Die Klassen FinRemitt, FinConvert und FinSingOrderBuilder wurden noch nicht entfernt, da diese noch vom Geschäftsvorfall HKUMB- Umbuchung im FinReclassificationBuilder benötigt werden, und einige Banken noch HKUMB als einzige Möglichkeit einer Umbuchung anbieten.
Weitere Änderungen:
In FinOnlineBanking wird die Kunden-ID jetzt nicht mehr gelöscht, wenn keine HIUPD von der Bank geliefert werden. Damit werden Probleme mit der VR-Kennung bei Chipkarten behoben.
Die Klasse FinPrepaidLoadBuilder unterstützt nun auch HKPPD in der Version 2.