working on promisifying amazonPayments

This commit is contained in:
Victor Piousbox
2016-04-14 22:38:41 +00:00
parent 1d5d6e9146
commit 261a5a66b1
14 changed files with 521 additions and 1167 deletions
+38
View File
@@ -0,0 +1,38 @@
import amazonPayments from 'amazon-payments';
import nconf from 'nconf';
import Q from 'q';
const IS_PROD = nconf.get('NODE_ENV') === 'production';
let api = {};
let amzPayment = amazonPayments.connect({
environment: amazonPayments.Environment[IS_PROD ? 'Production' : 'Sandbox'],
sellerId: nconf.get('AMAZON_PAYMENTS:SELLER_ID'),
mwsAccessKey: nconf.get('AMAZON_PAYMENTS:MWS_KEY'),
mwsSecretKey: nconf.get('AMAZON_PAYMENTS:MWS_SECRET'),
clientId: nconf.get('AMAZON_PAYMENTS:CLIENT_ID'),
});
api.getTokenInfo = (token) => {
return new Promise((resolve, reject) => {
amzPayment.api.getTokenInfo(token, (err, tokenInfo) => {
if (err) return reject(err);
return resolve(tokenInfo);
});
});
};
api.createOrderReferenceId = (inputSet) => {
return new Promise((resolve, reject) => {
amzPayment.offAmazonPayments.createOrderReferenceForId(inputSet, (err, response) => {
if (err) return reject(err);
if (!response.OrderReferenceDetails || !response.OrderReferenceDetails.AmazonOrderReferenceId) {
return reject('missingAttributesFromAmazon');
}
return resolve(response);
});
});
};
module.exports = api;