Implemented payments with stripe.

This commit is contained in:
2020-07-21 12:56:16 +02:00
parent 5757d4ba90
commit f57b3295bb
6 changed files with 209 additions and 1 deletions

View File

@@ -14,6 +14,8 @@ const PORT = 30010;
const productsController = require('./controllers/product.js');
const variationsController = require('./controllers/variation.js');
const applePayController = require('./controllers/applePay.js');
const stripeController = require('./controllers/stripe.js');
app.use(express.json());
// app.use(express.urlencoded());
@@ -24,6 +26,10 @@ router.post('/product', productsController.addNewProduct)
router.post('/variation/:id', variationsController.addNewVariationToProduct);
router.post('/applepay/validateSession', applePayController.validateSession)
router.post('/applepay/pay', applePayController.pay)
router.post('/stripe/create-payment-intent', stripeController.createPaymentIntent)
app.use("/public", express.static(path.join(__dirname, "public")));
app.use("/dist", express.static(path.join(__dirname, "/../public/dist")));
app.use('/.well-known', express.static(path.join(__dirname, "/../frontend/assets/well-known")));

7
server/config.example.js Normal file
View File

@@ -0,0 +1,7 @@
module.exports = {
stripe: {
publicKey: '',
secretKey: ''
}
}

View File

@@ -0,0 +1,22 @@
const config = require('../config')
const Stripe = require('stripe')
const stripe = Stripe(config.stripe.secretKey)
const createPaymentIntent = async (req, res) => {
const { items, currency } = req.body;
const paymentIntent = await stripe.paymentIntents.create({
amount: 1009,
currency: 'NOK'
})
console.log('created payment intent:', paymentIntent);
return res.send({
publishableKey: config.stripe.publicKey,
clientSecret: paymentIntent.client_secret
})
}
module.exports = {
createPaymentIntent
}