【发布时间】:2021-12-02 12:37:11
【问题描述】:
我要做的是在新用户注册时创建一个条带客户,然后使用条带客户 ID 更新 Firestore 中的用户数据。我正在创建条带客户,但由于某种原因,我没有检索条带客户 ID 并更新用户数据。下面是我的代码。寻求帮助!
//create Stripe customer-------------------------------------------------------------
exports.createStripeCustomer = functions.firestore
.document('customers/{customerId}')
.onCreate(async (doc, context) => {
const stripe = require('stripe')(functions.config().stripe.testkey)
const userData = doc.data()
const customer = {
email: userData.email,
phone: userData.phone,
name: userData.firstName+" "+client.lastName,
}
let cust = null
try {
cust = await stripe.customers.create(customer)
.then(async () => {
const stripeCustomer = await cust
if (stripeCustomer) {
const stripeInfo = {
customerId: stripeCustomer.id
}
try {
admin.firestore().collection('cusomters').doc(userData.userId)
.update({
stripeInfo
})
//await snap.ref.update({ stripeInfo })
} catch (err) {
console.error(err)
}
}
})
} catch (err) {
return err
}
return cust
})
【问题讨论】:
-
您遇到错误了吗?
-
@DivyaniYadav 不,这让我感到困惑......我会尝试不同的方法
-
@DivyaniYadav 我发现了一个拼写错误,哈哈……我们看看会发生什么
-
是否创建了条带客户?哪部分不合格?另外,我不清楚您为什么在创建客户时使用混合模式 await 和 .then():
cust = await stripe.customers.create(customer) .then(async () => { const stripeCustomer = await cust这是怎么回事? -
@AntonySanders 你能把那个集合('customers')更正为'customers',看看它是否工作正常吗?
标签: node.js firebase google-cloud-firestore google-cloud-functions stripe-payments