1. 1 :
  2. 2 : (function(root, factory) {
  3. 3 :
  4. 4 : if (typeof module === 'object' && module.exports) {
  5. 5 : // CommonJS-like environments that support module.exports, like Node.
  6. 6 : module.exports = factory(require('logtown').getLogger('/src/handlers/UpdatePaymentSetupHandler'), require('../ApiClient'), require('../api/PaymentSetupApi'), require('../OrbipayApiError'), require('../CommonUtil'));
  7. 7 : }
  8. 8 : }(this, function(logger, ApiClient, PaymentSetupApi, OrbipayApiError, CommonUtil) {
  9. 9 : 'use strict';
  10. 10 :
  11. 11 : /**
  12. 12 : * @module ApiClient
  13. 13 : */
  14. 14 :
  15. 15 : /**
  16. 16 : * <h3 style="color:red"> This class subject to change without prior notice, Please dont use this class directly. </h3>
  17. 17 :
  18. 18 : * @module handlers/UpdatePaymentSetupHandler
  19. 19 : * @class
  20. 20 : */
  21. 21 :
  22. 22 : var exports = function() {
  23. 23 : };
  24. 24 :
  25. 25 : exports.prototype.process = function (paymentSetup, callback) {
  26. 26 :
  27. 27 : var secret = paymentSetup.invocation_context.secret;
  28. 28 : var host = paymentSetup.api_end_point;
  29. 29 : var api_key = paymentSetup.invocation_context.api_key;
  30. 30 : var auth_scheme = paymentSetup.invocation_context.auth_scheme;
  31. 31 : var _this=this;
  32. 32 : var response = {};
  33. 33 : var exception;
  34. 34 : try {
  35. 35 : var api_client = new ApiClient(secret, host,api_key,auth_scheme);
  36. 36 : var api_instance = new PaymentSetupApi(api_client);
  37. 37 : var channel = paymentSetup.invocation_context['channel'];
  38. 38 : var client_key = paymentSetup.invocation_context['client_key'];
  39. 39 : var product = paymentSetup.invocation_context['product'];
  40. 40 : var timestamp;
  41. 41 : if (paymentSetup.invocation_context['timestamp'])
  42. 42 : {
  43. 43 : timestamp = paymentSetup.invocation_context['timestamp'];
  44. 44 : }
  45. 45 : else
  46. 46 : {
  47. 47 : timestamp = CommonUtil.getTimeStamp();
  48. 48 : }
  49. 49 : var idempotent_request_key = paymentSetup.invocation_context['idempotent_request_key'];
  50. 50 : var requestor_type = paymentSetup.invocation_context['requestor_type'];
  51. 51 : var id_payment_setup = paymentSetup['ID_PAYMENT_SETUP'];
  52. 52 : var id_customer = paymentSetup['ID_CUSTOMER'];
  53. 53 : var update_payment_setup_request = _this.populate_body(paymentSetup);
  54. 54 : var opts = _this.getOptions(paymentSetup);
  55. 55 : var result = api_instance.updatePaymentSetup(channel, client_key, product, timestamp, idempotent_request_key, requestor_type, id_payment_setup, id_customer, update_payment_setup_request, opts, callback);
  56. 56 : response['request'] = result;
  57. 57 : return response;
  58. 58 : } catch (e) {
  59. 59 : exception = OrbipayApiError.getDefaultException(e);
  60. 60 : if (callback) {
  61. 61 : callback(null, null, null, exception);
  62. 62 : }
  63. 63 : response['exception'] = exception;
  64. 64 : return response;
  65. 65 : }
  66. 66 : };
  67. 67 :
  68. 68 : exports.prototype.getOptions = function (paymentSetup) {
  69. 69 : return {
  70. 70 : 'requestor': paymentSetup['invocation_context']['requestor'],
  71. 71 : 'x_opay_headers': paymentSetup['invocation_context']['X-OPAY-Headers'],
  72. 72 : 'trace_id': paymentSetup['invocation_context']['trace_id']
  73. 73 : };
  74. 74 : };
  75. 75 :
  76. 76 : exports.prototype.populate_body = function(paymentSetup){
  77. 77 : var UpdatePaymentSetupRequest = require('../models/UpdatePaymentSetupRequest');
  78. 78 :
  79. 79 : return UpdatePaymentSetupRequest.constructFromObject(paymentSetup);
  80. 80 : };
  81. 81 :
  82. 82 :
  83. 83 : return exports;
  84. 84 : }));