【发布时间】:2022-10-24 21:52:21
【问题描述】:
我试图像这样使用 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 密钥。您需要在授权标头中提供您的 API 密钥,使用不记名身份验证(例如“授权:不记名 YOUR_SECRET_KEY”
现在,如果我更改条带对象并使用直接插入的键字符串(process.env.STRIPE_KEY),例如
const stripe = require("stripe")("KEYSTRING GOS HERE")
它按我想要的方式工作,但我认为我不应该把我的 KEY 放在那里
我检查了我的 .env 文件,并且 env 变量在那里被称为 STRIPE_KEY
【问题讨论】:
-
当你
console.log(process.env.STRIPE_KEY)时会发生什么?您是否使用dotenv加载环境?这与条带无关,只是你是否加载你的环境 -
当我 console.log(process.env.STRIPE_KEY) 它给了我我的条带键,对于第二个问题,我该怎么做?
-
你用过dotenv吗?你可以谷歌 dotenv 吗?你是如何加载你的环境的?您可以在需要条带之前执行 console.log 吗?
-
是的,在我的 index.js 文件中,我使用了 const dotenv = require("dotenv"); dotenv.config();加载环境,我可以 console.log 我的条纹凯
-
我只是在需要条带之前尝试记录 process.env.STRIPE_KEY 它给了我未定义的
标签: node.js reactjs stripe-payments