【问题标题】:Stripe and Firebase: FirebaseError: Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestoreStripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 FirebaseFirestore
【发布时间】:2023-03-15 18:55:02
【问题描述】:

我正在尝试在我的新 Firebase 应用 (React) 上设置条带。我正在使用 12 天前发布的新版 Firebase (9) 和新的 Stripe 集成:

https://www.npmjs.com/package/@stripe/firestore-stripe-payments

我在这里要做的是为订阅加载条带托管的结帐。

这是代码:

import React, { useEffect } from 'react'
import { createCheckoutSession } from "@stripe/firestore-stripe-payments";
import { payments } from './Firebase'

export default function Stripetest(props) {


    async function checkout(e) {
        e.preventDefault();
        try {
            const session = await createCheckoutSession(payments, {
                    price: "price_1JwyWZIweuKs6S3NBDjBqiiw",
            });
            window.location.assign(session.url);
        } catch (e) {
            console.log(e);
        }
        
    }
        

    

    return (
        <>
            <button onClick={checkout}>Checkout</button>
        </>
    )
}

这是导出“付款”的 Firebase.js:

// Import the functions you need from the SDKs you need
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
import { getFirestore, collection, getDocs } from 'firebase/firestore';
import { getAuth } from 'firebase/auth';
import { getStripePayments } from "@stripe/firestore-stripe-payments";
import { getApp } from "@firebase/app";

// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries

// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional

const firebaseApp = initializeApp({
 apiKey: "AIzaSxxxxxxxxxx",
 authDomain: "bxxxxxxxxxx6.firebaseapp.com",
 projectId: "bxxxxxxxx6",
 storageBucket: "xxxxxxxx.appspot.com",
 messagingSenderId: "xxxxxxxxxxxxx",
 appId: "1:xxxxxxx",
 measurementId: "G-Kxxxxx"
});


export const db = getFirestore(firebaseApp)
export const auth = getAuth(firebaseApp)
export default firebaseApp;

const app = getApp();

export const payments = getStripePayments(app, {
 productsCollection: "products",
 customersCollection: "customers"
});

我在“getStripePayments(APP, {”) 中尝试了“app”和“firebaseApp”,但是当我点击结帐按钮时,总是出现同样的错误:

FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 FirebaseFirestore

【问题讨论】:

标签: reactjs firebase npm stripe-payments


【解决方案1】:

我从以下位置降级:

"@stripe/firestore-stripe-payments": "0.0.4",

"@stripe/firestore-stripe-payments": "0.0.3",

package.json 中,错误停止发生,现在一切正常

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 2021-11-02
    • 2021-11-16
    • 2022-07-02
    • 2021-11-08
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多