* Removes user plan logic for stripe sub * Update hardcoded price * Removed checkoutSessionId metadata and fix for trpc query * Remove or comment team billing unused code * Add todo note * Fix type checks * Change function that was renamed * Remove duplicated test * remove plan when creating user on test Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com>
25 lines
859 B
TypeScript
25 lines
859 B
TypeScript
import stripe from "@calcom/app-store/stripepayment/lib/server";
|
|
|
|
export async function getCustomerAndCheckoutSession(checkoutSessionId: string) {
|
|
const checkoutSession = await stripe.checkout.sessions.retrieve(checkoutSessionId);
|
|
const customerOrCustomerId = checkoutSession.customer;
|
|
let customerId = null;
|
|
|
|
if (!customerOrCustomerId) {
|
|
return { checkoutSession, stripeCustomer: null };
|
|
}
|
|
|
|
if (typeof customerOrCustomerId === "string") {
|
|
customerId = customerOrCustomerId;
|
|
} else if (customerOrCustomerId.deleted) {
|
|
return { checkoutSession, stripeCustomer: null };
|
|
} else {
|
|
customerId = customerOrCustomerId.id;
|
|
}
|
|
const stripeCustomer = await stripe.customers.retrieve(customerId);
|
|
if (stripeCustomer.deleted) {
|
|
return { checkoutSession, stripeCustomer: null };
|
|
}
|
|
return { stripeCustomer, checkoutSession };
|
|
}
|