jschyma / open_fints_js_client

FinTS/HBCI Javascript Client
Apache License 2.0
132 stars 44 forks source link

Credit Card Accounts don't work #28

Open deyhle opened 7 years ago

deyhle commented 7 years ago

client.MsgGetKontoUmsaetze does not work when the "konto" is from a credit card and the object does not have the "sepa_data" property. When giving the full konto object as property, I get:

MalformedMessage: HIRMG is mandatory but missing.

The documentation is somewhat unspecific in this case ("konto - Das Konto für das die Umsätze geladen werden sollen") – what exactly is needed in that object? Or is the client.MsgGetKontoUmsaetze function generally not able to get transactions for credit cards?

avanc commented 7 years ago

What bank are you connecting to? I learned that e.g. DKB does not provide such information for credit card accounts.

deyhle commented 7 years ago

It actually is DKB. I'm just confused because the client.konten array lists the credit cards along the normal sepa account… they are just missing the sepa_data property that is needed for MsgGetKontoUmsaetze. But because they come back in the account list, I assume it must somehow be possible to get the transactions…

avanc commented 7 years ago

http://www.linuxwiki.de/OpenHBCI/GetesteteBanken/DKB states, that DKB uses some different infrastructure for credit card, which is not supported. Also StarMoney uses a page parser instead of HBCI for credit card.

jorgenschaefer commented 6 years ago

I had the same error and did some debugging.

First, because sepa_data is null in this case, I created it myself. DKB only supports v5 here in the relevant code part, so it's sufficient to pass an object with konto_nr, unter_konto, ctry_code and blz here. These are all the fields I could find that are used in MsgGetKontoUmsaetze in this case.

The misleading HIRMG error happens because of an over-eager exception handler that masks the actual error.

The actual error is that getEl in Exceptions.OrderFailedException is not defined. And indeed, the msg parameter there is a simple array:

[ '9050', '', 'Die Nachricht enthält Fehler.' ]

This of course is super helpful.

I'd be happy to help debugging this further if anyone's interested. Sadly, I do not know HBCI enough to even start guessing what to try here. But at least that over-eager exception handler and the getEl call should probably be fixed, I guess.

psi-4ward commented 6 years ago

+1 would love to see credit card transactions from DKB

FearTheDude commented 6 years ago

I've an account at DKB as well, but credit cards don't use the HBCI standard, but the reference account for the credit card should work. HBCI is a german standard, maintained by the ZKA. Credit cards are using an international standard (SET and others).