我一直在看这个并重写,我不知道我哪里出错了,但我不能把它部署到firebase。我经历了一个“从源位置获取......已被CORS策略阻止”的错误。
当我按照Google文档来解决cors问题(https://cloud.google.com/functions/docs/samples/functions-http-cors)时,我得到了一个部署失败错误:函数在加载用户代码时失败。这可能是由于用户代码中的错误造成的。
编辑:嗯,我还是搞不懂这个。我一直在运行模拟器和firebase服务器,它作为一个函数工作。我只是不能部署它。
const functions = require("firebase-functions");
const stripe = require("stripe")("sk_test");
exports.stripePaymentIntentRequest = functions.https.onRequest(
async (req, res) => {
//set JSON content type and CORS headers for the response
res.set("Access-Control-Allow-Origin", "*");
if (req.method === "OPTIONS") {
// Send response to OPTIONS requests
res.set("Access-Control-Allow-Methods", "GET");
res.set("Access-Control-Allow-Headers", "Content-Type");
res.set("Access-Control-Max-Age", "3600");
res.status(204).send("");
}
try {
const { codeItem } = req.body;
//Creates a new payment intent with amount passed in from the client
const paymentIntent = await stripe.paymentIntents.create({
amount: codeItem.num * codeItem.price * 100,
currency: "usd",
automatic_payment_methods: {
enabled: true,
},
});
res.send({
paymentIntent: paymentIntent.client_secret,
success: true,
});
} catch (error) {
res.send({ success: false, error: error.message });
}
}
);
1条答案
按热度按时间332nm8kg1#
看起来您没有从中间的符号中转义所有文本。
尝试将其替换为: