Skip to content

Commit 575a5a8

Browse files
authored
Merge pull request #506 from ampaze/verification-of-payee-basics
Verification of payee segments and return codes
2 parents 0720da4 + 8b57c71 commit 575a5a8

File tree

8 files changed

+172
-0
lines changed

8 files changed

+172
-0
lines changed

lib/Fhp/Segment/HIRMS/Rueckmeldungscode.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,16 @@ public static function isError(int $code): bool
7979
*/
8080
public const PAGINATION = 3040;
8181

82+
public const VOP_KEINE_NAMENSABWEICHUNG = 25;
83+
84+
public const VOP_ERGEBNIS_NAMENSABGLEICH_PRUEFEN = 3090;
85+
86+
public const VOP_AUSFUEHRUNGSAUFTRAG_NICHT_BENOETIGT = 3091;
87+
88+
public const VOP_NAMENSABGLEICH_IST_NOCH_IN_BEARBEITUNG = 3093;
89+
90+
public const VOP_NAMENSABGLEICH_IST_KOMPLETT = 3094;
91+
8292
/**
8393
* Zugelassene Ein- und Zwei-Schritt-Verfahren für den Benutzer (+ Rückmeldungsparameter).
8494
* The parameters reference the VerfahrensparameterZweiSchrittVerfahren.sicherheitsfunktion values (900..997) from
@@ -99,6 +109,14 @@ public static function isError(int $code): bool
99109
*/
100110
public const ZUGANG_VORLAEUFIG_GESPERRT = 3938;
101111

112+
/**
113+
* Der eingereichte HKTAN ist entwertet und der Auftrag (nach
114+
* vollständiger Übermittlung des Prüfergebnisses) soll erneut mit einem neuen
115+
* HKTAN in Verbindung mit einem HKVPA eingereicht werden, sofern der
116+
* Kunde die Ausführung weiterhin wünscht.
117+
*/
118+
public const FREIGABE_KANN_NICHT_ERTEILT_WERDEN = 3945;
119+
102120
/**
103121
* Starke Kundenauthentifizierung noch ausstehend.
104122
* Indicates that the decoupled authentication is still outstanding.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseDeg;
6+
7+
class ErgebnisVopPruefungEinzeltransaktion extends BaseDeg
8+
{
9+
public string $ibanEmpfaenger;
10+
11+
public ?string $ibanZusatzinformationen = null;
12+
13+
public ?string $abweichenderEmpfaengername = null;
14+
15+
public ?string $anderesIdentifikationmerkmal = null;
16+
17+
/** Allowed values: RVMC, RCVC, RVNM, RVNA, PDNG */
18+
public string $vopPruefergebnis;
19+
20+
public ?string $grundRVNA = null;
21+
}

lib/Fhp/Segment/VPP/HIVPPSv1.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseGeschaeftsvorfallparameter;
6+
7+
/**
8+
* Segment: Namensabgleich Prüfauftrag Parameter
9+
*
10+
* @see FinTS_3.0_Messages_Geschaeftsvorfaelle_VOP_1.01_2025_06_27_FV.pdf
11+
* Section: C.10.7.1 c)
12+
*/
13+
class HIVPPSv1 extends BaseGeschaeftsvorfallparameter
14+
{
15+
public ParameterNamensabgleichPruefauftrag $parameter;
16+
}

lib/Fhp/Segment/VPP/HIVPPv1.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseSegment;
6+
use Fhp\Segment\Common\Tsp;
7+
use Fhp\Syntax\Bin;
8+
9+
/**
10+
* Segment: Namensabgleich Prüfergebnis
11+
*
12+
* @see FinTS_3.0_Messages_Geschaeftsvorfaelle_VOP_1.01_2025_06_27_FV.pdf
13+
* Section: C.10.7.1 b)
14+
*/
15+
class HIVPPv1 extends BaseSegment
16+
{
17+
public ?Bin $vopId = null;
18+
19+
public ?Tsp $vopIdGueltigBis = null;
20+
21+
public ?Bin $pollingId = null;
22+
23+
public ?string $paymentStatusReportDescriptor = null;
24+
25+
public ?Bin $paymentStatusReport = null;
26+
27+
public ?ErgebnisVopPruefungEinzeltransaktion $ergebnisVopPruefungEinzeltransaktion = null;
28+
29+
public ?string $aufklaerungstextAutorisierungTrotzAbweichung = null;
30+
31+
// This value is in seconds
32+
public ?int $wartezeitVorNaechsterAbfrage = null;
33+
}

lib/Fhp/Segment/VPP/HKVPAv1.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseSegment;
6+
use Fhp\Syntax\Bin;
7+
8+
/**
9+
* Segment: Namensabgleich Ausführungsauftrag
10+
*
11+
* @see FinTS_3.0_Messages_Geschaeftsvorfaelle_VOP_1.01_2025_06_27_FV.pdf
12+
* Section: C.10.7.1.2 a)
13+
*/
14+
class HKVPAv1 extends BaseSegment
15+
{
16+
public Bin $vopId;
17+
}

lib/Fhp/Segment/VPP/HKVPPv1.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseSegment;
6+
use Fhp\Syntax\Bin;
7+
8+
/**
9+
* Segment: Namensabgleich Prüfauftrag
10+
*
11+
* @see FinTS_3.0_Messages_Geschaeftsvorfaelle_VOP_1.01_2025_06_27_FV.pdf
12+
* Section: C.10.7.1 a)
13+
*/
14+
class HKVPPv1 extends BaseSegment
15+
{
16+
public UnterstuetztePaymentStatusReports $unterstuetztePaymentStatusReports;
17+
18+
public ?Bin $pollingId = null;
19+
20+
/** Only allowed if {@link ParameterNamensabgleichPruefauftrag::$eingabeAnzahlEintraegeErlaubt} says so. */
21+
public ?int $maximaleAnzahlEintraege = null;
22+
23+
/** For pagination. Max length: 35 */
24+
public ?string $aufsetzpunkt = null;
25+
26+
public static function createEmpty(): static
27+
{
28+
$hkvpp = parent::createEmpty();
29+
$hkvpp->unterstuetztePaymentStatusReports = new UnterstuetztePaymentStatusReports();
30+
return $hkvpp;
31+
}
32+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseDeg;
6+
7+
class ParameterNamensabgleichPruefauftrag extends BaseDeg
8+
{
9+
public int $maximaleAnzahlCreditTransferTransactionInformationOptIn;
10+
11+
public bool $aufklaerungstextStrukturiert;
12+
13+
/** Allowed values: V, S */
14+
public string $artDerLieferungPaymentStatusReport;
15+
16+
public bool $sammelzahlungenMitEinemAuftragErlaubt;
17+
18+
public bool $eingabeAnzahlEintraegeErlaubt;
19+
20+
public string $unterstuetztePaymentStatusReportDatenformate;
21+
22+
/** @var string[] @Max(999999) Max length each: 6 */
23+
public array $vopPflichtigerZahlungsverkehrsauftrag;
24+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Fhp\Segment\VPP;
4+
5+
use Fhp\Segment\BaseDeg;
6+
7+
class UnterstuetztePaymentStatusReports extends BaseDeg
8+
{
9+
/** @var string[] @Max(99) Max length each: 256 */
10+
public array $paymentStatusReportDescriptor;
11+
}

0 commit comments

Comments
 (0)