如何在Firebase JS SDK V9中实现Firebase Stripe扩展订阅功能
Firebase JS V9 适配Stripe扩展实现代码
你需要先完成Firebase初始化,确保已经通过getFirestore方法获取到db实例,且当前用户currentUser为已认证的有效对象。
依赖导入
import { getFirestore, addDoc, collection, onSnapshot } from "firebase/firestore"; // 替换下方yourFirebaseAppInstance为你调用initializeApp(配置)得到的Firebase应用实例 const db = getFirestore(yourFirebaseAppInstance);
核心逻辑实现
const checkoutSessionsColRef = collection(db, 'customers', currentUser.uid, 'checkout_sessions'); const docRef = await addDoc(checkoutSessionsColRef, { price: 'price_1GqIC8HYgolSBA35zoTTN2Zl', success_url: window.location.origin, cancel_url: window.location.origin, }); // 监听扩展写入的CheckoutSession数据 onSnapshot(docRef, (snap) => { const { error, url } = snap.data(); if (error) { // 可自定义错误提示逻辑,建议同时查看Firebase云函数日志排查问题 alert(`发生错误:${error.message}`); } if (url) { // 跳转到Stripe支付页 window.location.assign(url); } });
以上代码和你提供的旧版本逻辑完全等效,仅替换为Firebase V9的模块化API写法,不需要修改其他配套配置即可正常运行。
内容的提问来源于stack exchange,提问作者Charles-olivier Demers
相关产品推荐
相关产品推荐

