Order.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* Copyright 2015-2016 PayPal, Inc. */
  2. "use strict";
  3. var generate = require('../generate');
  4. var api = require('../api');
  5. /**
  6. * Take action on a payment with the intent of order
  7. * @return {Object} order functions
  8. */
  9. function order() {
  10. var baseURL = '/v1/payments/orders/';
  11. var operations = ['get', 'capture'];
  12. var ret = {
  13. baseURL: baseURL,
  14. /**
  15. * Void an existing order
  16. * @param {String} id Order identifier
  17. * @param {Object|Function} config Configuration parameters e.g. client_id, client_secret override or callback
  18. * @param {Function} cb
  19. * @return {Object} Order object, with state set to voided
  20. */
  21. void: function voidOrder(id, config, cb) {
  22. api.executeHttp('POST', this.baseURL + id + '/do-void', {}, config, cb);
  23. },
  24. /**
  25. * Authorize an order
  26. * @param {String} id Order identifier
  27. * @param {Object} data Amount object with total and currency
  28. * @param {Object|Function} config Configuration parameters e.g. client_id, client_secret override or callback
  29. * @param {Function} cb
  30. * @return {Object} Authorization object
  31. */
  32. authorize: function authorize(id, data, config, cb) {
  33. api.executeHttp('POST', this.baseURL + id + '/authorize', data, config, cb);
  34. },
  35. };
  36. ret = generate.mixin(ret, operations);
  37. return ret;
  38. }
  39. module.exports = order;