Skip to content

Instantly share code, notes, and snippets.

@sajanthomas01
Created September 7, 2018 12:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sajanthomas01/f666ba0bec154e3deb6f94766abcdd1d to your computer and use it in GitHub Desktop.
Save sajanthomas01/f666ba0bec154e3deb6f94766abcdd1d to your computer and use it in GitHub Desktop.
Express backend main file
var express = require('express');
var router = express.Router();
var request = require('request');
router.get('/', function (req, res) {
res.json({error:'error'})
});
router.post('/', function (req, res) {
if (!req.body.purpose || !req.body.amount || !req.body.email) {
res.status(400).json({ success: false, message: 'Needed fields mismatch.', statusCode: 400 });
} else {
var headers = { 'X-Api-Key': 'test_xx', 'X-Auth-Token': 'test_fxx' }
var payload = {
purpose: req.body.purpose,
amount: req.body.amount,
buyer_name: req.body.buyer_name,
redirect_url: 'http://example.com',
send_email: true,
email: req.body.email,
allow_repeated_payments: false
}
console.log(payload);
request.post('https://test.instamojo.com/api/1.1/payment-requests/', { form: payload, headers: headers }, function (error, response, body) {
if (!error && response.statusCode == 201) {
let data = JSON.parse(response.body)
console.log(data.payment_request.longurl)
res.status(200).json({ success: true, message: 'Initiating payment gateway.', statusCode: 200, url : data.payment_request.longurl});
}else{
console.log(error)
}
})
}
});
module.exports = router;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment