diff --git a/app/frontend/components/user_payments.py b/app/frontend/components/user_payments.py index a3506aee368f40f9e6ebc2add90b21925ecf14ea..0573ad380b4ac90729b5a79b3d018932fdb7d432 100644 --- a/app/frontend/components/user_payments.py +++ b/app/frontend/components/user_payments.py @@ -220,7 +220,9 @@ def user_payments_frame(parent, switch_func, API_URL, token): # Format card number with spaces raw_number = payment['card_number'] - formatted_number = ' '.join([raw_number[i:i+4] for i in range(0, len(raw_number), 4)]) + # Mask first 12 digits and show last 4 + masked_number = '**** **** **** ' + raw_number[-4:] if len(raw_number) >= 4 else raw_number + formatted_number = masked_number # Card number card_number = ctk.CTkLabel( @@ -644,10 +646,9 @@ def user_payments_frame(parent, switch_func, API_URL, token): # Update card number card_num = card_entry.get().strip() if card_num: - # Format card number with spaces - formatted_num = ' '.join([card_num[i:i+4] if i+4 <= len(card_num) else '*'*(4-(len(card_num)-i)) - for i in range(0, 16, 4)]) - card_number_preview.configure(text=formatted_num) + # Format card number with spaces and mask first 12 digits + masked_num = '**** **** **** ' + card_num[-4:] if len(card_num) >= 4 else card_num + card_number_preview.configure(text=masked_num) else: card_number_preview.configure(text="**** **** **** ****")