【发布时间】:2021-09-04 10:47:26
【问题描述】:
我想做什么: 我使用firebase,因此一旦有人购买了条纹产品,我想将其写在购买它的用户的文档上。 我想为此使用条纹网络钩子。这个 webhook 看起来像这样:
它本质上是在付款通过后立即向 firebase 功能发出 https 请求。它触发了一个 https 函数,该函数应该写入用户已购买产品的文档。但要做到这一点,webhook 需要包含购买产品的用户的 firebase 用户 uid。
但要将用户 uid 传递给 webhook,我需要将其传递给如下所示的 stripe.checkout.sessions.create() 函数:
exports.createCheckoutSession = functions.https.onCall(async(data, context) => {
const YOUR_DOMAIN = 'http://localhost:4242';
const session = await stripe.checkout.sessions.create({
payment_method_types: ['card'],
line_items: [{
price_data: {
currency: 'usd',
product_data: {
name: 'Stubborn Attachments',
images: ['https://i.imgur.com/EHyR2nP.png'],
},
unit_amount: 2000,
},
quantity: 1,
}, ],
mode: 'payment',
success_url: `${YOUR_DOMAIN}/success.html`,
cancel_url: `${YOUR_DOMAIN}/cancel.html`,
});
console.log(session.id)
return session.id
})
(用户调用此云函数以返回结帐会话)
但是我怎样才能将用户 uid (context.user.uid) 传递进去,以便稍后通过 webhook 发送它。
我希望很清楚我想做什么,如果不是请询问。感谢您的宝贵时间。
【问题讨论】:
标签: javascript firebase google-cloud-functions stripe-payments