DEPRECATED Braintree already supports this natively braintree/braintree_node#50
Add native promises to braintree gateway
Install the module with: npm install braintree-as-promised
var braintree = require('braintree');
var promised = require('braintree-as-promised');
var gateway = promised(braintree.connect({ ... }));
gateway.clientToken
.generate({})
.then((result) => {
console.log(result.clientToken);
});
gateway.transaction
.sale({
...
})
.then((result) => {
console.log(result.transaction);
});
calling promised(gateway)
will return a new gateway object with all the methods converted to promise-based ones, using native promises. You can continue to use your gateway object normal, as it does not change anything on the original object.
Additionally it handles the "result.success" parameter, so that if success === false, the promise is rejected with the returned error message.
Copyright (c) 2016 Enhancv Licensed under the MIT license.