lad cards
This commit is contained in:
@@ -2,10 +2,37 @@
|
|||||||
//equire('../../package.json')
|
//equire('../../package.json')
|
||||||
const cards = require('../../service/cards.js');
|
const cards = require('../../service/cards.js');
|
||||||
|
|
||||||
|
const CARD_REQUESTED =0;
|
||||||
|
const CARD_HOLDER_CREATED = 10;
|
||||||
|
const CARD_OWNER_ACTIVE = 30;
|
||||||
|
const CARD_ASSIGNED = 40;
|
||||||
//const logger = require('../../app/logger');
|
//const logger = require('../../app/logger');
|
||||||
|
|
||||||
const cardsControllers = {
|
const cardsControllers = {
|
||||||
|
createApplications: function(req, res){
|
||||||
|
cards.createCardHolder(req, res, function (err, result) {
|
||||||
|
res.status(200).json({
|
||||||
|
'status': 'OK',
|
||||||
|
'internal_return': 0,
|
||||||
|
'result_list': result.result,
|
||||||
|
'total_record': result.total_record
|
||||||
|
})
|
||||||
|
}).then(r =>{
|
||||||
|
console.log(r);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
createCardHolder: function(req, res){
|
||||||
|
cards.createCardHolder(req, res, function (err, result) {
|
||||||
|
res.status(200).json({
|
||||||
|
'status': 'OK',
|
||||||
|
'internal_return': 0,
|
||||||
|
'result_list': result.result,
|
||||||
|
'total_record': result.total_record
|
||||||
|
})
|
||||||
|
}).then(r =>{
|
||||||
|
console.log(r);
|
||||||
|
});
|
||||||
|
},
|
||||||
createCard: function (req, res) {
|
createCard: function (req, res) {
|
||||||
cards.createCard(req, res, function (err, result) {
|
cards.createCard(req, res, function (err, result) {
|
||||||
res.status(200).json({
|
res.status(200).json({
|
||||||
@@ -18,7 +45,9 @@ const cardsControllers = {
|
|||||||
console.log(r);
|
console.log(r);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
acceptCardTerms: function (req, resp){
|
||||||
|
|
||||||
|
},
|
||||||
activateCard: function (req, res) {
|
activateCard: function (req, res) {
|
||||||
cards.activateCard(req, res, function (err, dist) {
|
cards.activateCard(req, res, function (err, dist) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
@@ -4,8 +4,14 @@
|
|||||||
const cardsControllers = require('../controller/cardsController.js');
|
const cardsControllers = require('../controller/cardsController.js');
|
||||||
|
|
||||||
module.exports = function(app) {
|
module.exports = function(app) {
|
||||||
|
app.route('/cardapplications')
|
||||||
|
.post(cardsControllers.createApplications);
|
||||||
|
app.route('/createCardHolder')
|
||||||
|
.post(cardsControllers.createCardHolder);
|
||||||
app.route('/create')
|
app.route('/create')
|
||||||
.post(cardsControllers.createCard);
|
.post(cardsControllers.createCard);
|
||||||
|
app.route('/create')
|
||||||
|
.post(cardsControllers.acceptCardTerms);
|
||||||
app.route('/activate')
|
app.route('/activate')
|
||||||
.post(cardsControllers.activateCard);
|
.post(cardsControllers.activateCard);
|
||||||
// app.route('/eventSendMoney')
|
// app.route('/eventSendMoney')
|
||||||
|
|||||||
+170
-5
@@ -6,6 +6,131 @@ const logger = require('../app/logger');
|
|||||||
//const User = require("../app/model/cardModel.js");
|
//const User = require("../app/model/cardModel.js");
|
||||||
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
|
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
|
||||||
var cards = {
|
var cards = {
|
||||||
|
createApplications: async function(req, res, next){
|
||||||
|
try {
|
||||||
|
logger.info(req.body);
|
||||||
|
var data = {
|
||||||
|
"status": req.body.status,
|
||||||
|
"limit": req.body.limit,
|
||||||
|
};
|
||||||
|
let Qstring = " SELECT id AS request_id, uid AS request_uid, * FROM members_card_request WHERE status = "+data.status+" LIMIT "+data.limit;
|
||||||
|
logger.info(Qstring);
|
||||||
|
db.query(Qstring, async function (err, result) {
|
||||||
|
|
||||||
|
if (err) throw err;
|
||||||
|
logger.info(result.rows);
|
||||||
|
let resultItem ={
|
||||||
|
"result": result.rows,
|
||||||
|
"total_record": result.rows.length
|
||||||
|
}
|
||||||
|
next(null, resultItem); // pass control to the next handler
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
await res.status(500).json({error: `Internal Server error 002 ${error} `});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
createCardHolder: 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,
|
||||||
|
"member_uid" : result.rows[0].member_uid,
|
||||||
|
"member_id" : result.rows[0].member_id,
|
||||||
|
};
|
||||||
|
|
||||||
|
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);
|
||||||
|
Qstring = "UPDATE members SET " +
|
||||||
|
" stripe_cardholder_id = '"+cardholder.id+"' " +
|
||||||
|
" WHERE id ="+data.member_id+" AND uid::text = '"+data.member_uid+"'";
|
||||||
|
db.query(Qstring, async function (err, result) {
|
||||||
|
|
||||||
|
let resultItem = {
|
||||||
|
"result": cardholder,
|
||||||
|
"stripe_cardholder_id": cardholder.id,
|
||||||
|
"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} `});
|
||||||
|
}
|
||||||
|
},
|
||||||
createCard: async function (req, res, next) {
|
createCard: async function (req, res, next) {
|
||||||
try {
|
try {
|
||||||
logger.info(req.body);
|
logger.info(req.body);
|
||||||
@@ -133,16 +258,56 @@ var cards = {
|
|||||||
await res.status(500).json({error: `Internal Server error 002 ${error} `});
|
await res.status(500).json({error: `Internal Server error 002 ${error} `});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
acceptCardTerms: function (req, res, next) {
|
||||||
|
|
||||||
// let resultItem ={
|
const aggrement_ip = '91.121.146.224';
|
||||||
// "result": bannerArray,
|
const aggrement_date = Date.now();
|
||||||
// "total_record": 4
|
|
||||||
// }
|
|
||||||
// next(null, resultItem ); // pass control to the next handler
|
|
||||||
|
|
||||||
|
//const cardholder = await
|
||||||
|
stripe.issuing.cardholders.update(
|
||||||
|
cardholder.id,
|
||||||
|
{
|
||||||
|
individual: {
|
||||||
|
card_issuing: {
|
||||||
|
user_terms_acceptance: {
|
||||||
|
date: aggrement_date,
|
||||||
|
ip: aggrement_ip,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
).then((cardConfirm)=>{
|
||||||
|
|
||||||
|
const card = stripe.issuing.cards.create({
|
||||||
|
cardholder: cardholder.id,
|
||||||
|
currency: 'usd',
|
||||||
|
type: 'virtual',
|
||||||
|
});
|
||||||
|
|
||||||
|
let resultItem = {
|
||||||
|
"result_confirm": cardConfirm,
|
||||||
|
"total_record": 0
|
||||||
|
}
|
||||||
|
next(null, resultItem); // pass control to the next handler
|
||||||
|
console.log(cardConfirm);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
let resultItem ={
|
||||||
|
"result": [],
|
||||||
|
"total_record": 0
|
||||||
|
}
|
||||||
|
next(null, resultItem ); // pass control to the next handler
|
||||||
},
|
},
|
||||||
activateCard: function (req, res, next) {
|
activateCard: function (req, res, next) {
|
||||||
|
|
||||||
|
const card = stripe.issuing.cards.create({
|
||||||
|
cardholder: cardholder.id,
|
||||||
|
currency: 'usd',
|
||||||
|
type: 'virtual',
|
||||||
|
status: 'active',
|
||||||
|
});
|
||||||
|
|
||||||
let resultItem ={
|
let resultItem ={
|
||||||
"result": [],
|
"result": [],
|
||||||
|
|||||||
Reference in New Issue
Block a user