magpie-js-sdk
Version:
SDK library for Magpie
75 lines (68 loc) • 1.6 kB
JavaScript
const request = require("request");
const utils = require("./utils");
const URI = "/v1.1/tokens";
function Token(isSandbox = false, key = null) {
const url = utils.getUrl(isSandbox);
const authorizationKey = utils.getAuthorizationKey(key);
/**
* Create Magpie token
*
* @param {string} name
* @param {string} number
* @param {string} expMonth
* @param {string} expYear
* @param {string} cvc
*
* @returns Promise
*/
const create = function(name, number, expMonth, expYear, cvc) {
const options = {
url: `${url}/${URI}`,
method: "POST",
json: true,
headers: {
Authorization: `Basic ${authorizationKey}`
},
body: {
card: {
name,
number,
exp_month: expMonth,
exp_year: expYear,
cvc
}
}
};
return new Promise((resolve, reject) => {
request(options, function(err, response, body) {
if (err) {
reject(err);
}
resolve({ statusCode: response.statusCode, body });
});
});
};
const get = function(tokenId) {
const options = {
url: `${url}/${URI}/${tokenId}`,
method: "GET",
json: true,
headers: {
Authorization: `Basic ${authorizationKey}`
}
};
return new Promise((resolve, reject) => {
request(options, function(err, response, body) {
if (err) {
reject(err);
}
resolve({ statusCode: response.statusCode, body });
});
});
};
return {
create,
get
};
}
module.exports = Token;