繁体   English   中英

使用evn变量react.js node.js进行条带支付错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM