]> git.ipfire.org Git - thirdparty/python-fints.git/commitdiff
Add single COR1 debit
authorHenryk Plötz <henryk@ploetzli.ch>
Tue, 28 Aug 2018 17:07:43 +0000 (19:07 +0200)
committerRaphael Michel <mail@raphaelmichel.de>
Mon, 3 Dec 2018 18:34:29 +0000 (19:34 +0100)
fints/client.py
fints/formals.py
fints/segments/debit.py

index 279649f020e8e9abc80e9b0668a754b10a0ad5f8..61dd6bc0e540c097494227c985c6f8323602a052 100644 (file)
@@ -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)
 
index 6ba9672105c277df7167e3bb706f7cb0c967ff78..d36c3321a93516d63a635e586dae20924e0e10cd 100644 (file)
@@ -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
index 75a41a5a0767bd3f419cff4908c50f1db418670e..874095397cece8c3e1caa6a0ff3fe92e8b046960 100644 (file)
@@ -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