谷歌云函数返回了错误的请求



我正在尝试让一个谷歌云函数来打开条纹结账,但目前它不起作用。

这就是功能:


const functions = require('firebase-functions');
const express = require('express');
const app = express();
const cors = require('cors')({origin: true});
app.use(cors);
app.use(express.json())
app.use(express.static('public'))
app.use(
express.urlencoded({
extended: false,
})
)

const stripe = require('stripe')(functions.config().stripe.secret_key);

exports.createStripeCheckout2 = functions.region('europe-west2').https.onCall(async(req, res) => {
const cust = req.body.customerId
const price = req.body.priceId
const quantity = req.body.students
const quantityA = Number(quantity)
const session = await stripe.checkout.sessions.create({
payment_method_types: ["card"],
mode: 'subscription',
allow_promotion_codes: true,
customer: 'cus_MQrpENhbL84RFD',  
line_items: [
{
price: 'price_1LaJC1CKMdmWgnyspBbFet9v',
// For metered billing, do not pass quantity
quantity: 1,
},
],
success_url: `https://learning-platform-835f9.web.app/`,
cancel_url: `https://learning-platform-835f9.web.app/`,
});
res.redirect(session.url);
});

返回以下内容:

{"错误":{"消息":"错误请求","状态":"INVALID_ARGUMENT"}}

控制台中有此消息:加载资源失败:服务器响应状态为400((

onCall()onRequest()不同,函数中的参数不是Express中的RequestResponse。您似乎正在尝试使用fetch或等效方法像REST API那样调用此函数。如果是这样,则必须发送包含文档中提到的详细信息的请求,如Content-Type标头必须存在,并且正文必须具有data属性。

在这种情况下,使用onRequest函数应该可以保持代码的其余部分

相关内容

  • 没有找到相关文章

最新更新