mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-03-18 22:05:33 +00:00
add endpoint for membership payments
This commit is contained in:
3
index.js
3
index.js
@@ -23,8 +23,9 @@ app.use(morgan(':method :url :status :response-time ms - :res[content-length] :b
|
|||||||
require('./routes/invite')(app);
|
require('./routes/invite')(app);
|
||||||
require('./routes/members')(app);
|
require('./routes/members')(app);
|
||||||
require('./routes/feeds')(app);
|
require('./routes/feeds')(app);
|
||||||
|
require('./routes/membership')(app);
|
||||||
|
|
||||||
app.use(function(err, req, res, next) {
|
app.use(function(err, req, res, next) {
|
||||||
/*jshint unused:false*/
|
/*jshint unused:false*/
|
||||||
console.error(err);
|
console.error(err);
|
||||||
res.status(500).send('Internal server error');
|
res.status(500).send('Internal server error');
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
"morgan": "^1.5.1",
|
"morgan": "^1.5.1",
|
||||||
"newrelic": "^1.18.0",
|
"newrelic": "^1.18.0",
|
||||||
"node-twitter": "0.5.2",
|
"node-twitter": "0.5.2",
|
||||||
|
"stripe": "^4.23.1",
|
||||||
"superagent": "^0.21.0",
|
"superagent": "^0.21.0",
|
||||||
"validator": "^3.27.0"
|
"validator": "^3.27.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ module.exports = function (app) {
|
|||||||
return res.status(400).send('invalid_email');
|
return res.status(400).send('invalid_email');
|
||||||
}
|
}
|
||||||
|
|
||||||
function success() {
|
function success() {
|
||||||
res.status(200).end();
|
res.status(200).end();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
35
routes/membership.js
Normal file
35
routes/membership.js
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var Promise = require('bluebird');
|
||||||
|
var slack = require('../services/slack');
|
||||||
|
var config = require('../lib/config');
|
||||||
|
var stripe = require('stripe')(config.stripe.secretKey);
|
||||||
|
|
||||||
|
module.exports = function (app) {
|
||||||
|
/*
|
||||||
|
* POST /membership
|
||||||
|
* Endpoint for adding a new member to the association
|
||||||
|
*/
|
||||||
|
app.post('/membership', function(req, res, next) {
|
||||||
|
stripe.charges.create({
|
||||||
|
amount: 1000,
|
||||||
|
currency: 'eur',
|
||||||
|
card: req.body.stripeToken,
|
||||||
|
description: `Koodiklinikka jäsenyys henkilölle: ${req.body.name}`
|
||||||
|
}, function(err, charge) {
|
||||||
|
if (err) {
|
||||||
|
console.log(JSON.stringify(err, null, 2));
|
||||||
|
|
||||||
|
var message = 'Membership payment FAILED for: ```' + JSON.stringify(req.body) + '``` Reason: ```' + err + '```';
|
||||||
|
slack.createMessage(message);
|
||||||
|
|
||||||
|
res.status(500).send({message: 'payment_error'});
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
var message = 'Membership payment SUCCESS for: ```' + JSON.stringify(req.body) + '```';
|
||||||
|
slack.createMessage(message);
|
||||||
|
res.status(200).send({message: 'payment_success'});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user