From a05a6506e8421070312868ed4733a191d1ac3f9d Mon Sep 17 00:00:00 2001 From: Anatoliy Poloz Date: Sat, 21 Mar 2026 07:10:16 +0300 Subject: [PATCH] fix(sign) --- .../Identification/UnidentifiedTransactionData.php | 1 + src/Traits/SignableData.php | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Data/NominalAccounts/Identification/UnidentifiedTransactionData.php b/src/Data/NominalAccounts/Identification/UnidentifiedTransactionData.php index aa556d5..1bbfaca 100644 --- a/src/Data/NominalAccounts/Identification/UnidentifiedTransactionData.php +++ b/src/Data/NominalAccounts/Identification/UnidentifiedTransactionData.php @@ -29,6 +29,7 @@ class UnidentifiedTransactionData extends Data public ?string $documentNumber = null, public ?string $date = null, public ?string $purpose = null, + public ?string $accountNumber = null, public ?PayerData $payer = null, // Nested DTO for payer details ) {} // diff --git a/src/Traits/SignableData.php b/src/Traits/SignableData.php index 0b698f1..8aaafd3 100644 --- a/src/Traits/SignableData.php +++ b/src/Traits/SignableData.php @@ -20,7 +20,7 @@ trait SignableData // 3. Canonicalize (RFC 8785 - simple version: sort keys, remove nulls, no spaces) $canonicalData = $this->canonicalizeArray($data); - + $jsonToSign = json_encode($canonicalData, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); // 4. Sign @@ -32,7 +32,7 @@ trait SignableData } $current = array_values($this->digestSignatures->toCollection()->all()); - $current[] = new DigestSignatureData($signature, 'rsa'); + $current[] = new DigestSignatureData($signature, 'RSA'); $this->digestSignatures = new DataCollection(DigestSignatureData::class, $current); @@ -42,7 +42,7 @@ trait SignableData private function canonicalizeArray(array $array): array { // Remove nulls and empty strings - $array = array_filter($array, fn($v) => $v !== null); + $array = array_filter($array, fn ($v) => $v !== null); // Sort keys lexically ksort($array);