【发布时间】:2019-11-25 15:22:42
【问题描述】:
我只是使用 Stripe API 在 firebase 云函数中创建订阅。
我收到错误消息:未处理的拒绝 错误:发送后无法设置标头。
这是我的 index.ts:
export const subscribe = functions.https.onRequest((req, res) => {
res.header('Content-Type','application/json');
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type');
//respond to CORS preflight requests
if (req.method == 'OPTIONS') {
res.status(204).send('');
}
stripe.subscriptions.create({
customer: req.body.sid,
items: [
{
plan: "plan_123123123",
},
]
}, function(err, subscription) {
// asynchronously called
if (err) {
return res.send(err)
}
else {
return res.send(subscription)
}
}
);
});
【问题讨论】:
-
在
res.status(204).send('');之后尝试return;,否则,如果出现OPTIONS(飞行前)请求,您将调用res.send()两次 -
哇。我欠你一条命。一个 8 多小时的错误...非常简单,谢谢!
-
在下面添加了答案。很高兴我有帮助:)
标签: node.js google-cloud-functions stripe-payments