Subsembly FinTS API
Copyright © 2004-2018 Subsembly GmbH
The release notes (in German only) can be found here.
The Subsembly FinTS API requires the following assemblies to be added to your project:
- Subsembly.FinTS.Core.dll (also project reference needed)
- Subsembly.FinTS.Core.xml (only for development)
- Subsembly.FinTS.SmartCard.dll (only if smart cards are used)
- Subsembly.FinTS.SmartCard.xml (only for development)
- Subsembly.FinTS.Win32.dll (also project reference needed)
- Subsembly.FinTS.Win32.xml (only for development)
- Subsembly.Sepa.dll (also project reference needed)
- Subsembly.Sepa.xml (only for development)
- Subsembly.SmartCard.dll (only if smart cards are used)
- Subsembly.Swift.dll (also project reference needed)
- Subsembly.Swift.xml (only for development)
All of these assemblies and files are contained in the Subsembly FinTS API software development kit. Currently the assemblies included in the SDK have been compiled for .NET 4.5 for Windows, only. Assemblies compiled for .NET Standard 2.0 are available upon request.
IMPORTANT: Client Registration for PSD 2 compliance
Because of the new PSD 2 regulations, the Deutsche Kreditwirtschaft (DK) decided that all FinTS clients have to registered with it. For details please read:
Starting on 2018-12-01 you should supply your registration code as the product name in every FinTS dialog initialisation. Starting at 2019-08-01 you must supply your registration code.
Depending on which classes you are using, you can supply the registration code by setting the following properties:
Also note, that the PSD 2 migration period ends on 2019-09-14. Starting with this day, it is no longer permitted to use FinTS bank interfaces from third party services. All third party services must then use the new PSD 2 interfaces that will be provided by the banks. Yet, it is still possible to directly connect to FinTS interfaces from traditional client software, such as Windows applications or mobile apps.
If you have any questions concerning FinTS and the new PSD 2 regulations, please feel free to contact us at any time.
PSD 2 Road Map
Upcoming Version 10 of the Subsembly FinTS API will be available solely as unsigned Assemblies compiled for .NET Standard 2.0. These implies that the only .NET Standard 2.0 compatible .NET environments, such as .NET Core 2.0 or the .NET Framework 4.6.1 will be supported furtheron. See https://docs.microsoft.com/de-de/dotnet/standard/net-standard for a table of .NET Standard 2.0 compatible platforms.
Due to the new PSD 2 regulations many HBCI security procedures currently in use will be discontinued until September 14th, 2019, or even earlier. In particular the following security procedures will go away:
- HBCI DDV smart cards (FinSecurityMediaDDV)
- HBCI RDH key files (FinSecurityMediaKeyFile derived classes)
- Probably many more smart card based security procedures
Therefore, upcoming Version 10 of the Subsembly FinTS API will remove all of these implementations.
In order to comply with PSD 2 several additions to the FinTS 3.0 base protocol have been specified. Most of all, a dialog initialisation may require the user to enter a TAN after every 90 days. This, and all the other changes, will be implemented in Version 10 of the Subsembly FinTS API.
Other important changes include:
Revised FinBanks information database and utility classes moved to a separate assembly with additional information for EBICS and PSD 2 access points.
With PSD 2 only FinTS 3.0 with strong customer authentication will be possible. Therefore any supported for older FinTS or HBCI versions (i.e. 2.0.1, 2.1, 2.2) will be removed completely.
The term "HBCI" will be removed in most places. If at all, it will only be used with signature smart cards.
Please be aware, that due to the enormous changes required, the Version 10 of the Subsembly FinTS API will not be compatible with previous versions.
We are comitted to provide a compact, state of the art Subsembly FinTS API version 10 with long term support to all of our customers.
The Subsembly FinTS API itself is divided into three separate assemblies. It uses several supporting assemblies that are also included in the package. Currently all assemblies are compiled targeting .NET Framework 4.5, but have been re-factored to target .NET Standard 2.0 as soon as it is available.
The Subsembly.FinTS.Core.dll contains the platform neutral base classes. Later this assembly will target .NET Standard 2.0 and should then be usable on any .NET Core 2.0 platform. All classes in this assembly are part of the Subsembly.FinTS, Subsembly.FinTS.Online, Subsembly.FinTS.HHD, and Subsembly.FinTS.Banks namespaces.
The Subsembly.FinTS.SmartCard.dll contains additional classes for supporting HBCI smart cards. These classes are only supported on Windows and macOS platforms. All classes in this assemblys are also part of the Subsembly.FinTS, and Subsembly.FinTS.HHD namespaces.
The Subsembly.FinTS.Win32.dll contains UI classes for Windows only. These classes require a true Windows platform with .NET Framework 4.5 or later. For future releases the minimum requirement will be .NET Framework 4.6.1 or later. The classes of this assembly use the Subsembly.FinTS.Admin and Subsembly.FinTS.Forms namespaces.
The supporting assemblies are
The Subsembly SEPA API contained in the Subsembly.Sepa3.dll assembly. Documentation of these classes can be found with the Subsembly SEPA API.
The SWIFT parser and generator classes contained in the Subsembly.Swift.dll assembly. Documentation of these classes can be found here.
The private smart card access classes contained in the Subsembly.SmartCard.dll. These are only needed when HBCI smart cards shall be supported.
The cryptographic algorithms implemented in the Subsembly.Crypto.dll.
Simple CSV utility classes implemented in the Subsembly.Csv.dll.
The ZIP file contains the C# source code of the sample applications FinCmd and FinPad.
There are two important root classes to start with. For a completely UI less FinTS/HBCI client, or for a server based implementation start with the Subsembly.FinTS.FinService class. For a traditional UI based FinTS/HBCI client start with the Subsembly.FinTS.Online.FinOnlineBanking class.