midtrans-nodex
Version:
Midtrans integration module for Node JS. Support for multiple payment account.
36 lines (28 loc) • 985 B
JavaScript
;
const requestor = require('../requestor');
module.exports = (Midtrans) => {
function _makeApiCall(method, relativeUrl, payload, name) {
const url = (name) ? Midtrans.getSnapBaseUrl(name) + relativeUrl : Midtrans.getSnapBaseUrl() + relativeUrl;
const serverKey = (name) ? Midtrans.getServerKey(name) : Midtrans.getServerKey();
let calee;
switch (method.toLowerCase()) {
case 'get':
calee = requestor.get;
break;
case 'post':
calee = requestor.post;
break;
default:
throw new Error('Invalid method. Only allowed GET and POST.');
}
return calee(url, serverKey, payload);
}
const endpoints = {
// Purpose: Acquire SNAP_TOKEN by providing payload.
// See here for payload: https://snap-docs.midtrans.com/#json-parameter-request-body
transactions(payload, name = null) {
return _makeApiCall('POST', '/transactions', payload, name);
}
}
return endpoints;
}