acquiring-sdk-ruby 0.1.0

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 (174) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +140 -0
  5. data/Rakefile +34 -0
  6. data/acquiring-sdk-ruby.gemspec +30 -0
  7. data/lib/worldline/acquiring/sdk/api_resource.rb +53 -0
  8. data/lib/worldline/acquiring/sdk/authentication/authenticator.rb +21 -0
  9. data/lib/worldline/acquiring/sdk/authentication/authorization_type.rb +17 -0
  10. data/lib/worldline/acquiring/sdk/authentication/oauth2_authenticator.rb +142 -0
  11. data/lib/worldline/acquiring/sdk/authentication/oauth2_exception.rb +15 -0
  12. data/lib/worldline/acquiring/sdk/authentication.rb +1 -0
  13. data/lib/worldline/acquiring/sdk/call_context.rb +9 -0
  14. data/lib/worldline/acquiring/sdk/client.rb +69 -0
  15. data/lib/worldline/acquiring/sdk/communication/communication_exception.rb +21 -0
  16. data/lib/worldline/acquiring/sdk/communication/connection.rb +50 -0
  17. data/lib/worldline/acquiring/sdk/communication/default_connection.rb +429 -0
  18. data/lib/worldline/acquiring/sdk/communication/metadata_provider.rb +162 -0
  19. data/lib/worldline/acquiring/sdk/communication/multipart_form_data_object.rb +54 -0
  20. data/lib/worldline/acquiring/sdk/communication/multipart_form_data_request.rb +15 -0
  21. data/lib/worldline/acquiring/sdk/communication/not_found_exception.rb +21 -0
  22. data/lib/worldline/acquiring/sdk/communication/param_request.rb +16 -0
  23. data/lib/worldline/acquiring/sdk/communication/pooled_connection.rb +28 -0
  24. data/lib/worldline/acquiring/sdk/communication/request_header.rb +64 -0
  25. data/lib/worldline/acquiring/sdk/communication/request_param.rb +30 -0
  26. data/lib/worldline/acquiring/sdk/communication/response_exception.rb +58 -0
  27. data/lib/worldline/acquiring/sdk/communication/response_header.rb +80 -0
  28. data/lib/worldline/acquiring/sdk/communication.rb +1 -0
  29. data/lib/worldline/acquiring/sdk/communicator.rb +506 -0
  30. data/lib/worldline/acquiring/sdk/communicator_configuration.rb +197 -0
  31. data/lib/worldline/acquiring/sdk/domain/data_object.rb +34 -0
  32. data/lib/worldline/acquiring/sdk/domain/shopping_cart_extension.rb +62 -0
  33. data/lib/worldline/acquiring/sdk/domain/uploadable_file.rb +35 -0
  34. data/lib/worldline/acquiring/sdk/domain.rb +1 -0
  35. data/lib/worldline/acquiring/sdk/factory.rb +183 -0
  36. data/lib/worldline/acquiring/sdk/json/default_marshaller.rb +36 -0
  37. data/lib/worldline/acquiring/sdk/json/marshaller.rb +29 -0
  38. data/lib/worldline/acquiring/sdk/json/marshaller_syntax_exception.rb +11 -0
  39. data/lib/worldline/acquiring/sdk/json.rb +1 -0
  40. data/lib/worldline/acquiring/sdk/logging/communicator_logger.rb +26 -0
  41. data/lib/worldline/acquiring/sdk/logging/log_message_builder.rb +91 -0
  42. data/lib/worldline/acquiring/sdk/logging/logging_capable.rb +19 -0
  43. data/lib/worldline/acquiring/sdk/logging/obfuscation/body_obfuscator.rb +101 -0
  44. data/lib/worldline/acquiring/sdk/logging/obfuscation/header_obfuscator.rb +54 -0
  45. data/lib/worldline/acquiring/sdk/logging/obfuscation/obfuscation_capable.rb +23 -0
  46. data/lib/worldline/acquiring/sdk/logging/obfuscation/obfuscation_rule.rb +49 -0
  47. data/lib/worldline/acquiring/sdk/logging/obfuscation.rb +1 -0
  48. data/lib/worldline/acquiring/sdk/logging/request_log_message_builder.rb +52 -0
  49. data/lib/worldline/acquiring/sdk/logging/response_log_message_builder.rb +43 -0
  50. data/lib/worldline/acquiring/sdk/logging/ruby_communicator_logger.rb +63 -0
  51. data/lib/worldline/acquiring/sdk/logging/stdout_communicator_logger.rb +33 -0
  52. data/lib/worldline/acquiring/sdk/logging.rb +1 -0
  53. data/lib/worldline/acquiring/sdk/proxy_configuration.rb +76 -0
  54. data/lib/worldline/acquiring/sdk/v1/acquirer/acquirer_client.rb +35 -0
  55. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/accountverifications/account_verifications_client.rb +60 -0
  56. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/accountverifications.rb +4 -0
  57. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/dynamiccurrencyconversion/dynamic_currency_conversion_client.rb +60 -0
  58. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/dynamiccurrencyconversion.rb +4 -0
  59. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/merchant_client.rb +66 -0
  60. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/payments/get_payment_status_params.rb +34 -0
  61. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/payments/payments_client.rb +224 -0
  62. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/payments.rb +4 -0
  63. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/refunds/get_refund_params.rb +34 -0
  64. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/refunds/refunds_client.rb +157 -0
  65. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/refunds.rb +4 -0
  66. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/technicalreversals/technical_reversals_client.rb +64 -0
  67. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant/technicalreversals.rb +4 -0
  68. data/lib/worldline/acquiring/sdk/v1/acquirer/merchant.rb +4 -0
  69. data/lib/worldline/acquiring/sdk/v1/acquirer.rb +4 -0
  70. data/lib/worldline/acquiring/sdk/v1/api_exception.rb +63 -0
  71. data/lib/worldline/acquiring/sdk/v1/authorization_exception.rb +23 -0
  72. data/lib/worldline/acquiring/sdk/v1/domain/address_verification_data.rb +41 -0
  73. data/lib/worldline/acquiring/sdk/v1/domain/amount_data.rb +48 -0
  74. data/lib/worldline/acquiring/sdk/v1/domain/api_account_verification_request.rb +70 -0
  75. data/lib/worldline/acquiring/sdk/v1/domain/api_account_verification_response.rb +87 -0
  76. data/lib/worldline/acquiring/sdk/v1/domain/api_action_response.rb +71 -0
  77. data/lib/worldline/acquiring/sdk/v1/domain/api_action_response_for_refund.rb +71 -0
  78. data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request.rb +75 -0
  79. data/lib/worldline/acquiring/sdk/v1/domain/api_capture_request_for_refund.rb +43 -0
  80. data/lib/worldline/acquiring/sdk/v1/domain/api_increment_request.rb +61 -0
  81. data/lib/worldline/acquiring/sdk/v1/domain/api_increment_response.rb +43 -0
  82. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_error_response.rb +62 -0
  83. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_refund_request.rb +77 -0
  84. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_request.rb +95 -0
  85. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_resource.rb +103 -0
  86. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_response.rb +126 -0
  87. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_reversal_request.rb +61 -0
  88. data/lib/worldline/acquiring/sdk/v1/domain/api_payment_summary_for_response.rb +66 -0
  89. data/lib/worldline/acquiring/sdk/v1/domain/api_references_for_responses.rb +48 -0
  90. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_request.rb +88 -0
  91. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_resource.rb +110 -0
  92. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_response.rb +133 -0
  93. data/lib/worldline/acquiring/sdk/v1/domain/api_refund_summary_for_response.rb +66 -0
  94. data/lib/worldline/acquiring/sdk/v1/domain/api_reversal_response.rb +36 -0
  95. data/lib/worldline/acquiring/sdk/v1/domain/api_technical_reversal_request.rb +50 -0
  96. data/lib/worldline/acquiring/sdk/v1/domain/api_technical_reversal_response.rb +62 -0
  97. data/lib/worldline/acquiring/sdk/v1/domain/card_data_for_dcc.rb +48 -0
  98. data/lib/worldline/acquiring/sdk/v1/domain/card_on_file_data.rb +52 -0
  99. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data.rb +114 -0
  100. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_refund.rb +82 -0
  101. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_resource.rb +43 -0
  102. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_response.rb +52 -0
  103. data/lib/worldline/acquiring/sdk/v1/domain/card_payment_data_for_verification.rb +91 -0
  104. data/lib/worldline/acquiring/sdk/v1/domain/dcc_data.rb +55 -0
  105. data/lib/worldline/acquiring/sdk/v1/domain/dcc_proposal.rb +60 -0
  106. data/lib/worldline/acquiring/sdk/v1/domain/e_commerce_data.rb +52 -0
  107. data/lib/worldline/acquiring/sdk/v1/domain/e_commerce_data_for_account_verification.rb +45 -0
  108. data/lib/worldline/acquiring/sdk/v1/domain/e_commerce_data_for_response.rb +41 -0
  109. data/lib/worldline/acquiring/sdk/v1/domain/get_dcc_rate_request.rb +75 -0
  110. data/lib/worldline/acquiring/sdk/v1/domain/get_dcc_rate_response.rb +57 -0
  111. data/lib/worldline/acquiring/sdk/v1/domain/initial_card_on_file_data.rb +41 -0
  112. data/lib/worldline/acquiring/sdk/v1/domain/merchant_data.rb +76 -0
  113. data/lib/worldline/acquiring/sdk/v1/domain/network_token_data.rb +41 -0
  114. data/lib/worldline/acquiring/sdk/v1/domain/payment_references.rb +48 -0
  115. data/lib/worldline/acquiring/sdk/v1/domain/plain_card_data.rb +48 -0
  116. data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data.rb +34 -0
  117. data/lib/worldline/acquiring/sdk/v1/domain/point_of_sale_data_for_dcc.rb +41 -0
  118. data/lib/worldline/acquiring/sdk/v1/domain/rate_data.rb +64 -0
  119. data/lib/worldline/acquiring/sdk/v1/domain/sub_operation.rb +94 -0
  120. data/lib/worldline/acquiring/sdk/v1/domain/sub_operation_for_refund.rb +87 -0
  121. data/lib/worldline/acquiring/sdk/v1/domain/subsequent_card_on_file_data.rb +48 -0
  122. data/lib/worldline/acquiring/sdk/v1/domain/three_d_secure.rb +62 -0
  123. data/lib/worldline/acquiring/sdk/v1/domain/transaction_data_for_dcc.rb +52 -0
  124. data/lib/worldline/acquiring/sdk/v1/domain.rb +4 -0
  125. data/lib/worldline/acquiring/sdk/v1/exception_factory.rb +48 -0
  126. data/lib/worldline/acquiring/sdk/v1/ping/ping_client.rb +52 -0
  127. data/lib/worldline/acquiring/sdk/v1/ping.rb +4 -0
  128. data/lib/worldline/acquiring/sdk/v1/platform_exception.rb +23 -0
  129. data/lib/worldline/acquiring/sdk/v1/reference_exception.rb +23 -0
  130. data/lib/worldline/acquiring/sdk/v1/v1_client.rb +43 -0
  131. data/lib/worldline/acquiring/sdk/v1/validation_exception.rb +23 -0
  132. data/lib/worldline/acquiring/sdk/v1.rb +4 -0
  133. data/lib/worldline/acquiring/sdk.rb +1 -0
  134. data/spec/comparable_extension.rb +29 -0
  135. data/spec/fixtures/resources/authentication/oauth2AccessToken.expired.json +4 -0
  136. data/spec/fixtures/resources/authentication/oauth2AccessToken.invalidClient.json +4 -0
  137. data/spec/fixtures/resources/authentication/oauth2AccessToken.json +4 -0
  138. data/spec/fixtures/resources/communication/getWithQueryParams.json +3 -0
  139. data/spec/fixtures/resources/communication/getWithoutQueryParams.json +3 -0
  140. data/spec/fixtures/resources/communication/notFound.html +1 -0
  141. data/spec/fixtures/resources/communication/postWithBadRequestResponse.json +11 -0
  142. data/spec/fixtures/resources/communication/postWithCreatedResponse.json +6 -0
  143. data/spec/fixtures/resources/communication/unknownServerError.json +10 -0
  144. data/spec/fixtures/resources/logging/bodyNoObfuscation.json +7 -0
  145. data/spec/fixtures/resources/logging/bodyWithBinObfuscated.json +3 -0
  146. data/spec/fixtures/resources/logging/bodyWithBinOriginal.json +3 -0
  147. data/spec/fixtures/resources/logging/bodyWithCardCustomObfuscated.json +13 -0
  148. data/spec/fixtures/resources/logging/bodyWithCardObfuscated.json +13 -0
  149. data/spec/fixtures/resources/logging/bodyWithCardOriginal.json +13 -0
  150. data/spec/fixtures/resources/logging/bodyWithObjectObfuscated.json +5 -0
  151. data/spec/fixtures/resources/logging/bodyWithObjectOriginal.json +5 -0
  152. data/spec/fixtures/resources/properties.oauth2.yml +8 -0
  153. data/spec/fixtures/resources/properties.proxy.yml +14 -0
  154. data/spec/integration/connection_pooling_spec.rb +74 -0
  155. data/spec/integration/multipart_form_data_spec.rb +216 -0
  156. data/spec/integration/process_payment_spec.rb +43 -0
  157. data/spec/integration/request_dcc_rate_spec.rb +24 -0
  158. data/spec/integration/sdk_proxy_spec.rb +70 -0
  159. data/spec/integration_setup.rb +111 -0
  160. data/spec/lib/authentication/oauth2_authenticator_spec.rb +68 -0
  161. data/spec/lib/client_spec.rb +47 -0
  162. data/spec/lib/communication/default_connection_logger_spec.rb +484 -0
  163. data/spec/lib/communication/default_connection_spec.rb +352 -0
  164. data/spec/lib/communication/metadata_provider_spec.rb +93 -0
  165. data/spec/lib/communicator_configuration_spec.rb +181 -0
  166. data/spec/lib/communicator_spec.rb +34 -0
  167. data/spec/lib/factory_spec.rb +38 -0
  168. data/spec/lib/json/default_marshaller_spec.rb +39 -0
  169. data/spec/lib/logging/obfuscation/body_obfuscator_spec.rb +86 -0
  170. data/spec/lib/logging/obfuscation/header_obfuscator_spec.rb +100 -0
  171. data/spec/lib/logging/ruby_communicator_logger_spec.rb +92 -0
  172. data/spec/lib/logging/stdout_communicator_logger_spec.rb +64 -0
  173. data/spec/spec_helper.rb +32 -0
  174. metadata +375 -0
