From d994161907260c4c93c6957a6745217258a38f65 Mon Sep 17 00:00:00 2001 From: elizabeth-ilina Date: Fri, 26 Sep 2025 16:56:11 -0400 Subject: [PATCH] fix(payments-next): [expanded payment methods][Link] Save payment method button is displayed on the Manage payment methods page for Link Because: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * The Save payment method button is displayed, although there is nothing to save at this point. * There is no “Set as default payment method” button for Link. This commit: * Fixes the above bugs Closes #PAY-3287 --- .../components/PaymentMethodManagement/index.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libs/payments/ui/src/lib/client/components/PaymentMethodManagement/index.tsx b/libs/payments/ui/src/lib/client/components/PaymentMethodManagement/index.tsx index 44b34527321..1b971080e0a 100644 --- a/libs/payments/ui/src/lib/client/components/PaymentMethodManagement/index.tsx +++ b/libs/payments/ui/src/lib/client/components/PaymentMethodManagement/index.tsx @@ -48,6 +48,7 @@ export function PaymentMethodManagement({ useState(false); const [isNonCardSelected, setIsNonCardSelected] = useState(false); const [hideOverflow, setHideOverflow] = useState(true); + const [hasPaymentMethod, setHasPaymentMethod] = useState(false); const handleReady = () => { setIsReady(true); @@ -62,11 +63,19 @@ export function PaymentMethodManagement({ ) => { setIsComplete(event.complete); setError(null); + setHasPaymentMethod(!!event.value.payment_method); if (event.value.type !== 'card') { setIsNonCardSelected(true); setIsInputNewCardDetails(false); setHasFullNameError(false); + if (!!event.value.payment_method) { + if (event.value.payment_method.id !== defaultPaymentMethodId) { + setIsNonDefaultCardSelected(true); + } else { + setIsNonDefaultCardSelected(false); + } + } return; } setIsNonCardSelected(false); @@ -271,7 +280,7 @@ export function PaymentMethodManagement({ )} - {(isInputNewCardDetails || isNonCardSelected) && ( + {(isInputNewCardDetails || (isNonCardSelected && !hasPaymentMethod)) && (