
FinTS is a widely used protocol for online banking, and its versions have undergone significant changes over the years.
FinTS 3.0 was introduced in 2005, offering improved security features such as encryption and digital signatures.
The latest version, FinTS 4.0, was released in 2012, providing enhanced functionality and compatibility with various banking systems.
FinTS 3.0 was designed to support a wide range of banking operations, including account management and payment transactions.
Consider reading: 5 3 Bank Routing Number Illinois
FinTS Versions
FinTS has undergone a significant evolution, with a notable shift occurring with version 3.0.
This version formally introduced the PIN/TAN method and marked a significant change in the specification, which was then renamed to FinTS. The original security method, however, retained the name HBCI.
The FinTS specification was renamed to FinTS with version 3.0, while the original DSA- and RSA-based security method retained the name HBCI.
Explore further: Name Three Advantages of Banking Online
3.0
FinTS version 3.0 was a significant update that formally introduced the PIN/TAN method. This version marked a shift in security protocols, which would have an impact on how users interacted with online banking systems.

The specification was renamed to FinTS for version 3.0. The original name change was a deliberate move to distinguish the new security method from the previous DSA- and RSA-based system.
The PIN/TAN method brought a new level of security to online banking. It's likely that this update improved the overall security of online banking systems, making them more resistant to cyber threats.
The original DSA- and RSA-based security method retained the name HBCI. This suggests that the HBCI name was already established and associated with a specific security protocol.
You might enjoy: Automated Teller Machine Full Name
4.0
In version 4.0, the basic message syntax was switched over to XML.
This was a significant change that improved the efficiency of FinTS.
The number of roundtrips necessary was reduced, allowing asynchronous communication for simple transaction dialogues.
This meant that users could process transactions more quickly and easily.
SEPA Transfers
SEPA-Transfer is a tool that makes online banking via FinTS easy and convenient. It allows you to forward payments directly to your bank.
To activate FinTS / HBCI in SEPA-Transfer, you need to check the "Use FinTS/HBCI" box in the program settings. This will open a setup wizard that guides you through the online banking setup.
You'll need to enter the user ID you received from your bank to log in to online banking. Then, you'll choose between different login procedures.
Now everything is ready to send transfers and direct debits directly to your bank and retrieve account transactions.
A different take: B of a Mobile Banking App
Account Management
Account management with FinTS is a breeze. You can retrieve a list of all transactions for a specific account by calling $fints->getStatementOfAccount($account).
The result is a collection of objects of type Abiturma\PhpFints\Models\Transaction, which behave similar to Laravel models. You can retrieve a list of all attributes by calling ->toArray() on them.
Some key attributes stored on the transaction model include base_amount, amount, remote_bank_code, and remote_name. These attributes store the signed integer value of the transaction in cents, the signed float value of the transaction, the BIC of the remote account, and the name of the creditor/debitor, respectively.
Retrieving Bank Account Statement
You can get a list of all transactions for a specific account by calling the $fints->getStatementOfAccount($account) method. This will return a collection of objects of type Abiturma\PhpFints\Models\Transaction.
The result can be restricted to a specific date range by passing two Carbon objects to the method: $fints->getStatementOfAccount($account, $from, $to).
The transaction model has several attributes, including base_amount, amount, remote_bank_code, remote_name, remote_account_number, date, value_date, description, end_to_end_reference, and prima_nota.
Customizing Account Model
You can customize your account model to make it easier to work with account statements.
If you have your own account model, you don't need to call getAccounts() first to get a statement of an account.
Instead, you can use your account model and make it implement Abiturma\LaravelFints\IdentifiesBankAccount by providing a method getAccountAttributes() that returns an array of the form.
This array should contain the necessary account attributes, such as those returned by getAccounts().
For example, an implementation could look like this.
Logging and Initialization
Logging and Initialization is a crucial step in setting up FinTS. To get started, you need to provide your connection details, which can be done using various methods.
If you haven't specified the connection details in the config file, you'll need to fill in the missing values. This includes host, port, bankCode, username, and pin.
You can chain these methods in any order you prefer, making it convenient to provide the necessary information.
For your interest: Shop Pay Payment Methods
Logging
Logging is turned off by default, so you'll need to enable it to start logging your Fints transactions.
To do this, set the laravel-fints.logging.enabled property to true, and Laravel's default logging channels will be used.
Be aware that logging on debug level may expose your unencrypted PIN in the log channel, so use caution when setting this up.
If you want to use a custom logger, provide the class name to laravel-fints.logging.logger to choose your own logging implementation.
Discover more: Reasons Not to Use Online Banking
Initialization
To initialize the connection, you have to provide your connection details using the methods host, port, bankCode, username, and pin.
These methods can be chained in arbitrary order, which is convenient if you're working with complex connections.
If you've already specified some of those values in the config file, you only need to fill in the missing values, saving you time and effort.
This approach makes it easy to set up and manage multiple connections with different details.
API and Integration
TRAVIC-FinTS-API-Mobile is a simple integration solution for online banking procedures in mobile devices via the FinTS standard.
The API helps develop online banking applications on mobile devices or on the server, providing all FinTS business transactions via a native library.
TRAVIC-FinTS-API-Mobile supports the protocol FinTS 3.0 with the PIN/TAN security procedures, as well as the strong customer authentication SCA required by the PSD2 regulation.
It's used on mobile platforms iOS and Android, with native libraries in Objective-C/C++ and Java respectively.
The Android version can also be used in the servlet container of a Tomcat, if needed.
TRAVIC-FinTS-API-Mobile integrates payment functions into an app, making it a valuable tool for developers.
With over 2,000 financial institutions supported, TRAVIC-FinTS-API-Mobile provides a wide range of online banking options.
Sources
- https://en.wikipedia.org/wiki/FinTS
- https://www.jam-software.com/sepa-transfer/onlinebanking_hbci_fin-ts.shtml
- https://packagist.org/packages/abiturma/laravel-fints
- https://www.ppi-group.eu/en/products/channels/travic-retail.html
- https://www.ppi-group.eu/en/products/banking-clients/travic-fints-api-mobile.html
Featured Images: pexels.com