total_1ère
This commit is contained in:
98
controllers/whstripeController.js
Normal file
98
controllers/whstripeController.js
Normal file
@@ -0,0 +1,98 @@
|
||||
/////////////////////////////////////////////////
|
||||
// APPELS DES MODULES
|
||||
/////////////////////////////////////////////////
|
||||
const path = require("path");
|
||||
const stripe = require('stripe')(process.env.STRIPE_PRIVATE_KEY);
|
||||
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// APPELS DES MODULES PERSOS
|
||||
/////////////////////////////////////////////////
|
||||
// loggings
|
||||
const logger = require("../public/js/app/logger_whstripe");
|
||||
// DB
|
||||
const { connect_DB_promise } = require('../modules/db/databaseconnect');
|
||||
const { generateInsertSQL, extractValues } = require('../modules/db/sqlqueries');
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// APPELS DES FONCTIONS
|
||||
/////////////////////////////////////////////////
|
||||
// FAIRE UNE PAUSE
|
||||
const sleep = require("./../modules/sleep");
|
||||
|
||||
// Controllers
|
||||
const { wh_stripe_don } = require("./donController");
|
||||
const { wh_stripe_vente_video } = require("./vente_video/generate_linkController");
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
// FILE NAME
|
||||
////////////////////////////////////////////////////
|
||||
const filename = path.parse(__filename).base;
|
||||
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// RECEPTION DU WEBHOOK STRIPE wh_stripe
|
||||
/////////////////////////////////////////////////
|
||||
const wh_stripe = async function(req, res) {
|
||||
|
||||
logger.info("======================================");
|
||||
logger.info("======== FUNCTION wh_stripe ==========");
|
||||
logger.info("======================================");
|
||||
|
||||
const sig = req.headers['stripe-signature'];
|
||||
logger.info("sig = " + sig, { numsession: req.session.id, label: filename});
|
||||
|
||||
let event;
|
||||
const endpointSecret = process.env.STRIPE_WEBHOOK_CLE_SIGNATURE_SECRETE;
|
||||
|
||||
try {
|
||||
event = stripe.webhooks.constructEvent(req.body, sig, endpointSecret);
|
||||
} catch (err) {
|
||||
logger.error("Webhook Error: " + err.message, { numsession: req.session.id, label: filename});
|
||||
return res.status(400).send(`Webhook Error: ${err.message}`);
|
||||
}
|
||||
|
||||
// Gérer les événements webhook
|
||||
|
||||
logger.info("event.type = " + event.type, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.id = " + event.data.object.id, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.app = " + event.data.object.metadata.app, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.customer_email = " + event.data.object.customer_email, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.payment_status = " + event.data.object.payment_status, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.metadata.identifiant = " + event.data.object.metadata.identifiant, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.metadata.nom = " + event.data.object.metadata.nom, { numsession: req.session.id, label: filename});
|
||||
logger.info("event.data.object.metadata.montant = " + event.data.object.metadata.montant, { numsession: req.session.id, label: filename});
|
||||
|
||||
logger.info("event.data.object.status = " + event.data.object.status, { numsession: req.session.id, label: filename});
|
||||
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// DON
|
||||
/////////////////////////////////////////////////
|
||||
|
||||
switch (event.data.object.metadata.app) {
|
||||
case "don":
|
||||
logger.info("WEBHOOK wh_stripe => redirection vers DON wh_stripe_don", { numsession: req.session.id, label: filename});
|
||||
return wh_stripe_don(req, res, event);
|
||||
|
||||
case "vente_video":
|
||||
logger.info("WEBHOOK wh_stripe => redirection vers VENTE VIDEO wh_stripe_vente_video", { numsession: req.session.id, label: filename});
|
||||
return wh_stripe_vente_video(req, res, event);
|
||||
|
||||
default:
|
||||
// cas undefined, null, ou autre valeur non prévue
|
||||
return res.json({ received: true });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// EXPORT DE MODULE POUR QU'IL SOIT LU DANS LES AUTRES FICHIERS JS
|
||||
/////////////////////////////////////////////////
|
||||
module.exports = {
|
||||
wh_stripe
|
||||
}
|
||||
Reference in New Issue
Block a user