UNPKG

magpie-js-sdk

Version:
75 lines (68 loc) 1.6 kB
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;