@@ -14,34 +14,45 @@ final class QrPaymentReferenceGenerator implements SelfValidatableInterface
14
14
{
15
15
use SelfValidatableTrait;
16
16
17
- private ?string $ customerIdentificationNumber = null ;
18
- private string $ referenceNumber ;
19
-
20
17
public static function generate (?string $ customerIdentificationNumber , string $ referenceNumber ): string
21
18
{
22
19
$ qrPaymentReferenceGenerator = new self ($ customerIdentificationNumber , $ referenceNumber );
23
20
24
21
return $ qrPaymentReferenceGenerator ->doGenerate ();
25
22
}
26
23
27
- public function __construct (?string $ customerIdentificationNumber , string $ referenceNumber )
28
- {
24
+ /**
25
+ * @internal Will be made private in v5. Use QrPaymentReferenceGenerator::generate() instead.
26
+ */
27
+ public function __construct (
28
+ private ?string $ customerIdentificationNumber ,
29
+ private string $ referenceNumber
30
+ ) {
29
31
if (null !== $ customerIdentificationNumber ) {
30
32
$ this ->customerIdentificationNumber = StringModifier::stripWhitespace ($ customerIdentificationNumber );
31
33
}
32
34
$ this ->referenceNumber = StringModifier::stripWhitespace ($ referenceNumber );
33
35
}
34
36
37
+ /**
38
+ * @deprecated Will be removed in v5.
39
+ */
35
40
public function getCustomerIdentificationNumber (): ?string
36
41
{
37
42
return $ this ->customerIdentificationNumber ;
38
43
}
39
44
40
- public function getReferenceNumber (): ?string
45
+ /**
46
+ * @deprecated Will be removed in v5.
47
+ */
48
+ public function getReferenceNumber (): string
41
49
{
42
50
return $ this ->referenceNumber ;
43
51
}
44
52
53
+ /**
54
+ * @internal Will be made private in v5. Use QrPaymentReferenceGenerator::generate() instead.
55
+ */
45
56
public function doGenerate (): string
46
57
{
47
58
if (!$ this ->isValid ()) {
@@ -53,7 +64,7 @@ public function doGenerate(): string
53
64
$ completeReferenceNumber = $ this ->getCustomerIdentificationNumber ();
54
65
55
66
$ strlen = $ completeReferenceNumber ? strlen ($ completeReferenceNumber ) : 0 ;
56
- $ completeReferenceNumber .= str_pad (( string ) $ this ->getReferenceNumber (), 26 - $ strlen , '0 ' , STR_PAD_LEFT );
67
+ $ completeReferenceNumber .= str_pad ($ this ->getReferenceNumber (), 26 - $ strlen , '0 ' , STR_PAD_LEFT );
57
68
$ completeReferenceNumber .= $ this ->modulo10 ($ completeReferenceNumber );
58
69
59
70
return $ completeReferenceNumber ;
0 commit comments