cybersource_rest_client 0.0.36 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/lib/AuthenticationSDK/authentication/http/GetSignatureParameter.rb +13 -6
  3. data/lib/AuthenticationSDK/authentication/http/HttpSignatureHeader.rb +13 -5
  4. data/lib/AuthenticationSDK/authentication/jwt/JwtToken.rb +26 -11
  5. data/lib/AuthenticationSDK/authentication/oauth/OAuthToken.rb +11 -5
  6. data/lib/AuthenticationSDK/authentication/payloadDigest/digest.rb +2 -2
  7. data/lib/AuthenticationSDK/core/Authorization.rb +28 -20
  8. data/lib/AuthenticationSDK/core/MerchantConfig.rb +72 -78
  9. data/lib/AuthenticationSDK/logging/log_configuration.rb +71 -0
  10. data/lib/AuthenticationSDK/logging/log_factory.rb +65 -0
  11. data/lib/AuthenticationSDK/logging/sensitive_logging.rb +101 -0
  12. data/lib/AuthenticationSDK/util/Cache.rb +1 -1
  13. data/lib/AuthenticationSDK/util/Constants.rb +25 -17
  14. data/lib/AuthenticationSDK/util/ExceptionHandler.rb +26 -0
  15. data/lib/AuthenticationSDK/util/PropertiesUtil.rb +2 -2
  16. data/lib/cybersource_rest_client/api/asymmetric_key_management_api.rb +46 -46
  17. data/lib/cybersource_rest_client/api/capture_api.rb +16 -16
  18. data/lib/cybersource_rest_client/api/chargeback_details_api.rb +16 -16
  19. data/lib/cybersource_rest_client/api/chargeback_summaries_api.rb +16 -16
  20. data/lib/cybersource_rest_client/api/conversion_details_api.rb +16 -16
  21. data/lib/cybersource_rest_client/api/credit_api.rb +16 -16
  22. data/lib/cybersource_rest_client/api/customer_api.rb +61 -61
  23. data/lib/cybersource_rest_client/api/customer_payment_instrument_api.rb +76 -76
  24. data/lib/cybersource_rest_client/api/customer_shipping_address_api.rb +76 -76
  25. data/lib/cybersource_rest_client/api/decision_manager_api.rb +46 -46
  26. data/lib/cybersource_rest_client/api/download_dtd_api.rb +16 -16
  27. data/lib/cybersource_rest_client/api/download_xsd_api.rb +16 -16
  28. data/lib/cybersource_rest_client/api/instrument_identifier_api.rb +91 -91
  29. data/lib/cybersource_rest_client/api/interchange_clearing_level_details_api.rb +16 -16
  30. data/lib/cybersource_rest_client/api/invoice_settings_api.rb +31 -31
  31. data/lib/cybersource_rest_client/api/invoices_api.rb +97 -97
  32. data/lib/cybersource_rest_client/api/key_generation_api.rb +16 -16
  33. data/lib/cybersource_rest_client/api/net_fundings_api.rb +16 -16
  34. data/lib/cybersource_rest_client/api/notification_of_changes_api.rb +16 -16
  35. data/lib/cybersource_rest_client/api/payer_authentication_api.rb +46 -46
  36. data/lib/cybersource_rest_client/api/payment_batch_summaries_api.rb +16 -16
  37. data/lib/cybersource_rest_client/api/payment_instrument_api.rb +61 -61
  38. data/lib/cybersource_rest_client/api/payments_api.rb +33 -33
  39. data/lib/cybersource_rest_client/api/payouts_api.rb +16 -16
  40. data/lib/cybersource_rest_client/api/purchase_and_refund_details_api.rb +16 -16
  41. data/lib/cybersource_rest_client/api/refund_api.rb +31 -31
  42. data/lib/cybersource_rest_client/api/report_definitions_api.rb +31 -31
  43. data/lib/cybersource_rest_client/api/report_downloads_api.rb +16 -16
  44. data/lib/cybersource_rest_client/api/report_subscriptions_api.rb +76 -76
  45. data/lib/cybersource_rest_client/api/reports_api.rb +46 -46
  46. data/lib/cybersource_rest_client/api/retrieval_details_api.rb +16 -16
  47. data/lib/cybersource_rest_client/api/retrieval_summaries_api.rb +16 -16
  48. data/lib/cybersource_rest_client/api/reversal_api.rb +31 -31
  49. data/lib/cybersource_rest_client/api/search_transactions_api.rb +31 -31
  50. data/lib/cybersource_rest_client/api/secure_file_share_api.rb +31 -31
  51. data/lib/cybersource_rest_client/api/symmetric_key_management_api.rb +46 -46
  52. data/lib/cybersource_rest_client/api/taxes_api.rb +31 -31
  53. data/lib/cybersource_rest_client/api/tokenization_api.rb +16 -16
  54. data/lib/cybersource_rest_client/api/transaction_batches_api.rb +46 -46
  55. data/lib/cybersource_rest_client/api/transaction_details_api.rb +16 -16
  56. data/lib/cybersource_rest_client/api/user_management_api.rb +16 -16
  57. data/lib/cybersource_rest_client/api/user_management_search_api.rb +16 -16
  58. data/lib/cybersource_rest_client/api/verification_api.rb +31 -31
  59. data/lib/cybersource_rest_client/api/void_api.rb +76 -76
  60. data/lib/cybersource_rest_client/api_client.rb +7 -8
  61. data/lib/cybersource_rest_client/models/create_adhoc_report_request.rb +2 -5
  62. data/lib/cybersource_rest_client/models/create_payment_request.rb +19 -1
  63. data/lib/cybersource_rest_client/models/create_search_request.rb +1 -1
  64. data/lib/cybersource_rest_client/models/pts_v2_payments_captures_post201_response_order_information_amount_details.rb +20 -4
  65. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response.rb +10 -1
  66. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_buyer_information.rb +243 -0
  67. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information.rb +10 -1
  68. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information_issuer_information.rb +206 -0
  69. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_consumer_authentication_information_strong_authentication.rb +183 -0
  70. data/lib/cybersource_rest_client/models/pts_v2_payments_post201_response_processor_information.rb +52 -4
  71. data/lib/cybersource_rest_client/models/pts_v2_payments_refund_post201_response_processor_information.rb +17 -1
  72. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information.rb +33 -1
  73. data/lib/cybersource_rest_client/models/ptsv2payments_buyer_information_personal_identification.rb +15 -5
  74. data/lib/cybersource_rest_client/models/ptsv2payments_client_reference_information.rb +17 -1
  75. data/lib/cybersource_rest_client/models/ptsv2payments_consumer_authentication_information_strong_authentication.rb +17 -1
  76. data/lib/cybersource_rest_client/models/ptsv2payments_device_information.rb +17 -1
  77. data/lib/cybersource_rest_client/models/ptsv2payments_installment_information.rb +24 -4
  78. data/lib/cybersource_rest_client/models/ptsv2payments_invoice_details.rb +191 -0
  79. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information.rb +65 -1
  80. data/lib/cybersource_rest_client/models/ptsv2payments_merchant_information_merchant_descriptor.rb +1 -1
  81. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_amount_details.rb +17 -1
  82. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_invoice_details.rb +20 -4
  83. data/lib/cybersource_rest_client/models/ptsv2payments_order_information_ship_to.rb +33 -1
  84. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information.rb +13 -4
  85. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_bank.rb +14 -4
  86. data/lib/cybersource_rest_client/models/ptsv2payments_payment_information_e_wallet.rb +190 -0
  87. data/lib/cybersource_rest_client/models/ptsv2payments_processor_information.rb +191 -0
  88. data/lib/cybersource_rest_client/models/ptsv2payments_recipient_information.rb +17 -1
  89. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information.rb +14 -5
  90. data/lib/cybersource_rest_client/models/ptsv2paymentsidrefunds_payment_information_bank.rb +215 -0
  91. data/lib/cybersource_rest_client/models/ptsv2payouts_processing_information.rb +36 -4
  92. data/lib/cybersource_rest_client/models/ptsv2payouts_recipient_information.rb +17 -1
  93. data/lib/cybersource_rest_client/models/ptsv2payouts_sender_information.rb +17 -1
  94. data/lib/cybersource_rest_client/models/reportingv3reports_report_filters.rb +218 -0
  95. data/lib/cybersource_rest_client/models/riskv1authenticationresults_payment_information_tokenized_card.rb +17 -1
  96. data/lib/cybersource_rest_client/models/riskv1authentications_payment_information_tokenized_card.rb +17 -1
  97. data/lib/cybersource_rest_client/models/riskv1decisions_payment_information_tokenized_card.rb +17 -1
  98. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response.rb +10 -11
  99. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_client_reference_information.rb +10 -1
  100. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_client_reference_information_partner.rb +190 -0
  101. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_installment_information.rb +14 -4
  102. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_order_information_amount_details.rb +13 -4
  103. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information.rb +32 -5
  104. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_customer.rb +206 -0
  105. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_payment_information_instrument_identifier.rb +190 -0
  106. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_processor_information.rb +36 -4
  107. data/lib/cybersource_rest_client/models/tss_v2_transactions_get200_response_token_information.rb +210 -0
  108. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response.rb +1 -1
  109. data/lib/cybersource_rest_client/models/tss_v2_transactions_post201_response__embedded_client_reference_information.rb +13 -4
  110. data/lib/cybersource_rest_client/utilities/flex/token_verification.rb +4 -4
  111. data/lib/cybersource_rest_client.rb +17 -3
  112. metadata +18 -4
  113. data/lib/AuthenticationSDK/core/Logger.rb +0 -26
  114. data/lib/AuthenticationSDK/util/ApiException.rb +0 -19
