Skip to content

Commit ae724b4

Browse files
committed
Turn the new DEGs for VoP into versioned classes
They have versions in the specification. Also refer to where we got them from in the specification.
1 parent 4b4394c commit ae724b4

File tree

7 files changed

+34
-19
lines changed

7 files changed

+34
-19
lines changed

lib/Fhp/Segment/VPP/ErgebnisVopPruefungEinzeltransaktion.php renamed to lib/Fhp/Segment/VPP/ErgebnisVopPruefungEinzeltransaktionV1.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Fhp\Segment\BaseDeg;
66

7-
class ErgebnisVopPruefungEinzeltransaktion extends BaseDeg
7+
class ErgebnisVopPruefungEinzeltransaktionV1 extends BaseDeg
88
{
99
public string $ibanEmpfaenger;
1010

lib/Fhp/Segment/VPP/HIVPPSv1.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
*/
1313
class HIVPPSv1 extends BaseGeschaeftsvorfallparameter
1414
{
15-
public ParameterNamensabgleichPruefauftrag $parameter;
15+
public ParameterNamensabgleichPruefauftragV1 $parameter;
1616
}

lib/Fhp/Segment/VPP/HIVPPv1.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class HIVPPv1 extends BaseSegment
2424

2525
public ?Bin $paymentStatusReport = null;
2626

27-
public ?ErgebnisVopPruefungEinzeltransaktion $ergebnisVopPruefungEinzeltransaktion = null;
27+
public ?ErgebnisVopPruefungEinzeltransaktionV1 $ergebnisVopPruefungEinzeltransaktion = null;
2828

2929
public ?string $aufklaerungstextAutorisierungTrotzAbweichung = null;
3030

lib/Fhp/Segment/VPP/HKVPPv1.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
*/
1414
class HKVPPv1 extends BaseSegment
1515
{
16-
public UnterstuetztePaymentStatusReports $unterstuetztePaymentStatusReports;
16+
public UnterstuetztePaymentStatusReportsV1 $unterstuetztePaymentStatusReports;
1717

1818
public ?Bin $pollingId = null;
1919

20-
/** Only allowed if {@link ParameterNamensabgleichPruefauftrag::$eingabeAnzahlEintraegeErlaubt} says so. */
20+
/** Only allowed if {@link ParameterNamensabgleichPruefauftragV1::$eingabeAnzahlEintraegeErlaubt} says so. */
2121
public ?int $maximaleAnzahlEintraege = null;
2222

2323
/** For pagination. Max length: 35 */
@@ -26,7 +26,7 @@ class HKVPPv1 extends BaseSegment
2626
public static function createEmpty(): static
2727
{
2828
$hkvpp = parent::createEmpty();
29-
$hkvpp->unterstuetztePaymentStatusReports = new UnterstuetztePaymentStatusReports();
29+
$hkvpp->unterstuetztePaymentStatusReports = new UnterstuetztePaymentStatusReportsV1();
3030
return $hkvpp;
3131
}
3232
}

lib/Fhp/Segment/VPP/ParameterNamensabgleichPruefauftrag.php renamed to lib/Fhp/Segment/VPP/ParameterNamensabgleichPruefauftragV1.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@
44

55
use Fhp\Segment\BaseDeg;
66

7-
class ParameterNamensabgleichPruefauftrag extends BaseDeg
7+
/**
8+
* DEG: Parameter Namensabgleich Prüfauftrag
9+
*
10+
* @see FinTS_3.0_Messages_Geschaeftsvorfaelle_VOP_1.01_2025_06_27_FV.pdf
11+
* Section: D
12+
*/
13+
class ParameterNamensabgleichPruefauftragV1 extends BaseDeg
814
{
915
public int $maximaleAnzahlCreditTransferTransactionInformationOptIn;
1016

@@ -21,4 +27,4 @@ class ParameterNamensabgleichPruefauftrag extends BaseDeg
2127

2228
/** @var string[] @Max(999999) Max length each: 6 */
2329
public array $vopPflichtigerZahlungsverkehrsauftrag;
24-
}
30+
}

lib/Fhp/Segment/VPP/UnterstuetztePaymentStatusReports.php

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseDeg;
6+
7+
/**
8+
* DEG: Unterstützte Payment Status Reports
9+
*
10+
* @see FinTS_3.0_Messages_Geschaeftsvorfaelle_VOP_1.01_2025_06_27_FV.pdf
11+
*
12+
* The specification doesn't actually specify the contents of this DEG. In section C.10.7.1.1 a), it's used, but not
13+
* specified anywhere. We have to infer its contents indirectly, and we align with what other FinTS libraries do:
14+
* - https://github.com/hbci4j/hbci4java/blob/f5dd47fca7b4cf1163ac1b955495dec1b195340e/src/main/resources/hbci-300.xml#L2207-L2209
15+
*/
16+
class UnterstuetztePaymentStatusReportsV1 extends BaseDeg
17+
{
18+
/** @var string[] @Max(99) Max length each: 256 */
19+
public array $paymentStatusReportDescriptor;
20+
}

0 commit comments

Comments
 (0)