我试着像这样使用stripe.charges
const router = require("express").Router();
const stripe = require("stripe")(process.env.STRIPE_KEY);
router.post("/payment", (req, res) => {
stripe.charges.create(
{
source: req.body.tokenId,
amount: req.body.amount,
currency: "usd",
},
(stripeErr, stripeRes) => {
if (stripeErr) {
res.status(500).json(stripeErr);
} else {
res.status(200).json(stripeRes);
}
}
);
});
module.exports = router;但是当我从我的客户端调用api时,它给了我一个错误:“您没有提供API密钥。您需要使用Bearer在授权头中提供您的API密钥(例如,‘授权:无记名YOUR_SECRET_KEY’)
现在,如果我更改stripe对象并使用(process.env.STRIPE_KEY)中直接嵌入的键字符串,则如下
const stripe = require("stripe")("KEYSTRING GOS HERE")它的工作方式是我想要的,但我认为我不应该把我的钥匙放在那里
我检查了我的.env文件,那里的env变量名为STRIPE_KEY。
发布于 2022-05-23 14:11:52
使用
const stripe = require("stripe")(process.env.STRIPE_KEY);
在……下面
const dotenv = require("dotenv");
dotenv.config();
它解决了我的问题。
发布于 2022-02-18 23:13:32
提出这个问题的原因是:
const dotenv = require("dotenv");
dotenv.config();在我的index.js文件开始之前,它是在其他一些导入之后
发布于 2022-10-24 13:52:21
我也面临着同样的问题,尽管我在根index.js文件中导入和配置了index.js,如下所示
require('dotenv').config();为了解决这个问题,我在控制器文件中做了完全相同的dotenv配置,如下所示
require('dotenv').config();
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
const prices = async (req, res) => {
const prices = await stripe.products.list();
res.json(prices.data);
};
export { prices };然后,一切都如期而至。
https://stackoverflow.com/questions/71180177
复制相似问题