@@ -0,0 +1,71 @@
1
+ require_relative '../util/Constants.rb'
2
+
3
+ public
4
+ class LogConfiguration
5
+ # Setter/Getter
6
+ attr_accessor :enableLog
7
+ attr_accessor :loggingLevel
8
+ attr_accessor :logDirectory
9
+ attr_accessor :logFilename
10
+ attr_accessor :maxLogSize
11
+ attr_accessor :maxLogFiles
12
+ attr_accessor :enableMasking
13
+
14
+ def initialize(log_config)
15
+ @enableLog = log_config['enableLog']
16
+ @loggingLevel = log_config['loggingLevel']
17
+ @logDirectory = log_config['logDirectory']
18
+ @logFilename = log_config['logFilename']
19
+ @maxLogSize = log_config['maxLogSize']
20
+ @maxLogFiles = log_config['maxLogFiles']
21
+ @enableMasking = log_config['enableMasking']
22
+
23
+ def validate(log_message)
24
+ if @enableLog == "true"
25
+ @enableLog = true
26
+ elsif @enableLog == true
27
+ @enableLog = true
28
+ else
29
+ @enableLog = false
30
+ end
31
+ if @enableLog
32
+ if !Constants::LOG_LEVELS.include? @loggingLevel
33
+ @loggingLevel = Constants::DEFAULT_LOG_LEVEL
34
+ log_message += Constants::WARNING_PREFIX + Constants::INVALID_LOG_LEVEL + @loggingLevel
35
+ end
36
+ if @logDirectory.to_s.empty? # || !Dir.exist?(@logDirectory)
37
+ @logDirectory = Constants::DEFAULT_LOG_DIRECTORY
38
+ unless Dir.exist?(@logDirectory)
39
+ Dir.mkdir(Constants::DEFAULT_LOG_DIRECTORY)
40
+ end
41
+ log_message += Constants::WARNING_PREFIX + Constants::INVALID_LOG_DIRECTORY + File.expand_path(@logDirectory)
42
+ end
43
+ if @logFilename.to_s.empty?
44
+ @logFilename = Constants::DEFAULT_LOGFILE_NAME
45
+ elsif !@logFilename.instance_of? String
46
+ @logFilename = @logFilename.to_s
47
+ end
48
+ if @maxLogSize.nil? || @maxLogSize.to_s.empty?
49
+ @maxLogSize = Constants::DEFAULT_LOG_SIZE
50
+ log_message += Constants::WARNING_PREFIX + Constants::INVALID_MAX_LOG_SIZE + @maxLogSize
51
+ elsif !@maxLogSize.instance_of? Integer
52
+ @maxLogSize = @maxLogSize.to_i
53
+ end
54
+ if @maxLogFiles.nil? || @maxLogFiles.to_s.empty?
55
+ @maxLogFiles = Constants::DEFAULT_MAX_LOG_FILES
56
+ log_message += Constants::WARNING_PREFIX + Constants::INVALID_MAX_LOG_FILES + @maxLogFiles
57
+ elsif !@maxLogFiles.instance_of? Integer
58
+ @maxLogFiles = @maxLogFiles.to_i
59
+ end
60
+ if @enableMasking == "true"
61
+ @enableMasking = true
62
+ elsif @enableMasking == true
63
+ @enableMasking = true
64
+ else
65
+ @enableMasking = false
66
+ end
67
+ end
68
+ return log_message
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,65 @@
1
+ require 'logger'
2
+ require 'fileutils'
3
+ require_relative 'sensitive_logging.rb'
4
+
5
+ # module CyberSource
6
+ public
7
+ # Logger Class
8
+ class Log
9
+ @logger
10
+ def initialize(logConfiguration, callingProgram = '')
11
+ enableLog = logConfiguration.enableLog
12
+ loggingLevel = logConfiguration.loggingLevel
13
+ logDirectory = logConfiguration.logDirectory
14
+ logFilename = logConfiguration.logFilename
15
+ maxLogSize = logConfiguration.maxLogSize
16
+ maxLogFiles = logConfiguration.maxLogFiles
17
+ enableMasking = logConfiguration.enableMasking
18
+
19
+ callingProgram = "Generic" if callingProgram.nil? || callingProgram.empty?
20
+
21
+ #log
22
+ if enableLog == true
23
+ filename = File.join logDirectory, logFilename + '.log' # logDirectory + '/' + logFilename + '.log'
24
+ datetime = DateTime.now
25
+ if File.exist?(logDirectory)
26
+ if File.exist?(logFilename)
27
+ if File.size(filename) >= maxLogSize
28
+ updatedFileName = File.join logDirectory, logFilename + '_' + datetime.strftime('%Y%m%d%H%M%S') + '.log'
29
+ File.rename(filename, updatedFileName)
30
+ end
31
+ end
32
+ elsif !File.exist?(logDirectory)
33
+ FileUtils.mkdir_p logDirectory
34
+ File.new(filename, "w")
35
+ end
36
+
37
+ STDOUT.sync = true
38
+
39
+ @logger = Logger.new(STDOUT, progname: callingProgram)
40
+ @logger = Logger.new(filename, shift_age = maxLogFiles, shift_size = maxLogSize, progname: callingProgram)
41
+ @logger.level = loggingLevel
42
+ @logger.datetime_format = datetime.strftime('%Y-%m-%d %H:%M:%S')
43
+
44
+ if enableMasking
45
+ @logger.formatter = SensitiveDataFilter.new
46
+ else
47
+ @logger.formatter = proc do |severity, datetime, progname, msg|
48
+ date_format = datetime.strftime("%Y-%m-%d %H:%M:%S")
49
+ log_message = "[#{date_format}] #{severity.ljust(10)} (#{progname}): #{msg}\n"
50
+ # $stdout.puts log_message
51
+ log_message
52
+ end
53
+ end
54
+ else
55
+ @logger = Logger.new(false)
56
+ end
57
+ rescue StandardError => err
58
+ # puts err
59
+ raise err
60
+ # exit!
61
+ end
62
+
63
+ attr_accessor :logger
64
+ end
65
+ # end
@@ -0,0 +1,101 @@
1
+ require 'logger'
2
+
3
+ class SensitiveTag
4
+ attr_accessor :tagName, :pattern, :replacement, :disableMask
5
+ def initialize(tagName, pattern, replacement, disableMask)
6
+ @tagName = tagName
7
+ @pattern = pattern
8
+ @replacement = replacement
9
+ @disableMask = disableMask
10
+ end
11
+ end
12
+
13
+ class SensitiveDataConfigType
14
+ attr_accessor :sensitiveTags, :sensitiveStringRegexes
15
+
16
+ def initialize
17
+ @sensitiveTags = Array.new([
18
+ SensitiveTag.new("securityCode", "[0-9]{3,4}", "XXX", false),
19
+ SensitiveTag.new("number", "(\\p{N}+)(\\p{N}{4})", "XXXX-\\2", false),
20
+ SensitiveTag.new("cardNumber", "(\\p{N}+)(\\p{N}{4})", "XXXX-\\2", false),
21
+ SensitiveTag.new("expirationMonth", "[0-1][0-9]", "XXXX", false),
22
+ SensitiveTag.new("expirationYear", "2[0-9][0-9][0-9]", "XXXX", false),
23
+ SensitiveTag.new("account", "(\\p{N}+)(\\p{N}{4})", "XXXX-\\2", false),
24
+ SensitiveTag.new("routingNumber", "[0-9]+", "XXXXX", false),
25
+ SensitiveTag.new("email", "[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", "XXXXX", false),
26
+ SensitiveTag.new("firstName", "([a-zA-Z]+( )?[a-zA-Z]*'?-?[a-zA-Z]*( )?([a-zA-Z]*)?)", "xxxxx", false),
27
+ SensitiveTag.new("lastName", "([a-zA-Z]+( )?[a-zA-Z]*'?-?[a-zA-Z]*( )?([a-zA-Z]*)?)", "xxxxx", false),
28
+ SensitiveTag.new("phoneNumber", "(\\+[0-9]{1,2} )?\\(?[0-9]{3}\\)?[ .-]?[0-9]{3}[ .-]?[0-9]{4}", "xxxxx", false),
29
+ SensitiveTag.new("type", "[-A-Za-z0-9 ]+", "xxxxx", false),
30
+ SensitiveTag.new("token", "[-.A-Za-z0-9 ]+", "xxxxx", false),
31
+ SensitiveTag.new("signature", "[-.A-Za-z0-9 ]+", "xxxxx", false)
32
+ ]).freeze
33
+
34
+ @sensitiveStringRegexes = [
35
+ "4\\p{N}{3}([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
36
+ "4\\p{N}{3}([\\ \\-]?)(?:\\p{N}{4}\\1){2}\\p{N}(?:\\p{N}{3})?",
37
+ "5[1-5]\\p{N}{2}([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
38
+ "6(?:011|22(?:1(?=[\\ \\-]?(?:2[6-9]|[3-9]))|[2-8]|9(?=[\\ \\-]?(?:[01]|2[0-5])))|4[4-9]\\p{N}|5\\p{N}\\p{N})([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
39
+ "35(?:2[89]|[3-8]\\p{N})([\\ \\-]?)\\p{N}{4}\\1\\p{N}{4}\\1\\p{N}{4}",
40
+ "3[47]\\p{N}\\p{N}([\\ \\-]?)\\p{N}{6}\\1\\p{N}{5}"
41
+ ].freeze
42
+ end
43
+ end
44
+
45
+ class SensitiveDataFilter < Logger::Formatter
46
+ @@sensitiveTagConfig = nil
47
+ @@tagPatterns = nil
48
+ @@tagReplacements = nil
49
+ @@cardPatterns = nil
50
+
51
+ def initialize
52
+ @@sensitiveTagConfig = SensitiveDataConfigType.new
53
+ @@cardPatterns = @@sensitiveTagConfig.sensitiveStringRegexes
54
+ @@tagPatterns = Array.new(@@sensitiveTagConfig.sensitiveStringRegexes.length)
55
+ @@tagReplacements = Array.new(@@sensitiveTagConfig.sensitiveTags.length)
56
+
57
+ @@sensitiveTagConfig.sensitiveTags.each_with_index do |sensitiveTag, index|
58
+ tagName = sensitiveTag.tagName
59
+ replacement = sensitiveTag.replacement
60
+
61
+ if sensitiveTag.pattern.nil? || sensitiveTag.pattern.empty?
62
+ pattern = "(.*)"
63
+ else
64
+ pattern = sensitiveTag.pattern
65
+ end
66
+
67
+ @@tagPatterns[index] = "\""+tagName+"\":\""+pattern+"\""
68
+ @@tagReplacements[index] = "\""+tagName+"\":\""+replacement+"\""
69
+ end
70
+ end
71
+
72
+ def call(severity, time, progname, msg)
73
+ maskedMessage = maskSensitiveString(msg)
74
+ ccMasked = maskCreditCards(maskedMessage)
75
+ return formatLogEntry(severity, time, progname, ccMasked)
76
+ end
77
+
78
+ def maskCreditCards(input)
79
+ encoded_input = input #.force_encoding("UTF-8")
80
+ @@cardPatterns.each {|cardNumberRegex|
81
+ encoded_input = encoded_input.gsub(/#{cardNumberRegex}/, "XXX")
82
+ }
83
+ return encoded_input
84
+ end
85
+
86
+ def maskSensitiveString(input)
87
+ encoded_input = input #.force_encoding("UTF-8")
88
+ @@tagPatterns.each_with_index do |item, index|
89
+ encoded_input = encoded_input.gsub(/#{item}/,@@tagReplacements[index])
90
+ end
91
+ return encoded_input
92
+ end
93
+
94
+ def formatLogEntry(severity, time, progname, msg)
95
+ datetime = DateTime.now
96
+ date_format = datetime.strftime("%Y-%m-%d %H:%M:%S")
97
+ log_message = "[#{date_format}] #{severity.ljust(10)} (#{progname}): #{msg}\n"
98
+ # $stdout.puts log_message
99
+ log_message
100
+ end
101
+ end
@@ -12,7 +12,7 @@ public
12
12
  certificateFromP12File = getCertificate(p12File, keyPass, cacheObj, currentFileLastModifiedTime)
13
13
  return certificateFromP12File
14
14
  elsif currentFileLastModifiedTime > cachedLastModifiedTimeStamp
15
- # Function call to read the file and put values to new cache
15
+ # Function call to read the file and put values to new cache
16
16
  certificateFromP12File = getCertificate(p12File, keyPass, cacheObj, currentFileLastModifiedTime)
17
17
  return certificateFromP12File
18
18
  else
@@ -61,27 +61,29 @@
61
61
  AUTH_TYPE_OAUTH = 'OAUTH' unless const_defined?(:AUTH_TYPE_OAUTH)
62
62
 
63
63
  AUTH_TYPE_MUTUAL_AUTH = 'MUTUAL_AUTH' unless const_defined?(:AUTH_TYPE_MUTUAL_AUTH)
64
-
64
+
65
65
  AUTH_TYPE_JWT = 'JWT' unless const_defined?(:AUTH_TYPE_JWT)
66
66
 
67
67
  OLD_RUN_ENVIRONMENT_CONSTANTS = ['CYBERSOURCE.ENVIRONMENT.SANDBOX', 'CYBERSOURCE.ENVIRONMENT.PRODUCTION', 'CYBERSOURCE.IN.ENVIRONMENT.SANDBOX', 'CYBERSOURCE.IN.ENVIRONMENT.PRODUCTION', 'BANKOFAMERICA.ENVIRONMENT.SANDBOX', 'BANKOFAMERICA.ENVIRONMENT.PRODUCTION']
68
68
 
69
69
  # constants for fall back logic
70
70
 
71
- DEFAULT_LOG_SIZE = 10485760 unless const_defined?(:DEFAULT_LOG_SIZE)
72
-
73
- DEFAULT_PROXY_ADDRESS = 'userproxy.visa.com' unless const_defined?(:DEFAULT_PROXY_ADDRESS)
74
-
75
- DEFAULT_PROXY_PORT = '443' unless const_defined?(:DEFAULT_PROXY_PORT)
71
+ DEFAULT_LOG_SIZE = '10485760' unless const_defined?(:DEFAULT_LOG_SIZE)
76
72
 
77
73
  DEFAULT_TIMEOUT = '1000' unless const_defined?(:DEFAULT_TIMEOUT)
78
74
 
79
- DEFAULT_LOG_DIRECTORY = '../log' unless const_defined?(:DEFAULT_LOG_DIRECTORY)
75
+ DEFAULT_LOG_DIRECTORY = 'log' unless const_defined?(:DEFAULT_LOG_DIRECTORY)
80
76
 
81
77
  DEFAULT_KEY_DIRECTORY = 'resource' unless const_defined?(:DEFAULT_KEY_DIRECTORY)
82
78
 
83
79
  DEFAULT_LOGFILE_NAME = 'cybs' unless const_defined?(:DEFAULT_LOGFILE_NAME)
84
80
 
81
+ DEFAULT_MAX_LOG_FILES = '5' unless const_defined?(:DEFAULT_MAX_LOG_FILES)
82
+
83
+ DEFAULT_LOG_LEVEL = 'debug' unless const_defined?(:DEFAULT_LOG_LEVEL)
84
+
85
+ LOG_LEVELS = ['UNKNOWN', 'FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG'] unless const_defined?(:LOG_LEVELS)
86
+
85
87
  # Constant for Fall back logic and Exception Handling
86
88
 
87
89
  REQUEST_JSON_ERROR = 'Request Json File missing. File Path :: ' unless const_defined?(:REQUEST_JSON_ERROR)
@@ -110,7 +112,13 @@
110
112
 
111
113
  INVALID_REQUEST_TYPE_METHOD = 'Entered Request Type should be (GET/POST/PUT)' unless const_defined?(:INVALID_REQUEST_TYPE_METHOD)
112
114
 
113
- INVALID_LOG_DIRECTORY = 'Entered LogDirectory is Incorrect. Using Default Path: ' unless const_defined?(:INVALID_LOG_DIRECTORY)
115
+ INVALID_LOG_DIRECTORY = 'Entered LogDirectory is Missing/Incorrect. Using Default Path: ' unless const_defined?(:INVALID_LOG_DIRECTORY)
116
+
117
+ INVALID_MAX_LOG_SIZE = 'Entered MaxLogSize is Missing/Incorrect. Using Default Value: ' unless const_defined?(:INVALID_MAX_LOG_SIZE)
118
+
119
+ INVALID_MAX_LOG_FILES = 'Entered MaxLogFiles is Missing/Incorrect. Using Default Value: ' unless const_defined?(:INVALID_MAX_LOG_FILES)
120
+
121
+ INVALID_LOG_LEVEL = 'Entered LogLevel is Missing/Incorrect. Using Default Value: ' unless const_defined?(:INVALID_LOG_LEVEL)
114
122
 
115
123
  RUN_ENVIRONMENT_ERROR = 'Entered RunEnvironment is Incorrect.' unless const_defined?(:RUN_ENVIRONMENT_ERROR)
116
124
 
@@ -137,22 +145,22 @@
137
145
  INCORRECT_KEY_ALIAS = 'The Entered KeyAlias is Incorrect. Assigining merchantID value' unless const_defined?(:INCORRECT_KEY_ALIAS)
138
146
 
139
147
  ENABLE_CLIENT_CERT_EMPTY = 'Enable Clientcert is Empty/Null.' unless const_defined?(:ENABLE_CLIENT_CERT_EMPTY)
140
-
148
+
141
149
  CLIENT_CERT_DIR_EMPTY = 'Client Cert Directory is Empty/Null' unless const_defined?(:CLIENT_CERT_DIR_EMPTY)
142
-
150
+
143
151
  SSL_CLIENT_CERT_EMPTY = 'SSL Client Cert is Empty/Null' unless const_defined?(:SSL_CLIENT_CERT_EMPTY)
144
152
 
145
153
  PRIVATE_KEY_EMPTY = 'Private Key is Empty/Null' unless const_defined?(:PRIVATE_KEY_EMPTY)
146
-
154
+
147
155
  SSL_KEY_PASSWORD_EMPTY = 'SSL Key Password is Empty/Null' unless const_defined?(:SSL_KEY_PASSWORD_EMPTY)
148
-
156
+
149
157
  CLIENT_ID_EMPTY = 'Client Id is Empty/Null' unless const_defined?(:CLIENT_ID_EMPTY)
150
-
158
+
151
159
  CLIENT_SECRET_EMPTY = 'Client Secret is Empty/Null' unless const_defined?(:CLIENT_SECRET_EMPTY)
152
-
160
+
153
161
  ACCESS_TOKEN_EMPTY = 'AccessToken is Empty/Null' unless const_defined?(:ACCESS_TOKEN_REQ)
154
-
162
+
155
163
  REFRESH_TOKEN_EMPTY = 'RefreshToken is Empty/Null' unless const_defined?(:REFRESH_TOKEN_REQ)
156
-
157
- DERPECATED_ENVIRONMENT = 'The value provided for this field `RunEnvironment` has been deprecated and will not be used anymore.\n\nPlease refer to the README file [ https://github.com/CyberSource/cybersource-rest-samples-node/blob/master/README.md ] for information about the new values that are accepted.'
164
+
165
+ DEPRECATED_ENVIRONMENT = 'The value provided for this field `RunEnvironment` has been deprecated and will not be used anymore.\n\nPlease refer to the README file [ https://github.com/CyberSource/cybersource-rest-samples-node/blob/master/README.md ] for information about the new values that are accepted.'
158
166
  end
@@ -0,0 +1,26 @@
1
+ public
2
+ class ExceptionHandler
3
+ @exception_message
4
+
5
+ def new_api_exception(err)
6
+ @exception_message = err.message
7
+
8
+ if !err.backtrace.to_s.empty?
9
+ @exception_message += "\n" + err.backtrace
10
+ end
11
+
12
+ @exception_message += '\nEND> ======================================='
13
+ return @exception_message
14
+ end
15
+
16
+ def new_api_warning(msg)
17
+ @exception_message = msg
18
+ return @exception_message
19
+ end
20
+
21
+ def new_custom_error(msg)
22
+ @exception_message = msg
23
+ @exception_message += '\nEND> ======================================='
24
+ return @exception_message
25
+ end
26
+ end
@@ -13,7 +13,7 @@ public
13
13
  raise Constants::ERROR_PREFIX + Constants::PROPERTY_FILE_NOT_FOUND
14
14
  end
15
15
  rescue StandardError => err
16
- puts err.message
17
- exit!
16
+ raise err
17
+ # exit!
18
18
  end
19
19
  end
@@ -18,7 +18,7 @@ module CyberSource
18
18
 
19
19
  def initialize(api_client = ApiClient.default, config)
20
20
  @api_client = api_client
21
- @api_client.set_configuration(config)
21
+ @api_client.set_configuration(config)
22
22
  end
23
23
  # Create one or more PKCS#12 keys
24
24
  # 'Create one or more PKCS#12 keys'
@@ -36,14 +36,14 @@ module CyberSource
36
36
  # @param [Hash] opts the optional parameters
37
37
  # @return [Array<(KmsV2KeysAsymPost201Response, Fixnum, Hash)>] KmsV2KeysAsymPost201Response data, response status code and response headers
38
38
  def create_p12_keys_with_http_info(create_p12_keys_request, opts = {})
39
-
40
- if @api_client.config.debugging
41
- begin
42
- raise
43
- @api_client.config.logger.debug 'Calling API: AsymmetricKeyManagementApi.create_p12_keys ...'
44
- rescue
45
- puts 'Cannot write to log'
46
- end
39
+
40
+ if @api_client.config.debugging
41
+ begin
42
+ raise
43
+ @api_client.config.logger.debug 'Calling API: AsymmetricKeyManagementApi.create_p12_keys ...'
44
+ rescue
45
+ puts 'Cannot write to log'
46
+ end
47
47
  end
48
48
  # verify the required parameter 'create_p12_keys_request' is set
49
49
  if @api_client.config.client_side_validation && create_p12_keys_request.nil?
@@ -76,13 +76,13 @@ module CyberSource
76
76
  :auth_names => auth_names,
77
77
  :return_type => 'KmsV2KeysAsymPost201Response')
78
78
  if @api_client.config.debugging
79
- begin
80
- raise
81
- @api_client.config.logger.debug "API called: AsymmetricKeyManagementApi#create_p12_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
- rescue
83
- puts 'Cannot write to log'
84
- end
85
- end
79
+ begin
80
+ raise
81
+ @api_client.config.logger.debug "API called: AsymmetricKeyManagementApi#create_p12_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
+ rescue
83
+ puts 'Cannot write to log'
84
+ end
85
+ end
86
86
  return data, status_code, headers
87
87
  end
88
88
  # Delete one or more PKCS#12 keys
@@ -101,14 +101,14 @@ module CyberSource
101
101
  # @param [Hash] opts the optional parameters
102
102
  # @return [Array<(KmsV2KeysAsymDeletesPost200Response, Fixnum, Hash)>] KmsV2KeysAsymDeletesPost200Response data, response status code and response headers
103
103
  def delete_bulk_p12_keys_with_http_info(delete_bulk_p12_keys_request, opts = {})
104
-
105
- if @api_client.config.debugging
106
- begin
107
- raise
108
- @api_client.config.logger.debug 'Calling API: AsymmetricKeyManagementApi.delete_bulk_p12_keys ...'
109
- rescue
110
- puts 'Cannot write to log'
111
- end
104
+
105
+ if @api_client.config.debugging
106
+ begin
107
+ raise
108
+ @api_client.config.logger.debug 'Calling API: AsymmetricKeyManagementApi.delete_bulk_p12_keys ...'
109
+ rescue
110
+ puts 'Cannot write to log'
111
+ end
112
112
  end
113
113
  # verify the required parameter 'delete_bulk_p12_keys_request' is set
114
114
  if @api_client.config.client_side_validation && delete_bulk_p12_keys_request.nil?
@@ -141,13 +141,13 @@ module CyberSource
141
141
  :auth_names => auth_names,
142
142
  :return_type => 'KmsV2KeysAsymDeletesPost200Response')
