簡體   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