From: Henryk Plötz Date: Mon, 10 Jun 2019 12:14:08 +0000 (+0200) Subject: Fix get_transactions_xml() X-Git-Tag: v2.2.0~7^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8928dfeaf17c32bf667c7f04f368804c2702825d;p=thirdparty%2Fpython-fints.git Fix get_transactions_xml() --- diff --git a/fints/client.py b/fints/client.py index 93f0d28..77596b2 100644 --- a/fints/client.py +++ b/fints/client.py @@ -543,7 +543,7 @@ class FinTS3Client: date_start=start_date, date_end=end_date, touchdown_point=touchdown, - supported_camt_messages=SupportedMessageTypes('urn:iso:std:iso:20022:tech:xsd:camt.052.001.02'), + supported_camt_messages=SupportedMessageTypes(['urn:iso:std:iso:20022:tech:xsd:camt.052.001.02']), ), 'HICAZ' ) diff --git a/fints/formals.py b/fints/formals.py index cde95f6..575f0e1 100644 --- a/fints/formals.py +++ b/fints/formals.py @@ -961,3 +961,10 @@ class SupportedMessageTypes(DataElementGroup): Source: Messages - Multibankfähige Geschäftsvorfälle (SEPA) - C.2.3.1.1.1 """ expected_type = AlphanumericField(max_length=256, max_count=99, required=True, _d='Unterstützte camt-messages') + + +class BookedCamtStatements1(DataElementGroup): + """Gebuchte camt-Umsätze + + Source: Messages - Multibankfähige Geschäftsvorfälle (SEPA)""" + camt_statements = DataElementField(type='bin', min_count=1, required=True, _d="camt-Umsätze gebucht") diff --git a/fints/segments/statement.py b/fints/segments/statement.py index c21121b..c6c082f 100644 --- a/fints/segments/statement.py +++ b/fints/segments/statement.py @@ -1,5 +1,6 @@ from fints.fields import DataElementField, DataElementGroupField -from fints.formals import KTI1, Account2, Account3, QueryCreditCardStatements2, SupportedMessageTypes +from fints.formals import KTI1, Account2, Account3, QueryCreditCardStatements2, SupportedMessageTypes, \ + BookedCamtStatements1 from .base import FinTS3Segment, ParameterSegment @@ -108,7 +109,5 @@ class HICAZ1(FinTS3Segment): Source: HBCI Homebanking-Computer-Interface, Schnittstellenspezifikation""" account = DataElementGroupField(type=KTI1, _d="Kontoverbindung Auftraggeber") camt_descriptor = DataElementField(type='an', _d="camt-Deskriptor") - # According to specification, statement_booked is a DEG with one binary XML *per day*. However, banks apparently - # send just one XML instead. - statement_booked = DataElementField(type='bin', _d="Gebuchte Umsätze") + statement_booked = DataElementGroupField(type=BookedCamtStatements1, _d="Gebuchte Umsätze") statement_pending = DataElementField(type='bin', required=False, _d="Nicht gebuchte Umsätze")