我想从我的数据库中获取数据,并希望将这些数据保存到amount: snapshot,
的数量上,我确实应用了const snapshot = firestore.collection('payment').doc(context.params.amount).get();
,这是否以相同的方式起作用?但我收到一个上下文未定义的错误。
我实际上想从数据库中获取数据。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const firestore= admin.firestore();
const stripe = require('stripe')('');
const snapshot = firestore.collection('payment').doc(context.params.amount).get();
const customer = stripe.customers.create({
email: 'customer@example1.com',
});
stripe.customers
.create({
email: 'foo-customer@example.com',
})
.then((customer) => {
return stripe.customers.createSource(customer.id, {
source: 'tok_visa',
});
})
.then((source) => {
return stripe.charges.create({
amount: snapshot,
currency: 'usd',
customer: source.customer,
});
})
.then((charge) => {
// New charge created on a new customer
})
.catch((err) => {
// Deal with an error
});
答案 0 :(得分:1)
您正在尝试通过上下文访问amount
来获取params
,
取决于您的错误,这意味着context
是undefined
,这意味着您正在尝试获取params
中的undefined
。您需要在这里解释context
是什么意思,它是全局变量吗?这段代码在cloud function
中吗?如果yes
您需要将此声明const snapshot = firestore.collection('payment').doc(context.params.amount).get();
移动到您的云函数中,
这是Firebase云功能的example