⏪ Revert checkout session update existing customer
An email should not be tied to a Stripe customer Closes #1615
This commit is contained in:
@ -74,31 +74,14 @@ export const createCheckoutSession = async ({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const existingCustomer = await stripe.customers.list({
|
const customer = await stripe.customers.create({
|
||||||
email,
|
|
||||||
})
|
|
||||||
|
|
||||||
if (
|
|
||||||
existingCustomer.data.length > 0 &&
|
|
||||||
user.email !== existingCustomer.data.at(0)?.email
|
|
||||||
)
|
|
||||||
throw new TRPCError({
|
|
||||||
code: 'BAD_REQUEST',
|
|
||||||
message: 'Make sure to log in with the same email as the one provided',
|
|
||||||
})
|
|
||||||
|
|
||||||
const customerData = {
|
|
||||||
email,
|
email,
|
||||||
name: company,
|
name: company,
|
||||||
metadata: { workspaceId },
|
metadata: { workspaceId },
|
||||||
tax_id_data: vat
|
tax_id_data: vat
|
||||||
? [vat as Stripe.CustomerCreateParams.TaxIdDatum]
|
? [vat as Stripe.CustomerCreateParams.TaxIdDatum]
|
||||||
: undefined,
|
: undefined,
|
||||||
}
|
})
|
||||||
const customer =
|
|
||||||
existingCustomer.data.length > 0
|
|
||||||
? await stripe.customers.update(existingCustomer.data[0].id, customerData)
|
|
||||||
: await stripe.customers.create(customerData)
|
|
||||||
|
|
||||||
const checkoutUrl = await createCheckoutSessionUrl(stripe)({
|
const checkoutUrl = await createCheckoutSessionUrl(stripe)({
|
||||||
customerId: customer.id,
|
customerId: customer.id,
|
||||||
|
Reference in New Issue
Block a user