@@ -0,0 +1,48 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/domain/data_object'
5
+
6
+ module Worldline
7
+ module Acquiring
8
+ module SDK
9
+ module V1
10
+ module Domain
11
+ # @attr [String] dynamic_descriptor
12
+ # @attr [String] merchant_reference
13
+ # @attr [String] retrieval_reference_number
14
+ class PaymentReferences < Worldline::Acquiring::SDK::Domain::DataObject
15
+
16
+ attr_accessor :dynamic_descriptor
17
+
18
+ attr_accessor :merchant_reference
19
+
20
+ attr_accessor :retrieval_reference_number
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['dynamicDescriptor'] = @dynamic_descriptor unless @dynamic_descriptor.nil?
26
+ hash['merchantReference'] = @merchant_reference unless @merchant_reference.nil?
27
+ hash['retrievalReferenceNumber'] = @retrieval_reference_number unless @retrieval_reference_number.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key? 'dynamicDescriptor'
34
+ @dynamic_descriptor = hash['dynamicDescriptor']
35
+ end
36
+ if hash.has_key? 'merchantReference'
37
+ @merchant_reference = hash['merchantReference']
38
+ end
39
+ if hash.has_key? 'retrievalReferenceNumber'
40
+ @retrieval_reference_number = hash['retrievalReferenceNumber']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/domain/data_object'
5
+
6
+ module Worldline
7
+ module Acquiring
8
+ module SDK
9
+ module V1
10
+ module Domain
11
+ # @attr [String] card_number
12
+ # @attr [String] card_security_code
13
+ # @attr [String] expiry_date
14
+ class PlainCardData < Worldline::Acquiring::SDK::Domain::DataObject
15
+
16
+ attr_accessor :card_number
17
+
18
+ attr_accessor :card_security_code
19
+
20
+ attr_accessor :expiry_date
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['cardNumber'] = @card_number unless @card_number.nil?
26
+ hash['cardSecurityCode'] = @card_security_code unless @card_security_code.nil?
27
+ hash['expiryDate'] = @expiry_date unless @expiry_date.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key? 'cardNumber'
34
+ @card_number = hash['cardNumber']
35
+ end
36
+ if hash.has_key? 'cardSecurityCode'
37
+ @card_security_code = hash['cardSecurityCode']
38
+ end
39
+ if hash.has_key? 'expiryDate'
40
+ @expiry_date = hash['expiryDate']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/domain/data_object'
5
+
6
+ module Worldline
7
+ module Acquiring
8
+ module SDK
9
+ module V1
10
+ module Domain
11
+ # @attr [String] terminal_id
12
+ class PointOfSaleData < Worldline::Acquiring::SDK::Domain::DataObject
13
+
14
+ attr_accessor :terminal_id
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['terminalId'] = @terminal_id unless @terminal_id.nil?
20
+ hash
21
+ end
22
+
23
+ def from_hash(hash)
24
+ super
25
+ if hash.has_key? 'terminalId'
26
+ @terminal_id = hash['terminalId']
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,41 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/domain/data_object'
5
+
6
+ module Worldline
7
+ module Acquiring
8
+ module SDK
9
+ module V1
10
+ module Domain
11
+ # @attr [String] terminal_country_code
12
+ # @attr [String] terminal_id
13
+ class PointOfSaleDataForDcc < Worldline::Acquiring::SDK::Domain::DataObject
14
+
15
+ attr_accessor :terminal_country_code
16
+
17
+ attr_accessor :terminal_id
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['terminalCountryCode'] = @terminal_country_code unless @terminal_country_code.nil?
23
+ hash['terminalId'] = @terminal_id unless @terminal_id.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.has_key? 'terminalCountryCode'
30
+ @terminal_country_code = hash['terminalCountryCode']
31
+ end
32
+ if hash.has_key? 'terminalId'
33
+ @terminal_id = hash['terminalId']
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,64 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'date'
5
+
6
+ require 'worldline/acquiring/sdk/domain/data_object'
7
+
8
+ module Worldline
9
+ module Acquiring
10
+ module SDK
11
+ module V1
12
+ module Domain
13
+ # @attr [float] exchange_rate
14
+ # @attr [float] inverted_exchange_rate
15
+ # @attr [float] mark_up
16
+ # @attr [String] mark_up_basis
17
+ # @attr [DateTime] quotation_date_time
18
+ class RateData < Worldline::Acquiring::SDK::Domain::DataObject
19
+
20
+ attr_accessor :exchange_rate
21
+
22
+ attr_accessor :inverted_exchange_rate
23
+
24
+ attr_accessor :mark_up
25
+
26
+ attr_accessor :mark_up_basis
27
+
28
+ attr_accessor :quotation_date_time
29
+
30
+ # @return (Hash)
31
+ def to_h
32
+ hash = super
33
+ hash['exchangeRate'] = @exchange_rate unless @exchange_rate.nil?
34
+ hash['invertedExchangeRate'] = @inverted_exchange_rate unless @inverted_exchange_rate.nil?
35
+ hash['markUp'] = @mark_up unless @mark_up.nil?
36
+ hash['markUpBasis'] = @mark_up_basis unless @mark_up_basis.nil?
37
+ hash['quotationDateTime'] = @quotation_date_time.iso8601(3) unless @quotation_date_time.nil?
38
+ hash
39
+ end
40
+
41
+ def from_hash(hash)
42
+ super
43
+ if hash.has_key? 'exchangeRate'
44
+ @exchange_rate = hash['exchangeRate']
45
+ end
46
+ if hash.has_key? 'invertedExchangeRate'
47
+ @inverted_exchange_rate = hash['invertedExchangeRate']
48
+ end
49
+ if hash.has_key? 'markUp'
50
+ @mark_up = hash['markUp']
51
+ end
52
+ if hash.has_key? 'markUpBasis'
53
+ @mark_up_basis = hash['markUpBasis']
54
+ end
55
+ if hash.has_key? 'quotationDateTime'
56
+ @quotation_date_time = DateTime.parse(hash['quotationDateTime'])
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,94 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'date'
5
+
6
+ require 'worldline/acquiring/sdk/domain/data_object'
7
+ require 'worldline/acquiring/sdk/v1/domain/amount_data'
8
+
9
+ module Worldline
10
+ module Acquiring
11
+ module SDK
12
+ module V1
13
+ module Domain
14
+ # @attr [Worldline::Acquiring::SDK::V1::Domain::AmountData] amount
15
+ # @attr [String] authorization_code
16
+ # @attr [String] operation_id
17
+ # @attr [DateTime] operation_timestamp
18
+ # @attr [String] operation_type
19
+ # @attr [String] response_code
20
+ # @attr [String] response_code_category
21
+ # @attr [String] response_code_description
22
+ # @attr [String] retry_after
23
+ class SubOperation < Worldline::Acquiring::SDK::Domain::DataObject
24
+
25
+ attr_accessor :amount
26
+
27
+ attr_accessor :authorization_code
28
+
29
+ attr_accessor :operation_id
30
+
31
+ attr_accessor :operation_timestamp
32
+
33
+ attr_accessor :operation_type
34
+
35
+ attr_accessor :response_code
36
+
37
+ attr_accessor :response_code_category
38
+
39
+ attr_accessor :response_code_description
40
+
41
+ attr_accessor :retry_after
42
+
43
+ # @return (Hash)
44
+ def to_h
45
+ hash = super
46
+ hash['amount'] = @amount.to_h unless @amount.nil?
47
+ hash['authorizationCode'] = @authorization_code unless @authorization_code.nil?
48
+ hash['operationId'] = @operation_id unless @operation_id.nil?
49
+ hash['operationTimestamp'] = @operation_timestamp.iso8601(3) unless @operation_timestamp.nil?
50
+ hash['operationType'] = @operation_type unless @operation_type.nil?
51
+ hash['responseCode'] = @response_code unless @response_code.nil?
52
+ hash['responseCodeCategory'] = @response_code_category unless @response_code_category.nil?
53
+ hash['responseCodeDescription'] = @response_code_description unless @response_code_description.nil?
54
+ hash['retryAfter'] = @retry_after unless @retry_after.nil?
55
+ hash
56
+ end
57
+
58
+ def from_hash(hash)
59
+ super
60
+ if hash.has_key? 'amount'
61
+ raise TypeError, "value '%s' is not a Hash" % [hash['amount']] unless hash['amount'].is_a? Hash
62
+ @amount = Worldline::Acquiring::SDK::V1::Domain::AmountData.new_from_hash(hash['amount'])
63
+ end
64
+ if hash.has_key? 'authorizationCode'
65
+ @authorization_code = hash['authorizationCode']
66
+ end
67
+ if hash.has_key? 'operationId'
68
+ @operation_id = hash['operationId']
69
+ end
70
+ if hash.has_key? 'operationTimestamp'
71
+ @operation_timestamp = DateTime.parse(hash['operationTimestamp'])
72
+ end
73
+ if hash.has_key? 'operationType'
74
+ @operation_type = hash['operationType']
75
+ end
76
+ if hash.has_key? 'responseCode'
77
+ @response_code = hash['responseCode']
78
+ end
79
+ if hash.has_key? 'responseCodeCategory'
80
+ @response_code_category = hash['responseCodeCategory']
81
+ end
82
+ if hash.has_key? 'responseCodeDescription'
83
+ @response_code_description = hash['responseCodeDescription']
84
+ end
85
+ if hash.has_key? 'retryAfter'
86
+ @retry_after = hash['retryAfter']
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,87 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'date'
5
+
6
+ require 'worldline/acquiring/sdk/domain/data_object'
7
+ require 'worldline/acquiring/sdk/v1/domain/amount_data'
8
+
9
+ module Worldline
10
+ module Acquiring
11
+ module SDK
12
+ module V1
13
+ module Domain
14
+ # @attr [Worldline::Acquiring::SDK::V1::Domain::AmountData] amount
15
+ # @attr [String] operation_id
16
+ # @attr [DateTime] operation_timestamp
17
+ # @attr [String] operation_type
18
+ # @attr [String] response_code
19
+ # @attr [String] response_code_category
20
+ # @attr [String] response_code_description
21
+ # @attr [String] retry_after
22
+ class SubOperationForRefund < Worldline::Acquiring::SDK::Domain::DataObject
23
+
24
+ attr_accessor :amount
25
+
26
+ attr_accessor :operation_id
27
+
28
+ attr_accessor :operation_timestamp
29
+
30
+ attr_accessor :operation_type
31
+
32
+ attr_accessor :response_code
33
+
34
+ attr_accessor :response_code_category
35
+
36
+ attr_accessor :response_code_description
37
+
38
+ attr_accessor :retry_after
39
+
40
+ # @return (Hash)
41
+ def to_h
42
+ hash = super
43
+ hash['amount'] = @amount.to_h unless @amount.nil?
44
+ hash['operationId'] = @operation_id unless @operation_id.nil?
45
+ hash['operationTimestamp'] = @operation_timestamp.iso8601(3) unless @operation_timestamp.nil?
46
+ hash['operationType'] = @operation_type unless @operation_type.nil?
47
+ hash['responseCode'] = @response_code unless @response_code.nil?
48
+ hash['responseCodeCategory'] = @response_code_category unless @response_code_category.nil?
49
+ hash['responseCodeDescription'] = @response_code_description unless @response_code_description.nil?
50
+ hash['retryAfter'] = @retry_after unless @retry_after.nil?
51
+ hash
52
+ end
53
+
54
+ def from_hash(hash)
55
+ super
56
+ if hash.has_key? 'amount'
57
+ raise TypeError, "value '%s' is not a Hash" % [hash['amount']] unless hash['amount'].is_a? Hash
58
+ @amount = Worldline::Acquiring::SDK::V1::Domain::AmountData.new_from_hash(hash['amount'])
59
+ end
60
+ if hash.has_key? 'operationId'
61
+ @operation_id = hash['operationId']
62
+ end
63
+ if hash.has_key? 'operationTimestamp'
64
+ @operation_timestamp = DateTime.parse(hash['operationTimestamp'])
65
+ end
66
+ if hash.has_key? 'operationType'
67
+ @operation_type = hash['operationType']
68
+ end
69
+ if hash.has_key? 'responseCode'
70
+ @response_code = hash['responseCode']
71
+ end
72
+ if hash.has_key? 'responseCodeCategory'
73
+ @response_code_category = hash['responseCodeCategory']
74
+ end
75
+ if hash.has_key? 'responseCodeDescription'
76
+ @response_code_description = hash['responseCodeDescription']
77
+ end
78
+ if hash.has_key? 'retryAfter'
79
+ @retry_after = hash['retryAfter']
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,48 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/domain/data_object'
5
+
6
+ module Worldline
7
+ module Acquiring
8
+ module SDK
9
+ module V1
10
+ module Domain
11
+ # @attr [String] card_on_file_initiator
12
+ # @attr [String] initial_scheme_transaction_id
13
+ # @attr [String] transaction_type
14
+ class SubsequentCardOnFileData < Worldline::Acquiring::SDK::Domain::DataObject
15
+
16
+ attr_accessor :card_on_file_initiator
17
+
18
+ attr_accessor :initial_scheme_transaction_id
19
+
20
+ attr_accessor :transaction_type
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['cardOnFileInitiator'] = @card_on_file_initiator unless @card_on_file_initiator.nil?
26
+ hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
27
+ hash['transactionType'] = @transaction_type unless @transaction_type.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.has_key? 'cardOnFileInitiator'
34
+ @card_on_file_initiator = hash['cardOnFileInitiator']
35
+ end
36
+ if hash.has_key? 'initialSchemeTransactionId'
37
+ @initial_scheme_transaction_id = hash['initialSchemeTransactionId']
38
+ end
39
+ if hash.has_key? 'transactionType'
40
+ @transaction_type = hash['transactionType']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,62 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'worldline/acquiring/sdk/domain/data_object'
5
+
6
+ module Worldline
7
+ module Acquiring
8
+ module SDK
9
+ module V1
10
+ module Domain
11
+ # @attr [String] authentication_value
12
+ # @attr [String] directory_server_transaction_id
13
+ # @attr [String] eci
14
+ # @attr [String] three_d_secure_type
15
+ # @attr [String] version
16
+ class ThreeDSecure < Worldline::Acquiring::SDK::Domain::DataObject
17
+
18
+ attr_accessor :authentication_value
19
+
20
+ attr_accessor :directory_server_transaction_id
21
+
22
+ attr_accessor :eci
23
+
24
+ attr_accessor :three_d_secure_type
25
+
26
+ attr_accessor :version
27
+
28
+ # @return (Hash)
29
+ def to_h
30
+ hash = super
31
+ hash['authenticationValue'] = @authentication_value unless @authentication_value.nil?
32
+ hash['directoryServerTransactionId'] = @directory_server_transaction_id unless @directory_server_transaction_id.nil?
33
+ hash['eci'] = @eci unless @eci.nil?
34
+ hash['threeDSecureType'] = @three_d_secure_type unless @three_d_secure_type.nil?
35
+ hash['version'] = @version unless @version.nil?
36
+ hash
37
+ end
38
+
39
+ def from_hash(hash)
40
+ super
41
+ if hash.has_key? 'authenticationValue'
42
+ @authentication_value = hash['authenticationValue']
43
+ end
44
+ if hash.has_key? 'directoryServerTransactionId'
45
+ @directory_server_transaction_id = hash['directoryServerTransactionId']
46
+ end
47
+ if hash.has_key? 'eci'
48
+ @eci = hash['eci']
49
+ end
50
+ if hash.has_key? 'threeDSecureType'
51
+ @three_d_secure_type = hash['threeDSecureType']
52
+ end
53
+ if hash.has_key? 'version'
54
+ @version = hash['version']
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,52 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'date'
5
+
6
+ require 'worldline/acquiring/sdk/domain/data_object'
7
+ require 'worldline/acquiring/sdk/v1/domain/amount_data'
8
+
9
+ module Worldline
10
+ module Acquiring
11
+ module SDK
12
+ module V1
13
+ module Domain
14
+ # @attr [Worldline::Acquiring::SDK::V1::Domain::AmountData] amount
15
+ # @attr [DateTime] transaction_timestamp
16
+ # @attr [String] transaction_type
17
+ class TransactionDataForDcc < Worldline::Acquiring::SDK::Domain::DataObject
18
+
19
+ attr_accessor :amount
20
+
21
+ attr_accessor :transaction_timestamp
22
+
23
+ attr_accessor :transaction_type
24
+
25
+ # @return (Hash)
26
+ def to_h
27
+ hash = super
28
+ hash['amount'] = @amount.to_h unless @amount.nil?
29
+ hash['transactionTimestamp'] = @transaction_timestamp.iso8601(3) unless @transaction_timestamp.nil?
30
+ hash['transactionType'] = @transaction_type unless @transaction_type.nil?
31
+ hash
32
+ end
33
+
34
+ def from_hash(hash)
35
+ super
36
+ if hash.has_key? 'amount'
37
+ raise TypeError, "value '%s' is not a Hash" % [hash['amount']] unless hash['amount'].is_a? Hash
38
+ @amount = Worldline::Acquiring::SDK::V1::Domain::AmountData.new_from_hash(hash['amount'])
39
+ end
40
+ if hash.has_key? 'transactionTimestamp'
41
+ @transaction_timestamp = DateTime.parse(hash['transactionTimestamp'])
42
+ end
43
+ if hash.has_key? 'transactionType'
44
+ @transaction_type = hash['transactionType']
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'domain', '*.rb')].each { |f| require f }
@@ -0,0 +1,48 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require_relative 'api_exception'
5
+ require_relative 'authorization_exception'
6
+ require_relative 'platform_exception'
7
+ require_relative 'reference_exception'
8
+ require_relative 'validation_exception'
9
+
10
+ require 'worldline/acquiring/sdk/v1/domain/api_payment_error_response'
11
+
12
+ module Worldline
13
+ module Acquiring
14
+ module SDK
15
+ module V1
16
+ def self.create_exception(status_code, response_body, error_object, context)
17
+ raise ArgumentError.new("unsupported error object type: " + error_object.class.name) unless error_object.is_a?(Worldline::Acquiring::SDK::V1::Domain::ApiPaymentErrorResponse)
18
+ create_exception_from_response_fields(status_code, response_body, error_object.type, error_object.title, error_object.status, error_object.detail, error_object.instance, context)
19
+ end
20
+
21
+ private
22
+
23
+ def self.create_exception_from_response_fields(status_code, response_body, type, title, status, detail, instance, context)
24
+ case status_code
25
+ when 400
26
+ return ValidationException.new(status_code, response_body, type, title, status, detail, instance)
27
+ when 403
28
+ return AuthorizationException.new(status_code, response_body, type, title, status, detail, instance)
29
+ when 404
30
+ return ReferenceException.new(status_code, response_body, type, title, status, detail, instance)
31
+ when 409
32
+ return ReferenceException.new(status_code, response_body, type, title, status, detail, instance)
33
+ when 410
34
+ return ReferenceException.new(status_code, response_body, type, title, status, detail, instance)
35
+ when 500
36
+ return PlatformException.new(status_code, response_body, type, title, status, detail, instance)
37
+ when 502
38
+ return PlatformException.new(status_code, response_body, type, title, status, detail, instance)
39
+ when 503
40
+ return PlatformException.new(status_code, response_body, type, title, status, detail, instance)
41
+ else
42
+ return ApiException.new(status_code, response_body, type, title, status, detail, instance)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end