Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Home Banking Computer Interface (HBCI) with Perl

by LupoX (Pilgrim)
on Sep 22, 2003 at 12:54 UTC ( [id://293117]=perlmeditation: print w/replies, xml ) Need Help??

Hello Monks!!

How the name says HBCI is a standarized banking interface. It is working without PIN/TAN (except a few exceptions...). The way to go is to store a key on a floppy disk, USB stick, CD ROM, Key Card, ... for authentification. I think HBCI is an issue which is intended mostly for people living in Germany or people interacting with German banks. The standard unfortunately is not international.

Official site (external link - new window) HBCI Home

The reason I'm writing here is that I am looking for people who also are interested in HBCI and Perl. My goal would be a Perl Module which provides the main functions to do Banking. This should be:

  • view balances
  • do a transaction
  • My questions:

  • Is anyone interested in same topic?
  • Does anyone already have experience with this?
  • Is there already any code out there?
  • Who would like to start from scratch with me?
  • All mental ejaculations on HBCI, banking with perl, security issues and related points are welcome.


    Greetings from germany in old europe....
    Georg

    • Comment on Home Banking Computer Interface (HBCI) with Perl

    Replies are listed 'Best First'.
    Re: Home Banking Computer Interface (HBCI) with Perl
    by Corion (Patriarch) on Sep 22, 2003 at 13:00 UTC

      I'm the author of Finance::Bank::Postbank_de, and after writing that module, I briefly looked at HBCI, and quickly turned away from it. HBCI is based around SWIFT messages, which are quite powerful, but also quite proprietary and you can't easily toy around with them, which was the point why I didn't pursue HBCI further. Also, for HBCI, you need a special smartcard reader, which my bank (Postbank) did not offer, and which other banks sell for a steep price.

      I would be interested in a common object interface for both, retrieval and storage of transactions and balances across the Finance::Bank modules, but as I only have one active online account, I haven't progressed far in that direction.

      perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

        Hello Corion,

        thanks for your fast reply!

        Two points on your comment:
        Of course SWIFT messages are quite proprietary but they are the de facto standard concerning bank transactions in Germany (perhaps also Europe). In my opinion we would have a good documentation for this and also the (German Version) of the HBCI specification is quite usable.

        Regarding the smart card reader a guy from Deutsche Bank 24 told me that they do support "special" smart card readers and floppy disks. But when writing custom software it does not matter where the key comes from. They only do not give support in case using other key storage media and they are not liable in cases when security advises (as documented in HBCI specs) are not met.

        Since for me alone its a far to big project: You really think there ist no chance?

        Regarding online accounts other than Postbank I think there are testaccounts avaliable from nearly all banks. I will try to get more information tomorrow.

        Greetings from Darmstadt...
        Georg

          There is no doubt that the SWIFT standard (it has even been made into an ISO standard, 15xxx or something) is the standard for (inter-bank) transactions in Germany, Europe and most likely even beyond - I just doubt that it makes sense for the two types of transaction (money transfer, balance statement) that will be used from the end customer via HBCI to implement the whole stuff that SWIFT needs, as noone will ever be able to use it.

          I know that there are test accounts for many german banks, but I haven't felt the need to implement a webscraper for a banking interface that I will never use myself, nor have I felt the lust to deparse the broken Javascript some banks (SEB for example) use as an excuse for navigation.

          I can only recommend to you to implement as much as you (personally) need in your interface module, and not to embark on a large head-driven project that will not fullfill anyones particular need. If you (think you) need HBCI, implement as much as you need to get the job done. Until now, there are no HBCI modules on the CPAN, most likely because nobody felt the need to write them or maybe because HBCI was too hard to tackle for the people interested.

          Under Win32, Perl can (relatively easy) interface to the HBCI via the Win32::API module, which allows you to load any DLL and use the functions therein.

          One potential hurdle I see is, that there is no easy way of testing a HBCI program, as you don't have a server to test against, and testing against your own bank account is rather risky in terms of money.

          Personally, I can only recommend using a bank with a tried and true online functionality that suits your way of doing business online - for me, the model provided by the Postbank has been quite enough, as I trust https and PIN/TAN to provide enough security for automating download of my account data and making manual money transfers.

          perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

    Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Domain Nodelet?
    Node Status?
    node history
    Node Type: perlmeditation [id://293117]
    Approved by broquaint
    help
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this?Last hourOther CB clients
    Other Users?
    Others learning in the Monastery: (6)
    As of 2024-04-18 09:35 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found