From b61728514832c77af0eb18fa7ac5ad684afcf993 Mon Sep 17 00:00:00 2001 From: ncoronel Date: Thu, 27 Aug 2026 16:40:32 -0300 Subject: [PATCH] feat(payments): rename match reason from 'exact_amount_different_dni' to 'exact_amount_near_dni' --- .../Services/TelepagosWebhookService.php | 2 +- .../Purchase/Resources/PurchaseResource.php | 2 +- ...20000_rename_near_dni_candidate_reason.php | 21 +++++++++++++++++++ .../Integration/TelepagosWebhookTest.php | 4 ++-- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 database/migrations/2026_08_27_020000_rename_near_dni_candidate_reason.php diff --git a/app/Domains/Integration/Services/TelepagosWebhookService.php b/app/Domains/Integration/Services/TelepagosWebhookService.php index fdc8a01..3e4e9c6 100644 --- a/app/Domains/Integration/Services/TelepagosWebhookService.php +++ b/app/Domains/Integration/Services/TelepagosWebhookService.php @@ -317,7 +317,7 @@ class TelepagosWebhookService abs((float) $purchaseAmount - (float) $amount), ), 'match_reason' => $amountMatches - ? ($dniMatches ? 'ambiguous_exact_match' : 'exact_amount_different_dni') + ? ($dniMatches ? 'ambiguous_exact_match' : 'exact_amount_near_dni') : 'exact_dni_near_amount', 'confidence' => $amountMatches ? ($dniMatches ? 'exact' : 'medium') diff --git a/app/Domains/Purchase/Resources/PurchaseResource.php b/app/Domains/Purchase/Resources/PurchaseResource.php index 3a0e44a..3513ad1 100644 --- a/app/Domains/Purchase/Resources/PurchaseResource.php +++ b/app/Domains/Purchase/Resources/PurchaseResource.php @@ -147,7 +147,7 @@ class PurchaseResource extends JsonResource return match ($reason) { 'ambiguous_exact_match' => 0, 'exact_dni_near_amount' => 1, - 'exact_amount_different_dni' => 2, + 'exact_amount_near_dni' => 2, default => 3, }; } diff --git a/database/migrations/2026_08_27_020000_rename_near_dni_candidate_reason.php b/database/migrations/2026_08_27_020000_rename_near_dni_candidate_reason.php new file mode 100644 index 0000000..eedbd06 --- /dev/null +++ b/database/migrations/2026_08_27_020000_rename_near_dni_candidate_reason.php @@ -0,0 +1,21 @@ +where('match_reason', 'exact_amount_different_dni') + ->update(['match_reason' => 'exact_amount_near_dni']); + } + + public function down(): void + { + DB::table('telepagos_payment_candidates') + ->where('match_reason', 'exact_amount_near_dni') + ->update(['match_reason' => 'exact_amount_different_dni']); + } +}; diff --git a/tests/Feature/Integration/TelepagosWebhookTest.php b/tests/Feature/Integration/TelepagosWebhookTest.php index b191bc4..f089953 100644 --- a/tests/Feature/Integration/TelepagosWebhookTest.php +++ b/tests/Feature/Integration/TelepagosWebhookTest.php @@ -455,7 +455,7 @@ class TelepagosWebhookTest extends TestCase 'payment_amount' => 50, 'purchase_amount' => 50, 'amount_difference' => 0, - 'match_reason' => 'exact_amount_different_dni', + 'match_reason' => 'exact_amount_near_dni', 'confidence' => 'medium', ]); $this->assertDatabaseHas('telepagos_payment_candidates', [ @@ -466,7 +466,7 @@ class TelepagosWebhookTest extends TestCase 'payment_dni' => '12345678', 'purchase_dni' => '12345087', 'amount_matches' => true, - 'match_reason' => 'exact_amount_different_dni', + 'match_reason' => 'exact_amount_near_dni', ]); $this->assertDatabaseMissing('telepagos_payment_candidates', [ 'telepagos_payment_id' => $payment->id,