🧑🏿‍🤝‍🧑🏻 Create a Customer

Create a Stripe customer record and attach it to a Firebase user.

Get or Create a Stripe Customer

file_type_typescript customers.ts
 * Gets the exsiting Stripe customer or creates a new record
export async function getOrCreateCustomer(userId: string, params?: Stripe.CustomerCreateParams) {

    const userSnapshot = await db.collection('users').doc(userId).get();

    const { stripeCustomerId, email } = userSnapshot.data();

    // If missing customerID, create it
    if (!stripeCustomerId) {
        // CREATE new customer
        const customer = await stripe.customers.create({
            metadata: {
                firebaseUID: userId
        await userSnapshot.ref.update({ stripeCustomerId: customer.id });
        return customer;
    } else {
        return await stripe.customers.retrieve(stripeCustomerId) as Stripe.Customer;


Questions? Let's chat

Open Discord