amazon payments: wip

This commit is contained in:
Matteo Pagliazzi 2015-06-11 22:16:09 +02:00
parent a377501f64
commit e38f8bf4ef
3 changed files with 34 additions and 4 deletions

View file

@ -1,6 +1,7 @@
var amazonPayments = require('amazon-payments');
var nconf = require('nconf');
var async = require('async');
var shared = require('../../../../common');
var isProd = nconf.get("NODE_ENV") === 'production';
var payment = amazonPayments.connect({
@ -28,32 +29,59 @@ exports.checkout = function(req, res, next){
return res.json(400, {err: 'Order Reference Id not supplied.'});
}
var orderReferenceId = req.body.orderReferenceId;
async.series({
setOrderReferenceDetails: function(cb){
console.log('setOrderReferenceDetails')
payment.offAmazonPayments.setOrderReferenceDetails({
AmazonOrderReferenceId: orderReferenceId,
OrderReferenceAttributes: {
OrderTotal: {
CurrencyCode: 'USD',
Amount: 5
},
SellerNote: 'HabitRPG Gems',
SellerOrderAttributes: {
SellerOrderId: shared.uuid(),
StoreName: 'HabitRPG'
}
}
}, cb);
},
confirmOrderReference: function(cb){
console.log('confirmOrderReference')
payment.offAmazonPayments.confirmOrderReference({
AmazonOrderReferenceId: orderReferenceId
}, cb);
},
authorize: function(cb){
console.log('authorize')
payment.offAmazonPayments.authorize({
AmazonOrderReferenceId: orderReferenceId,
AuthorizationReferenceId: shared.uuid().substring(0, 32),
AuthorizationAmount: {
CurrencyCode: 'USD',
Amount: 5
},
SellerAuthorizationNote: 'HabitRPG Donation',
TransactionTimeout: 0,
CaptureNow: true
}, cb);
},
closeOrderReference: function(cb){
console.log('closeOrderReference')
payment.offAmazonPayments.closeOrderReference({
AmazonOrderReferenceId: orderReferenceId
}, cb);
}
}, function(err, results){
if(err) return next(err);
res.send(200);
});
};

View file

@ -171,6 +171,7 @@ exports.paypalCheckoutSuccess = paypal.executePayment;
exports.paypalIPN = paypal.ipn;
exports.amazonVerifyAccessToken = amazon.verifyAccessToken;
exports.amazonCheckout = amazon.checkout;
exports.iapAndroidVerify = iap.androidVerify;
exports.iapIosVerify = iap.iosVerify;

View file

@ -18,6 +18,7 @@ router.post("/stripe/subscribe/edit", auth.auth, i18n.getUserLanguage, payments.
router.get("/stripe/subscribe/cancel", auth.authWithUrl, i18n.getUserLanguage, payments.stripeSubscribeCancel);
router.post('/amazon/verifyAccessToken', auth.auth, i18n.getUserLanguage, payments.amazonVerifyAccessToken);
router.post('/amazon/checkout', auth.auth, i18n.getUserLanguage, payments.amazonCheckout);
router.post("/iap/android/verify", auth.authWithUrl, /*i18n.getUserLanguage, */payments.iapAndroidVerify);
router.post("/iap/ios/verify", auth.auth, /*i18n.getUserLanguage, */ payments.iapIosVerify);