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