From 6147e4c0ed46ec5e78075cd1c0a6654c45c70491 Mon Sep 17 00:00:00 2001 From: erio Date: Tue, 7 Apr 2026 01:03:53 +0800 Subject: [PATCH] fix(payment): return actual decrypted config values instead of masking Admin API is authenticated; frontend handles visual masking via password inputs + eye toggle. This allows the eye icon to reveal actual values. --- backend/cmd/server/VERSION | 2 +- .../internal/service/payment_config_service.go | 16 +++------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/backend/cmd/server/VERSION b/backend/cmd/server/VERSION index f0cc2a729e..20f0101a2d 100644 --- a/backend/cmd/server/VERSION +++ b/backend/cmd/server/VERSION @@ -1 +1 @@ -0.1.108.41 +0.1.108.42 diff --git a/backend/internal/service/payment_config_service.go b/backend/internal/service/payment_config_service.go index eab19e0452..f33505895e 100644 --- a/backend/internal/service/payment_config_service.go +++ b/backend/internal/service/payment_config_service.go @@ -295,19 +295,9 @@ func (s *PaymentConfigService) ListProviderInstancesWithConfig(ctx context.Conte } func (s *PaymentConfigService) decryptAndMaskConfig(encrypted string) map[string]string { - raw := s.decryptConfig(encrypted) - if raw == nil { - return nil - } - masked := make(map[string]string, len(raw)) - for k, v := range raw { - if isSensitiveConfigField(k) && v != "" { - masked[k] = "••••••••" - } else { - masked[k] = v - } - } - return masked + // Return actual decrypted values — admin API is authenticated, + // frontend handles visual masking via password inputs + eye toggle. + return s.decryptConfig(encrypted) } // pendingOrderStatuses are order statuses considered "in progress" —