diff --git a/apps/web/pages/api/auth/verify-email.ts b/apps/web/pages/api/auth/verify-email.ts index 1509f071f3..21797cf9f4 100644 --- a/apps/web/pages/api/auth/verify-email.ts +++ b/apps/web/pages/api/auth/verify-email.ts @@ -1,8 +1,10 @@ import type { NextApiRequest, NextApiResponse } from "next"; import { z } from "zod"; +import stripe from "@calcom/app-store/stripepayment/lib/server"; import dayjs from "@calcom/dayjs"; import { WEBAPP_URL } from "@calcom/lib/constants"; +import { IS_STRIPE_ENABLED } from "@calcom/lib/constants"; import { prisma } from "@calcom/prisma"; import { userMetadata } from "@calcom/prisma/zod-utils"; @@ -66,7 +68,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) id: true, }, }); - if (existingUser) { return res.status(401).json({ message: USER_ALREADY_EXISTING_MESSAGE }); } @@ -101,6 +102,12 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) }, }); + if (IS_STRIPE_ENABLED && userMetadataParsed.stripeCustomerId) { + await stripe.customers.update(userMetadataParsed.stripeCustomerId, { + email: updatedEmail, + }); + } + // The user is trying to update the email to an already existing unverified secondary email of his // so we swap the emails and its verified status if (existingSecondaryUser?.userId === user.id) {