【发布时间】: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
【问题讨论】:
-
看来您不是唯一遇到此问题的人。我建议你在这个 GitHub 问题上添加评论,因为它似乎是库中的一个错误:github.com/stripe/stripe-firebase-extensions/issues/304
-
是的,这是一个错误。现在他们已经修好了!
标签: reactjs firebase npm stripe-payments