143
143
  if @api_client.config.debugging
144
- begin
145
- raise
146
- @api_client.config.logger.debug "API called: AsymmetricKeyManagementApi#delete_bulk_p12_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
147
- rescue
148
- puts 'Cannot write to log'
149
- end
150
- end
144
+ begin
145
+ raise
146
+ @api_client.config.logger.debug "API called: AsymmetricKeyManagementApi#delete_bulk_p12_keys\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
147
+ rescue
148
+ puts 'Cannot write to log'
149
+ end
150
+ end
151
151
  return data, status_code, headers
152
152
  end
153
153
  # Retrieves PKCS#12 key details
@@ -166,14 +166,14 @@ module CyberSource
166
166
  # @param [Hash] opts the optional parameters
167
167
  # @return [Array<(KmsV2KeysAsymGet200Response, Fixnum, Hash)>] KmsV2KeysAsymGet200Response data, response status code and response headers
168
168
  def get_p12_key_details_with_http_info(key_id, opts = {})
169
-
170
- if @api_client.config.debugging
171
- begin
172
- raise
173
- @api_client.config.logger.debug 'Calling API: AsymmetricKeyManagementApi.get_p12_key_details ...'
174
- rescue
175
- puts 'Cannot write to log'
176
- end
169
+
170
+ if @api_client.config.debugging
171
+ begin
172
+ raise
173
+ @api_client.config.logger.debug 'Calling API: AsymmetricKeyManagementApi.get_p12_key_details ...'
174
+ rescue
175
+ puts 'Cannot write to log'
176
+ end
177
177
  end
