From 76cbd26d735d612cf1b7e1c0012622aab867ae45 Mon Sep 17 00:00:00 2001 From: aezakmi0 <212902393+aezakmi0@users.noreply.github.com> Date: Tue, 22 Sep 2026 10:37:56 +0300 Subject: [PATCH] Do not make adjustments on captured payments --- .../provider/payments/service/ProviderPaymentsService.java | 3 ++- .../provider/payments/ProviderPaymentsServiceTest.java | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/dev/vality/disputes/provider/payments/service/ProviderPaymentsService.java b/src/main/java/dev/vality/disputes/provider/payments/service/ProviderPaymentsService.java index c257e5c..4f2cc97 100644 --- a/src/main/java/dev/vality/disputes/provider/payments/service/ProviderPaymentsService.java +++ b/src/main/java/dev/vality/disputes/provider/payments/service/ProviderPaymentsService.java @@ -193,7 +193,8 @@ public void callHgForCreateAdjustment(ProviderCallback providerCallback) { updateNextCheckAfter(providerCallback); return; } - if (createTransactionInfoAdjustment(providerCallback, invoicePayment)) { + if (statusAction != PaymentStatusValidator.StatusAction.CAPTURED + && createTransactionInfoAdjustment(providerCallback, invoicePayment)) { return; } if (statusAction == PaymentStatusValidator.StatusAction.FAILED) { diff --git a/src/test/java/dev/vality/disputes/provider/payments/ProviderPaymentsServiceTest.java b/src/test/java/dev/vality/disputes/provider/payments/ProviderPaymentsServiceTest.java index 58b888b..9502eec 100644 --- a/src/test/java/dev/vality/disputes/provider/payments/ProviderPaymentsServiceTest.java +++ b/src/test/java/dev/vality/disputes/provider/payments/ProviderPaymentsServiceTest.java @@ -117,10 +117,13 @@ public void testRetryLaterWhenInvoicePaymentStatusIsProcessed() { @Test @SneakyThrows - public void testSuccessWhenInvoicePaymentStatusIsCapturedWithChangedAmount() { - var disputeId = pendingFlowHandler.handlePending(); + public void testSuccessWhenInvoicePaymentStatusIsCapturedWithChangedAmountAndTransactionInfo() { + var transactionInfo = new TransactionInfo("new-trx-id", Map.of("rrn", "123")); + var disputeId = pendingFlowHandler.handlePending( + new PaymentStatusResult(true).setChangedTransactionInfo(transactionInfo)); var dispute = disputeDao.get(disputeId); var providerCallback = providerCallbackDao.get(dispute.getInvoiceId(), dispute.getPaymentId()); + assertNotNull(providerCallback.getTransactionInfo()); providerCallback.setChangedAmount(101L); providerCallbackDao.update(providerCallback); var invoicePayment = createInvoicePayment(providerCallback.getPaymentId());