* Get login working * Update website * Fixes * Save * svae * Save * Change translation key * Various fixes after testing * Update website * Add TS Tests * Upate website * Fix tests * Fix linting and other issues * Fix linting and other issues * Fix bugs found during recording of demos * Revert default coookie change * Self review fixe * Link fixes * Removed inline styles, cleanup * Various fixes * Added new envs to e2e Co-authored-by: Peer Richelsen <peeroke@gmail.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: zomars <zomars@me.com>
25 lines
841 B
TypeScript
25 lines
841 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, customer: null };
|
|
}
|
|
|
|
if (typeof customerOrCustomerId === "string") {
|
|
customerId = customerOrCustomerId;
|
|
} else if (customerOrCustomerId.deleted) {
|
|
return { checkoutSession, customer: null };
|
|
} else {
|
|
customerId = customerOrCustomerId.id;
|
|
}
|
|
const stripeCustomer = await stripe.customers.retrieve(customerId);
|
|
if (stripeCustomer.deleted) {
|
|
return { checkoutSession, customer: null };
|
|
}
|
|
return { stripeCustomer, checkoutSession };
|
|
}
|