178
178
  # verify the required parameter 'key_id' is set
179
179
  if @api_client.config.client_side_validation && key_id.nil?
@@ -206,13 +206,13 @@ module CyberSource
206
206
  :auth_names => auth_names,
207
207
  :return_type => 'KmsV2KeysAsymGet200Response')
208
208
  if @api_client.config.debugging
209
- begin
210
- raise
211
- @api_client.config.logger.debug "API called: AsymmetricKeyManagementApi#get_p12_key_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
- rescue
213
- puts 'Cannot write to log'
214
- end
215
- end
209
+ begin
210
+ raise
211
+ @api_client.config.logger.debug "API called: AsymmetricKeyManagementApi#get_p12_key_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
+ rescue
213
+ puts 'Cannot write to log'
214
+ end
215
+ end
216
216
  return data, status_code, headers
217
217
  end
218
218
  end
@@ -18,7 +18,7 @@ module CyberSource
18
18
 
19
19
  def initialize(api_client = ApiClient.default, config)
20
20
  @api_client = api_client
21
- @api_client.set_configuration(config)
21
+ @api_client.set_configuration(config)
22
22
  end
23
23
  # Capture a Payment
24
24
  # Include the payment ID in the POST request to capture the payment amount.
@@ -38,14 +38,14 @@ module CyberSource
38
38
  # @param [Hash] opts the optional parameters
