Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

245
Views
¿Cómo resuelvo este error: FirebaseError: se esperaba el tipo 'mc', pero era: un objeto yc personalizado?

Creé una aplicación en Nextjs (js) y Firebase . Y agregué la extensión Stripe para hacer un sistema de suscripción. No tengo mucha experiencia con esta nueva versión 9 de Firebase, por lo que fue difícil hacerlo porque seguí un tutorial que usaba la versión 8 y ts. Todavía logré hacer que la mayoría de las cosas funcionaran, excepto esto que me está dando este error.

Este es el tutorial: https://youtu.be/P0Udy2Gi7n8?t=859 (mi problema a las 14:19)

Estoy teniendo el error aquí:

 import getStripe from "./initializeStripe"; import { db } from '../firebase/firebaseClient' import { doc, getDoc, addDoc, setDoc, setCol, onSnapshot, collection } from "firebase/firestore"; export async function createCheckoutSession(uid) { const docData = { price: "price_1KvNgoI6qyGEmrlgKU3miVmT", success_url: window.location.origin, cancel_url: window.location.origin, }; const checkoutSessionRef = await setDoc(collection(db, "users", uid, "checkout_sessions"), docData); //ERROR onSnapshot(getDoc(doc(checkoutSessionRef)), (snap) => { const { sessionId } = snap.data(); if (sessionId) { // We have a session, let's redirect to checkout // Init Stripe const stripe = getStripe(); stripe.redirectToCheckout({ sessionId }) } });

El error es el siguiente:

Error de tiempo de ejecución no controlado FirebaseError: tipo esperado 'mc', pero era: un objeto yc personalizado

Navegador

Configuración de base de fuego

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

setDoc() toma una DocumentReference como primer parámetro pero está pasando una CollectionReference . Intenta usar addDoc() en su lugar:

 await addDoc(collection(db, "users", uid, "checkout_sessions"), {...data})

Esto agregará un documento con una ID de documento generada aleatoriamente. Si desea especificar el documento usted mismo, puede usar setDoc() como se muestra a continuación:

 await setDoc(doc(db, "users", uid, "checkout_sessions", "DOC_ID"), {...data})
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!