Я успешно интегрировал страйп-платежи в свой фиктивный проект nodejs. Но все же у меня осталась проблема, которая не позволяет мне двигаться вперед, поскольку мне нужно отправить код в мой репозиторий github. Итак, я установил пакет dotenv через npm и создал файл .env для хранения секретного ключа полосы. Если я извлекаю секретный ключ полосы с помощью process.env.STRIPE_SECRET_KEY, платеж завершается неудачно, но если я передаю STRIPE_SECRET_KEY напрямую, платеж проходит успешно.
Я даже утешил process.env, и он показывает мой секретный ключ полосы.
Это мой файл server.js:
const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv');
const cors = require('cors');
const payments = require('./routes/api/payment');
dotenv.config();
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cors())
app.use('/api/payments', payments);
app.get('/', (req, res) => res.send('hello'));
const port = process.env.PORT || 3001;
app.listen(port, () => console.log(`server running on port: ${port}`));
Это мой файл payment.js:
const express = require('express');
const stripe = require('stripe') (process.env.STRIPE_SECRET_KEY); // this
gives network error
const stripe = require('stripe') ("sk_test_O5le6FijZU4KcoxE4"); // this
works gracefully
const router = express.Router();
router.get('/', (req, res) => {
res.json({
message: 'Payment gateway works',
time: Date.now
});
})
router.post('/', (req, res) => {
const credentials = {
source: req.body.token.id,
amount: req.body.amount,
currency: "usd",
description: req.body.description
}
stripe.charges.create(credentials, (err, response) => {
if (err) {
return res.status(400).json({ message: err })
}
return res.status(200).json({ message: response })
})
})
module.exports = router;
Это мой файл .env:
STRIPE_SECRET_KEY = sk_test_O5le6FijZU4KcoxE4
прямая передача секретного ключа полосы в полосу работает, но это не работает, если я предоставляю секретный ключ полосы, используя process.env.STRIPE_SECRET_KEY. Я хочу, чтобы process.env.STRIPE_SECRET_KEY работал так, чтобы я мог безопасно и надежно отправлять код в свой репозиторий github.