mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-02-07 12:50:04 +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/members')(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*/
|
||||
console.error(err);
|
||||
res.status(500).send('Internal server error');
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"morgan": "^1.5.1",
|
||||
"newrelic": "^1.18.0",
|
||||
"node-twitter": "0.5.2",
|
||||
"stripe": "^4.23.1",
|
||||
"superagent": "^0.21.0",
|
||||
"validator": "^3.27.0"
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ module.exports = function (app) {
|
||||
return res.status(400).send('invalid_email');
|
||||
}
|
||||
|
||||
function success() {
|
||||
function success() {
|
||||
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