[英]Stripe payment Error using evn variables react.js node.js
我试图像这样使用 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
通过提出解决问题:
const dotenv = require("dotenv");
dotenv.config();
在我的 index.js 文件的最开始,在其他一些导入之后
利用
const stripe = require("stripe")(process.env.STRIPE_KEY);
在下面
const dotenv = require("dotenv"); dotenv.config();
它解决了我的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.