39
39
  # @return [Array<(PtsV2PaymentsCapturesPost201Response, Fixnum, Hash)>] PtsV2PaymentsCapturesPost201Response data, response status code and response headers
40
40
  def capture_payment_with_http_info(capture_payment_request, id, opts = {})
41
-
42
- if @api_client.config.debugging
43
- begin
44
- raise
45
- @api_client.config.logger.debug 'Calling API: CaptureApi.capture_payment ...'
46
- rescue
47
- puts 'Cannot write to log'
48
- end
41
+
42
+ if @api_client.config.debugging
43
+ begin
44
+ raise
45
+ @api_client.config.logger.debug 'Calling API: CaptureApi.capture_payment ...'
46
+ rescue
47
+ puts 'Cannot write to log'
48
+ end
49
49
  end
50
50
  # verify the required parameter 'capture_payment_request' is set
51
51
  if @api_client.config.client_side_validation && capture_payment_request.nil?
@@ -82,13 +82,13 @@ module CyberSource
82
82
  :auth_names => auth_names,
83
83
  :return_type => 'PtsV2PaymentsCapturesPost201Response')
84
84
  if @api_client.config.debugging
85
- begin
86
- raise
87
- @api_client.config.logger.debug "API called: CaptureApi#capture_payment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
- rescue
89
- puts 'Cannot write to log'
90
- end
91
- end
85
+ begin
86
+ raise
87
+ @api_client.config.logger.debug "API called: CaptureApi#capture_payment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ rescue
89
+ puts 'Cannot write to log'
90
+ end
91
+ end
92
92
  return data, status_code, headers
