Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda