joonis Logo

Python FinTech Dokumentation

Die Dokumentation ist derzeit nur in englischer Sprache verfügbar.

Installation

The FinTech package is available for Python 2.6-2.7 and 3.2-3.4 (32/64 bit) on PyPI (Python Package Index). If you need a solution for other programming languages, have a look at the XML-RPC server.

The FinTech library depends on the following packages:

PyOpenSSL is only required for EBICS accounts that are based on certificates (eg. in France). Pillow is only required if you want to scan SEPA mandates for printed barcodes which hold the mandate reference number.

Which cryptography package to use?

If you don't plan to use the EBICS module, there is no need for a cryptography package at all.

Otherwise you have to decide what cryptography package you want to use. At time PyFinTech supports PyCrypto and cryptography. PyCrypto has been around for a long time and is well tested with PyFinTech. It comes with its own implementation of various cryptographic algorithms and protocols. However, meanwhile the newer cryptography package is mature enough and on a good way to become the de-facto standard for Python. It is based on different third-party libraries, especially OpenSSL.

Generally you should tend to use cryptography. It is easier to install under Windows, although we provide a ready to run setup program for PyCrypto (see below). But there is one limitation on Linux and OS X: If your distribution is based on OpenSSL < 1.0.1, you are not able to use electronic signature keys of version A006. In this case you must either settle for key version A005 or use PyCrypto.

Note: PyOpenSSL (required if your EBICS account is based on certificates) depends on cryptography as well.

Linux / OS X

Install it with easy_install:

easy_install fintech

Or use pip:

pip install fintech

If setuptools is not installed, download the source package, extract it and run:

python setup.py install

In the latter case you must also manually install all dependencies.

Windows

Install the above-mentioned packages. Executables can be found on the corresponding PyPI sites with the exception of PyCrypto. These installers are listed below for Python 2.6 and 2.7. PyCrypto packages were build against MPIR and therefore include the _fastmath module. Be sure to download the correct installer in terms of the used Python version and bitness. Instead of PyCrypto you can alternatively install cryptography which uses OpenSSL as its backend.

Package registration

The Python FinTech package

Index
fintech.register(name=None, keycode=None, users=None)

Registers the FinTech package.

It is required to call this function once before any submodule can be imported. Without a valid license the functionality is restricted.

Parameters:
  • name – The name of the licensee.
  • keycode – The keycode of the licensed version.
  • users – The licensed EBICS user ids (Teilnehmer-IDs). It must be a string or a list of user ids.
class fintech.LicenseManager(password)

The LicenseManager class

The LicenseManager is used to dynamically add or remove EBICS users to or from the list of licensed users. Please note that the usage is not enabled by default. It is activated upon request only. Users that are licensed this way are verified remotely on each restricted EBICS request. The transfered data is limited to the information which is required to uniquely identify the user.

Initializes a LicenseManager instance.

Parameters:password – The assigned API password.
add_ebics_user(hostid, partnerid, userid)

Adds a new EBICS user to the license.

Parameters:
  • hostid – The HostID of the bank.
  • partnerid – The PartnerID (Kunden-ID).
  • userid – The UserID (Teilnehmer-ID).
change_password(password)

Changes the password of the LicenseManager API.

Parameters:password – The new password.
count_ebics_users()

Returns the number of EBICS users that are currently registered.

expiration

The expiration date of the license.

keycode

The license keycode.

licensee

The name of the licensee.

remove_ebics_user(hostid, partnerid, userid)

Removes an existing EBICS user from the license.

Parameters:
  • hostid – The HostID of the bank.
  • partnerid – The PartnerID (Kunden-ID).
  • userid – The UserID (Teilnehmer-ID).
userids

The registered EBICS user ids (client-side).

exception fintech.FintechLicenseError

Exception concerning the license

Example

import fintech
# Register an unlicensed version
fintech.register()
# Register a licensed version
fintech.register('LICENSEE_NAME', 'KEYCODE', 'EBICS_USER_ID')

Kann ich
  Ihnen helfen?


Schreiben Sie mir
doch einfach unter
giraffe@joonis.de