From: Henryk Plötz Date: Tue, 28 Aug 2018 17:07:43 +0000 (+0200) Subject: Add single COR1 debit X-Git-Tag: v2.0.0~1^2~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cc589ddf3e0c52e771e3b0c49d9ea52f8e8f867;p=thirdparty%2Fpython-fints.git Add single COR1 debit --- diff --git a/fints/client.py b/fints/client.py index 279649f..61dd6bc 100644 --- a/fints/client.py +++ b/fints/client.py @@ -30,7 +30,7 @@ from .segments.accounts import HISPA1, HKSPA1 from .segments.auth import HKTAB4, HKTAB5, HKTAN3, HKTAN5 from .segments.depot import HKWPD5, HKWPD6 from .segments.dialog import HISYN4, HKSYN3 -from .segments.debit import HKDSE1, HKDSE2, HKDME1, HKDME2, HKDMC1, HKDBS1, HKDBS2, HKDMB1 +from .segments.debit import HKDSE1, HKDSE2, HKDME1, HKDME2, HKDSC1, HKDMC1, HKDBS1, HKDBS2, HKDMB1 from .segments.saldo import HKSAL5, HKSAL6, HKSAL7 from .segments.statement import HKKAZ5, HKKAZ6, HKKAZ7, DKKKU2 from .segments.transfer import HKCCM1, HKCCS1 @@ -642,7 +642,7 @@ class FinTS3Client: command_candidates = (HKDME1, HKDME2) else: if cor1: - raise Exception("Can't process multiple=False cor1=True") + command_candidates = (HKDSC1, ) else: command_candidates = (HKDSE1, HKDSE2) diff --git a/fints/formals.py b/fints/formals.py index 6ba9672..d36c332 100644 --- a/fints/formals.py +++ b/fints/formals.py @@ -747,6 +747,16 @@ class ScheduledBatchDebitParameter2(DataElementGroup): allowed_purpose_codes = DataElementField(type='an', max_length=4096, required=False, _d="Zulässige purpose codes") supported_sepa_formats = DataElementField(type='an', max_length=256, max_count=9, required=False, _d="Unterstützte SEPA-Datenformate") +class ScheduledCOR1DebitParameter1(DataElementGroup): + """Parameter terminierte SEPA-COR1-Einzellastschrift, version 1 + + Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """ + min_advance_notice_FNAL_RCUR = DataElementField(type='num', max_length=4, _d="Minimale Vorlaufzeit FNAL/RCUR") + max_advance_notice_FNAL_RCUR = DataElementField(type='num', max_length=4, _d="Maximale Vorlaufzeit FNAL/RCUR") + min_advance_notice_FRST_OOFF = DataElementField(type='num', max_length=4, _d="Minimale Vorlaufzeit FRST/OOFF") + max_advance_notice_FRST_OOFF = DataElementField(type='num', max_length=4, _d="Maximale Vorlaufzeit FRST/OOFF") + allowed_purpose_codes = DataElementField(type='an', max_length=4096, required=False, _d="Zulässige purpose codes") + supported_sepa_formats = DataElementField(type='an', max_length=256, max_count=9, required=False, _d="Unterstützte SEPA-Datenformate") class ScheduledCOR1BatchDebitParameter1(DataElementGroup): """Parameter terminierte SEPA-COR1-Sammellastschrift, version 1 diff --git a/fints/segments/debit.py b/fints/segments/debit.py index 75a41a5..8740953 100644 --- a/fints/segments/debit.py +++ b/fints/segments/debit.py @@ -1,7 +1,7 @@ from . import FinTS3Segment from ..models import SEPAAccount from ..fields import DataElementField, DataElementGroupField, CodeField -from ..formals import ScheduledCOR1BatchDebitParameter1, KTI1, Amount1, ScheduledBatchDebitParameter1, ScheduledBatchDebitParameter2, ScheduledDebitParameter1, ScheduledDebitParameter2, SupportedSEPAPainMessages1, QueryScheduledDebitParameter1, QueryScheduledDebitParameter2, SEPACCode1, StatusSEPATask1, QueryScheduledBatchDebitParameter1 +from ..formals import ScheduledCOR1DebitParameter1, ScheduledCOR1BatchDebitParameter1, KTI1, Amount1, ScheduledBatchDebitParameter1, ScheduledBatchDebitParameter2, ScheduledDebitParameter1, ScheduledDebitParameter2, SupportedSEPAPainMessages1, QueryScheduledDebitParameter1, QueryScheduledDebitParameter2, SEPACCode1, StatusSEPATask1, QueryScheduledBatchDebitParameter1 from . import ParameterSegment class BatchDebitBase(FinTS3Segment): @@ -101,6 +101,29 @@ class HIDMES2(ParameterSegment): +class HKDSC1(FinTS3Segment): + """Terminierte SEPA-COR1-Einzellastschrift einreichen, version 1 + + Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """ + account = DataElementGroupField(type=KTI1, _d="Kontoverbindung international") + sepa_descriptor = DataElementField(type='an', max_length=256, _d="SEPA Descriptor") + sepa_pain_message = DataElementField(type='bin', _d="SEPA pain message") + + +class HIDSC1(DebitResponseBase): + """Einreichung terminierter SEPA-COR1-Einzellastschrift bestätigen, version 1 + + Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """ + + +class HIDSCS1(ParameterSegment): + """Terminierte SEPA-COR1-Einzellastschrift Parameter, version 1 + + Source: FinTS Financial Transaction Services, Schnittstellenspezifikation, Messages -- Multibankfähige Geschäftsvorfälle """ + parameter = DataElementGroupField(type=ScheduledCOR1DebitParameter1, _d="Parameter terminierte SEPA-COR1-Einzellastschrift") + + + class HKDMC1(BatchDebitBase): """Terminierte SEPA-COR1-Sammellastschrift einreichen, version 1