Files
WrenchStripeNode/service/cards.js
T
CHIEFSOFT\ameye ef30529fb8 cardholder
2024-10-23 05:50:21 -04:00

143 lines
5.8 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,
};
logger.info("READY FOR STRIPE CALL ",req_data);
logger.info("READY FOR STRIPE CALL ************************************************************************ AFTER ");
const DummyParam =
{
name: 'Dummy Rosen',
email: 'jenny.rosen@example.com',
phone_number: '+18008675309',
status: 'active',
type: 'individual',
individual: {
first_name: 'Dummy',
last_name: 'Rosen',
dob: {day: 1, month: 11, year: 1981},
},
billing: {
address: {
line1: '123 Main Street',
city: 'San Francisco',
state: 'CA',
postal_code: '94111',
country: 'US',
},
},
};
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: 1, month: 11, year: 1981},
},
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);
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);
});
// const cardholder = await stripe.issuing.cardholders.create(DummyParam);
// const cardholder = await stripe.issuing.cardholders.create(ReqParam);
// console.log(cardholder);
// let resultItem = {
// "result": cardholder,
// "total_record": 0
// }
// next(null, resultItem); // pass control to the next handler
} 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;