93
93
  end
94
94
  end
@@ -18,7 +18,7 @@ module CyberSource
18
18
 
19
19
  def initialize(api_client = ApiClient.default, config)
20
20
  @api_client = api_client
21
- @api_client.set_configuration(config)
21
+ @api_client.set_configuration(config)
22
22
  end
23
23
  # Get Chargeback Details
24
24
  # Chargeback Detail Report Description
@@ -40,14 +40,14 @@ module CyberSource
40
40
  # @option opts [String] :organization_id Valid Organization Id
41
41
  # @return [Array<(ReportingV3ChargebackDetailsGet200Response, Fixnum, Hash)>] ReportingV3ChargebackDetailsGet200Response data, response status code and response headers
42
42
  def get_chargeback_details_with_http_info(start_time, end_time, opts = {})
43
-
44
- if @api_client.config.debugging
45
- begin
46
- raise
47
- @api_client.config.logger.debug 'Calling API: ChargebackDetailsApi.get_chargeback_details ...'
48
- rescue
49
- puts 'Cannot write to log'
50
- end
43
+
44
+ if @api_client.config.debugging
45
+ begin
46
+ raise
47
+ @api_client.config.logger.debug 'Calling API: ChargebackDetailsApi.get_chargeback_details ...'
48
+ rescue
49
+ puts 'Cannot write to log'
50
+ end
51
51
  end
52
52
  # verify the required parameter 'start_time' is set
53
53
  if @api_client.config.client_side_validation && start_time.nil?
@@ -99,13 +99,13 @@ module CyberSource
99
99
  :auth_names => auth_names,
100
100
  :return_type => 'ReportingV3ChargebackDetailsGet200Response')
101
101
  if @api_client.config.debugging
102
- begin
103
- raise
104
- @api_client.config.logger.debug "API called: ChargebackDetailsApi#get_chargeback_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
105
- rescue
106
- puts 'Cannot write to log'
107
- end
108
- end
102
+ begin
103
+ raise
104
+ @api_client.config.logger.debug "API called: ChargebackDetailsApi#get_chargeback_details\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
105
+ rescue
106
+ puts 'Cannot write to log'
107
+ end
108
+ end
109
109
  return data, status_code, headers
110
110
  end
111
111
  end