diff --git a/auth-web/src/components/auth/common/PaymentMethods.vue b/auth-web/src/components/auth/common/PaymentMethods.vue index 1702d3ab4..b05badc09 100644 --- a/auth-web/src/components/auth/common/PaymentMethods.vue +++ b/auth-web/src/components/auth/common/PaymentMethods.vue @@ -386,11 +386,6 @@ export default defineComponent({ if (currentSelectedProducts.value.length === 0) { paymentMethod.supported = false } - if (paymentType === state.selectedPaymentMethod && !paymentMethod.supported) { - // TODO fix side effect - state.selectedPaymentMethod = '' - emit('payment-method-selected', state.selectedPaymentMethod) - } } paymentMethods.push(paymentMethod) } @@ -528,6 +523,16 @@ export default defineComponent({ state.selectedPaymentMethod = newValue }) + watch(() => [state.paymentMethodSupportedForProducts, state.filteredPaymentMethods], () => { + if (props.isCreateAccount && state.selectedPaymentMethod) { + const paymentMethod = PAYMENT_METHODS[state.selectedPaymentMethod] + if (!paymentMethod?.supported) { + state.selectedPaymentMethod = '' + emit('payment-method-selected', state.selectedPaymentMethod) + } + } + }) + onMounted(async () => { paymentMethodSelected({ type: props.currentSelectedPaymentMethod }, false) if (state.isPaymentEJV) {