diff --git a/lib/Fhp/Action/SendSEPADirectDebit.php b/lib/Fhp/Action/SendSEPADirectDebit.php index b2c8d8b8..1c9fe599 100644 --- a/lib/Fhp/Action/SendSEPADirectDebit.php +++ b/lib/Fhp/Action/SendSEPADirectDebit.php @@ -138,14 +138,14 @@ protected function createRequest(BPD $bpd, ?UPD $upd) if ($hidxes->getVersion() === 2) { /** @var HIDMESv2|HIDSESv2 $hidxes */ - $supportedPainNamespaces = $hidxes->getParameter()->unterstuetzteSEPADatenformate; + $supportedPainNamespaces = $hidxes->getParameter()->getUnterstuetzteSEPADatenformate(); } // If there are no SEPA formats available in the HIDXES Parameters, we look to the general formats if (!is_array($supportedPainNamespaces) || count($supportedPainNamespaces) === 0) { /** @var HISPAS $hispas */ $hispas = $bpd->requireLatestSupportedParameters('HISPAS'); - $supportedPainNamespaces = $hispas->getParameter()->getUnterstuetzteSepaDatenformate(); + $supportedPainNamespaces = $hispas->getParameter()->getUnterstuetzteSEPADatenformate(); } // Sometimes the Bank reports supported schemas with a "_GBIC_X" postfix. diff --git a/lib/Fhp/Action/SendSEPARealtimeTransfer.php b/lib/Fhp/Action/SendSEPARealtimeTransfer.php index 1dafb8b2..22dfda31 100644 --- a/lib/Fhp/Action/SendSEPARealtimeTransfer.php +++ b/lib/Fhp/Action/SendSEPARealtimeTransfer.php @@ -58,13 +58,13 @@ protected function createRequest(BPD $bpd, ?UPD $upd) /** @var HIIPZSv1|HIIPZSv2 $hiipzs */ $hiipzs = $bpd->requireLatestSupportedParameters('HIIPZS'); - $supportedSchemas = $hiipzs->parameter->unterstuetzteSEPADatenformate; + $supportedSchemas = $hiipzs->parameter->getUnterstuetzteSEPADatenformate(); // If there are no SEPA formats available in the HIIPZS Parameters, we look to the general formats if (is_null($supportedSchemas)) { /** @var HISPAS $hispas */ $hispas = $bpd->requireLatestSupportedParameters('HISPAS'); - $supportedSchemas = $hispas->getParameter()->getUnterstuetzteSepaDatenformate(); + $supportedSchemas = $hispas->getParameter()->getUnterstuetzteSEPADatenformate(); } // Sometimes the Bank reports supported schemas with a "_GBIC_X" postfix. diff --git a/lib/Fhp/Action/SendSEPATransfer.php b/lib/Fhp/Action/SendSEPATransfer.php index 477bcbeb..68de23bf 100644 --- a/lib/Fhp/Action/SendSEPATransfer.php +++ b/lib/Fhp/Action/SendSEPATransfer.php @@ -87,8 +87,8 @@ protected function createRequest(BPD $bpd, ?UPD $upd) } /** @var HISPAS $hispas */ - $parameters = $bpd->requireLatestSupportedParameters('HISPAS'); - $supportedSchemas = $parameters->getParameter()->getUnterstuetzteSepaDatenformate(); + $hispas = $bpd->requireLatestSupportedParameters('HISPAS'); + $supportedSchemas = $hispas->getParameter()->getUnterstuetzteSEPADatenformate(); // Sometimes the Bank reports supported schemas with a "_GBIC_X" postfix. // GIBC_X stands for German Banking Industry Committee and a version counter. diff --git a/lib/Fhp/Segment/BME/ParameterTerminierteSEPAFirmenSammellastschriftEinreichenV2.php b/lib/Fhp/Segment/BME/ParameterTerminierteSEPAFirmenSammellastschriftEinreichenV2.php index 34f76f12..e4ed651d 100644 --- a/lib/Fhp/Segment/BME/ParameterTerminierteSEPAFirmenSammellastschriftEinreichenV2.php +++ b/lib/Fhp/Segment/BME/ParameterTerminierteSEPAFirmenSammellastschriftEinreichenV2.php @@ -3,9 +3,13 @@ namespace Fhp\Segment\BME; use Fhp\Segment\BSE\ParameterTerminierteSEPAFirmenLastschriftEinreichenV2; +use Fhp\Segment\UnterstuetzteSEPADatenformate; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; -class ParameterTerminierteSEPAFirmenSammellastschriftEinreichenV2 extends ParameterTerminierteSEPAFirmenLastschriftEinreichenV2 +class ParameterTerminierteSEPAFirmenSammellastschriftEinreichenV2 extends ParameterTerminierteSEPAFirmenLastschriftEinreichenV2 implements UnterstuetzteSEPADatenformate { + use UnterstuetzteSEPADatenformateTrait; + public int $maximaleAnzahlDirectDebitTransferTransactionInformation; public bool $summenfeldBenoetigt; public bool $einzelbuchungErlaubt; diff --git a/lib/Fhp/Segment/BSE/ParameterTerminierteSEPAFirmenEinzellastschriftEinreichenV2.php b/lib/Fhp/Segment/BSE/ParameterTerminierteSEPAFirmenEinzellastschriftEinreichenV2.php index ee09677d..dc256afe 100644 --- a/lib/Fhp/Segment/BSE/ParameterTerminierteSEPAFirmenEinzellastschriftEinreichenV2.php +++ b/lib/Fhp/Segment/BSE/ParameterTerminierteSEPAFirmenEinzellastschriftEinreichenV2.php @@ -2,8 +2,13 @@ namespace Fhp\Segment\BSE; -class ParameterTerminierteSEPAFirmenEinzellastschriftEinreichenV2 extends ParameterTerminierteSEPAFirmenLastschriftEinreichenV2 +use Fhp\Segment\UnterstuetzteSEPADatenformate; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; + +class ParameterTerminierteSEPAFirmenEinzellastschriftEinreichenV2 extends ParameterTerminierteSEPAFirmenLastschriftEinreichenV2 implements UnterstuetzteSEPADatenformate { + use UnterstuetzteSEPADatenformateTrait; + /** Max Length: 4096 */ public ?string $zulaessigePurposecodes = null; diff --git a/lib/Fhp/Segment/DME/ParameterTerminierteSEPASammellastschriftEinreichenV2.php b/lib/Fhp/Segment/DME/ParameterTerminierteSEPASammellastschriftEinreichenV2.php index 02070597..ebaa9f46 100644 --- a/lib/Fhp/Segment/DME/ParameterTerminierteSEPASammellastschriftEinreichenV2.php +++ b/lib/Fhp/Segment/DME/ParameterTerminierteSEPASammellastschriftEinreichenV2.php @@ -3,9 +3,13 @@ namespace Fhp\Segment\DME; use Fhp\Segment\DSE\ParameterTerminierteSEPALastschriftEinreichenV2; +use Fhp\Segment\UnterstuetzteSEPADatenformate; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; -class ParameterTerminierteSEPASammellastschriftEinreichenV2 extends ParameterTerminierteSEPALastschriftEinreichenV2 +class ParameterTerminierteSEPASammellastschriftEinreichenV2 extends ParameterTerminierteSEPALastschriftEinreichenV2 implements UnterstuetzteSEPADatenformate { + use UnterstuetzteSEPADatenformateTrait; + public int $maximaleAnzahlDirectDebitTransferTransactionInformation; public bool $summenfeldBenoetigt; public bool $einzelbuchungErlaubt; diff --git a/lib/Fhp/Segment/DSE/HIDSESv1.php b/lib/Fhp/Segment/DSE/HIDSESv1.php index 9e77934c..9ee8b5b5 100644 --- a/lib/Fhp/Segment/DSE/HIDSESv1.php +++ b/lib/Fhp/Segment/DSE/HIDSESv1.php @@ -15,7 +15,7 @@ class HIDSESv1 extends BaseGeschaeftsvorfallparameter implements HIDXES { public ParameterTerminierteSEPAEinzellastschriftEinreichenV1 $parameter; - public function getParameter(): SEPADirectDebitMinimalLeadTimeProvider + public function getParameter(): ParameterTerminierteSEPAEinzellastschriftEinreichenV1 { return $this->parameter; } diff --git a/lib/Fhp/Segment/DSE/HIDSESv2.php b/lib/Fhp/Segment/DSE/HIDSESv2.php index 17f45000..680d12f4 100644 --- a/lib/Fhp/Segment/DSE/HIDSESv2.php +++ b/lib/Fhp/Segment/DSE/HIDSESv2.php @@ -15,7 +15,7 @@ class HIDSESv2 extends BaseGeschaeftsvorfallparameter implements HIDXES { public ParameterTerminierteSEPAEinzellastschriftEinreichenV2 $parameter; - public function getParameter(): SEPADirectDebitMinimalLeadTimeProvider + public function getParameter(): ParameterTerminierteSEPAEinzellastschriftEinreichenV2 { return $this->parameter; } diff --git a/lib/Fhp/Segment/DSE/ParameterTerminierteSEPAEinzellastschriftEinreichenV2.php b/lib/Fhp/Segment/DSE/ParameterTerminierteSEPAEinzellastschriftEinreichenV2.php index f6a6f629..1123b5f1 100644 --- a/lib/Fhp/Segment/DSE/ParameterTerminierteSEPAEinzellastschriftEinreichenV2.php +++ b/lib/Fhp/Segment/DSE/ParameterTerminierteSEPAEinzellastschriftEinreichenV2.php @@ -2,8 +2,13 @@ namespace Fhp\Segment\DSE; -class ParameterTerminierteSEPAEinzellastschriftEinreichenV2 extends ParameterTerminierteSEPALastschriftEinreichenV2 +use Fhp\Segment\UnterstuetzteSEPADatenformate; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; + +class ParameterTerminierteSEPAEinzellastschriftEinreichenV2 extends ParameterTerminierteSEPALastschriftEinreichenV2 implements UnterstuetzteSEPADatenformate { + use UnterstuetzteSEPADatenformateTrait; + /** Max Length: 4096 */ public ?string $zulaessigePurposecodes = null; diff --git a/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV1.php b/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV1.php index a323cd94..9ae83ab2 100644 --- a/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV1.php +++ b/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV1.php @@ -3,6 +3,8 @@ namespace Fhp\Segment\IPZ; use Fhp\Segment\BaseDeg; +use Fhp\Segment\UnterstuetzteSEPADatenformate; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; /** * Parameter SEPA-Instant Payment Zahlung (Version 1) @@ -10,8 +12,10 @@ * @link https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Messages_Geschaeftsvorfaelle_2022-04-15_final_version.pdf * Section D */ -class ParameterSEPAInstantPaymentZahlungV1 extends BaseDeg +class ParameterSEPAInstantPaymentZahlungV1 extends BaseDeg implements UnterstuetzteSEPADatenformate { + use UnterstuetzteSEPADatenformateTrait; + /** Max Length: 4096 */ public ?string $zulaessigePurposecodes = null; diff --git a/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV2.php b/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV2.php index 70a290b5..6675d306 100644 --- a/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV2.php +++ b/lib/Fhp/Segment/IPZ/ParameterSEPAInstantPaymentZahlungV2.php @@ -3,6 +3,8 @@ namespace Fhp\lib\Fhp\Segment\IPZ; use Fhp\Segment\BaseDeg; +use Fhp\Segment\UnterstuetzteSEPADatenformate; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; /** * Parameter SEPA-Instant Payment Zahlung (Version 2) @@ -10,8 +12,10 @@ * @link https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv3/FinTS_3.0_Messages_Geschaeftsvorfaelle_2022-04-15_final_version.pdf * Section D */ -class ParameterSEPAInstantPaymentZahlungV2 extends BaseDeg +class ParameterSEPAInstantPaymentZahlungV2 extends BaseDeg implements UnterstuetzteSEPADatenformate { + use UnterstuetzteSEPADatenformateTrait; + public bool $umwandlungNachSEPAUeberweisungZulaessigErlaubt; /** Max Length: 4096 */ diff --git a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordern.php b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordern.php index 1f2a5039..d0b09eb7 100644 --- a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordern.php +++ b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordern.php @@ -3,11 +3,12 @@ namespace Fhp\Segment\SPA; +use Fhp\Segment\UnterstuetzteSEPADatenformate; + /** * Data Element Group: Parameter SEPA-Kontoverbindung anfordern */ -interface ParameterSepaKontoverbindungAnfordern +interface ParameterSepaKontoverbindungAnfordern extends UnterstuetzteSEPADatenformate { - /** @return string[] */ - public function getUnterstuetzteSepaDatenformate(): array; + } diff --git a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV1.php b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV1.php index cc7586df..49e51bd6 100644 --- a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV1.php +++ b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV1.php @@ -4,6 +4,7 @@ namespace Fhp\Segment\SPA; use Fhp\Segment\BaseDeg; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; /** * Data Element Group: Parameter SEPA-Kontoverbindung anfordern (Version 1) @@ -13,7 +14,7 @@ */ class ParameterSepaKontoverbindungAnfordernV1 extends BaseDeg implements ParameterSepaKontoverbindungAnfordern { - use GetUnterstuetzteSepaDatenformateTrait; + use UnterstuetzteSEPADatenformateTrait; public bool $einzelkontenabrufErlaubt; public bool $nationaleKontoverbindungErlaubt; diff --git a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV2.php b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV2.php index e2ed1ea1..f82a95ec 100644 --- a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV2.php +++ b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV2.php @@ -4,6 +4,7 @@ namespace Fhp\Segment\SPA; use Fhp\Segment\BaseDeg; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; /** * Data Element Group: Parameter SEPA-Kontoverbindung anfordern (Version 2) @@ -13,7 +14,7 @@ */ class ParameterSepaKontoverbindungAnfordernV2 extends BaseDeg implements ParameterSepaKontoverbindungAnfordern { - use GetUnterstuetzteSepaDatenformateTrait; + use UnterstuetzteSEPADatenformateTrait; public bool $einzelkontenabrufErlaubt; public bool $nationaleKontoverbindungErlaubt; diff --git a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV3.php b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV3.php index 8dc1bbec..901a10a6 100644 --- a/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV3.php +++ b/lib/Fhp/Segment/SPA/ParameterSepaKontoverbindungAnfordernV3.php @@ -4,6 +4,7 @@ namespace Fhp\Segment\SPA; use Fhp\Segment\BaseDeg; +use Fhp\Segment\UnterstuetzteSEPADatenformateTrait; /** * Data Element Group: Parameter SEPA-Kontoverbindung anfordern (Version 3) @@ -13,7 +14,7 @@ */ class ParameterSepaKontoverbindungAnfordernV3 extends BaseDeg implements ParameterSepaKontoverbindungAnfordern { - use GetUnterstuetzteSepaDatenformateTrait; + use UnterstuetzteSEPADatenformateTrait; public bool $einzelkontenabrufErlaubt; public bool $nationaleKontoverbindungErlaubt; diff --git a/lib/Fhp/Segment/UnterstuetzteSEPADatenformate.php b/lib/Fhp/Segment/UnterstuetzteSEPADatenformate.php new file mode 100644 index 00000000..e3e5d1af --- /dev/null +++ b/lib/Fhp/Segment/UnterstuetzteSEPADatenformate.php @@ -0,0 +1,10 @@ + 'urn:iso:std:iso:20022:tech:xsd:', '.xsd' => '', ]); - }, $this->unterstuetzteSepaDatenformate); + }, $this->unterstuetzteSepaDatenformate ?? $this->unterstuetzteSEPADatenformate ?? []); } }