Files
WrenchStripeNode/service/cards.js
T
CHIEFSOFT\ameye dccfe373fd cards update
2024-10-30 18:11:07 -04:00

126 lines
5.0 KiB
JavaScript

'use strict';
const request = require('request');
const db = require('../app/db')
const logger = require('../app/logger');
//const User = require("../app/model/cardModel.js");
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
var cards = {
createCard: async function (req, res, next) {
try {
logger.info(req.body);
var data = {
"request_uid": req.body.request_uid,
"request_id": req.body.request_id,
};
let Qstring = " SELECT r.*,m.firstname,m.lastname,m.email FROM members_card_request r " +
" LEFT JOIN members m ON m.id=r.member_id " +
" WHERE r.uid::text = '" + data.request_uid +"'";
logger.info(Qstring);
db.query(Qstring, async function (err, result) {
try {
if (err) throw err;
// , ,
const req_data = {
"name": result.rows[0].firstname.toString() + ' ' + result.rows[0].firstname.toString(),
"firstname": result.rows[0].firstname,
"lastname": result.rows[0].lastname,
"phone_number": result.rows[0].phone_number,
"email": result.rows[0].email,
"address": result.rows[0].address,
"city": result.rows[0].city,
"state": result.rows[0].state,
"postal_code": result.rows[0].postal_code,
"country": result.rows[0].country,
"dob_day": result.rows[0].dob_day,
"dob_month": result.rows[0].dob_month,
"dob_year": result.rows[0].dob_year,
};
logger.info("READY FOR STRIPE CALL ",req_data);
logger.info("READY FOR STRIPE CALL ************************************************************************ AFTER ");
const ReqParam =
{
name: req_data.name,
email: req_data.email,
phone_number: req_data.phone_number,
status: 'active',
type: 'individual',
individual: {
first_name: req_data.firstname,
last_name: req_data.lastname,
dob: {
day: req_data.dob_day,
month: req_data.dob_month,
year: req_data.dob_year
},
},
billing: {
address: {
line1: req_data.address,
city: req_data.city,
state: req_data.state,
postal_code: req_data.postal_code,
country: req_data.country,
},
},
};
logger.info("REQ=>", ReqParam);
stripe.issuing.cardholders.create(ReqParam).then((cardholder) => {
console.log(cardholder);
Qstring = " UPDATE members_card_request SET card_issue_id='"+cardholder.id+"' , status = 10, updated = now() " +
" WHERE uid::text = '" + data.request_uid +"'";
db.query(Qstring, async function (err, result) {
console.log(cardholder);
let resultItem = {
"result": cardholder,
"total_record": 0
}
next(null, resultItem); // pass control to the next handler
});
}).catch((error) => {
console.error(error);
let resultItem = {
"result": error,
"total_record": 0
}
next(null, resultItem);
});
} catch (e) {
next(e.message, null); // pass control to the next handler
}
});
} catch (error) {
await res.status(500).json({error: `Internal Server error 002 ${error} `});
}
// let resultItem ={
// "result": bannerArray,
// "total_record": 4
// }
// next(null, resultItem ); // pass control to the next handler
},
activateCard: function (req, res, next) {
let resultItem ={
"result": [],
"total_record": 5
}
next(null, resultItem ); // pass control to the next handler
},
};
module.exports = cards;