Authorization.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* Copyright 2015-2016 PayPal, Inc. */
  2. "use strict";
  3. var generate = require('../generate');
  4. var api = require('../api');
  5. /**
  6. * Retrieving, capturing, voiding, and reauthorizing previously created authorizations
  7. * @return {Object} authorization functions
  8. */
  9. function authorization() {
  10. var baseURL = '/v1/payments/authorization/';
  11. var operations = ['get', 'capture'];
  12. var ret = {
  13. baseURL: baseURL,
  14. /**
  15. * Void a previously authorized payment
  16. * @param {String} id authorization identifier
  17. * @param {Object|Function} config Configuration parameters e.g. client_id, client_secret override or callback
  18. * @param {Function} cb
  19. * @return {Object} Authorization object
  20. */
  21. void: function voidAuthorization(id, config, cb) {
  22. api.executeHttp('POST', this.baseURL + id + '/void', {}, config, cb);
  23. },
  24. /**
  25. * Reauthorize a PayPal account payment
  26. * @param {String} id authorization identifier
  27. * @param {object} data amount object with total e.g. 7.00 and currency e.g. USD
  28. * @param {Object|Function} config Configuration parameters e.g. client_id, client_secret override or callback
  29. * @param {Function} cb
  30. * @return {}
  31. */
  32. reauthorize: function reauthorize(id, data, config, cb) {
  33. api.executeHttp('POST', this.baseURL + id + '/reauthorize', data, config, cb);
  34. },
  35. };
  36. ret = generate.mixin(ret, operations);
  37. return ret;
  38. }
  39. module.exports = authorization;