direct-sdk-ruby 1.0.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 (238) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +141 -0
  5. data/Rakefile +34 -0
  6. data/direct-sdk-ruby.gemspec +28 -0
  7. data/lib/ingenico/direct/sdk.rb +26 -0
  8. data/lib/ingenico/direct/sdk/api_exception.rb +42 -0
  9. data/lib/ingenico/direct/sdk/api_resource.rb +115 -0
  10. data/lib/ingenico/direct/sdk/authenticator.rb +16 -0
  11. data/lib/ingenico/direct/sdk/authorization_exception.rb +13 -0
  12. data/lib/ingenico/direct/sdk/call_context.rb +26 -0
  13. data/lib/ingenico/direct/sdk/client.rb +85 -0
  14. data/lib/ingenico/direct/sdk/communication_exception.rb +16 -0
  15. data/lib/ingenico/direct/sdk/communicator.rb +301 -0
  16. data/lib/ingenico/direct/sdk/communicator_configuration.rb +59 -0
  17. data/lib/ingenico/direct/sdk/connection.rb +41 -0
  18. data/lib/ingenico/direct/sdk/data_object.rb +32 -0
  19. data/lib/ingenico/direct/sdk/declined_payment_exception.rb +30 -0
  20. data/lib/ingenico/direct/sdk/declined_payout_exception.rb +32 -0
  21. data/lib/ingenico/direct/sdk/declined_refund_exception.rb +32 -0
  22. data/lib/ingenico/direct/sdk/declined_transaction_exception.rb +16 -0
  23. data/lib/ingenico/direct/sdk/defaultimpl.rb +6 -0
  24. data/lib/ingenico/direct/sdk/defaultimpl/authorization_type.rb +24 -0
  25. data/lib/ingenico/direct/sdk/defaultimpl/default_authenticator.rb +108 -0
  26. data/lib/ingenico/direct/sdk/defaultimpl/default_connection.rb +293 -0
  27. data/lib/ingenico/direct/sdk/defaultimpl/default_marshaller.rb +32 -0
  28. data/lib/ingenico/direct/sdk/direct_exception.rb +15 -0
  29. data/lib/ingenico/direct/sdk/domain/account_on_file.rb +50 -0
  30. data/lib/ingenico/direct/sdk/domain/account_on_file_attribute.rb +39 -0
  31. data/lib/ingenico/direct/sdk/domain/account_on_file_display_hints.rb +38 -0
  32. data/lib/ingenico/direct/sdk/domain/additional_order_input.rb +47 -0
  33. data/lib/ingenico/direct/sdk/domain/address.rb +51 -0
  34. data/lib/ingenico/direct/sdk/domain/address_personal.rb +59 -0
  35. data/lib/ingenico/direct/sdk/domain/airline_data.rb +129 -0
  36. data/lib/ingenico/direct/sdk/domain/airline_flight_leg.rb +99 -0
  37. data/lib/ingenico/direct/sdk/domain/airline_passenger.rb +39 -0
  38. data/lib/ingenico/direct/sdk/domain/amount_breakdown.rb +31 -0
  39. data/lib/ingenico/direct/sdk/domain/amount_of_money.rb +31 -0
  40. data/lib/ingenico/direct/sdk/domain/api_error.rb +47 -0
  41. data/lib/ingenico/direct/sdk/domain/browser_data.rb +39 -0
  42. data/lib/ingenico/direct/sdk/domain/cancel_payment_response.rb +31 -0
  43. data/lib/ingenico/direct/sdk/domain/capture.rb +47 -0
  44. data/lib/ingenico/direct/sdk/domain/capture_output.rb +79 -0
  45. data/lib/ingenico/direct/sdk/domain/capture_payment_request.rb +31 -0
  46. data/lib/ingenico/direct/sdk/domain/capture_response.rb +47 -0
  47. data/lib/ingenico/direct/sdk/domain/capture_status_output.rb +27 -0
  48. data/lib/ingenico/direct/sdk/domain/captures_response.rb +34 -0
  49. data/lib/ingenico/direct/sdk/domain/card.rb +39 -0
  50. data/lib/ingenico/direct/sdk/domain/card_essentials.rb +31 -0
  51. data/lib/ingenico/direct/sdk/domain/card_fraud_results.rb +35 -0
  52. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_input.rb +95 -0
  53. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_input_base.rb +79 -0
  54. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_output.rb +67 -0
  55. data/lib/ingenico/direct/sdk/domain/card_payout_method_specific_input.rb +39 -0
  56. data/lib/ingenico/direct/sdk/domain/card_recurrence_details.rb +27 -0
  57. data/lib/ingenico/direct/sdk/domain/card_without_cvv.rb +35 -0
  58. data/lib/ingenico/direct/sdk/domain/company_information.rb +27 -0
  59. data/lib/ingenico/direct/sdk/domain/complete_payment_card_payment_method_specific_input.rb +31 -0
  60. data/lib/ingenico/direct/sdk/domain/complete_payment_request.rb +39 -0
  61. data/lib/ingenico/direct/sdk/domain/complete_payment_response.rb +47 -0
  62. data/lib/ingenico/direct/sdk/domain/contact_details.rb +43 -0
  63. data/lib/ingenico/direct/sdk/domain/create_hosted_checkout_request.rb +63 -0
  64. data/lib/ingenico/direct/sdk/domain/create_hosted_checkout_response.rb +49 -0
  65. data/lib/ingenico/direct/sdk/domain/create_hosted_tokenization_request.rb +39 -0
  66. data/lib/ingenico/direct/sdk/domain/create_hosted_tokenization_response.rb +41 -0
  67. data/lib/ingenico/direct/sdk/domain/create_payment_request.rb +67 -0
  68. data/lib/ingenico/direct/sdk/domain/create_payment_response.rb +47 -0
  69. data/lib/ingenico/direct/sdk/domain/create_payout_request.rb +47 -0
  70. data/lib/ingenico/direct/sdk/domain/create_token_request.rb +35 -0
  71. data/lib/ingenico/direct/sdk/domain/created_payment_output.rb +35 -0
  72. data/lib/ingenico/direct/sdk/domain/created_token_response.rb +51 -0
  73. data/lib/ingenico/direct/sdk/domain/customer.rb +87 -0
  74. data/lib/ingenico/direct/sdk/domain/customer_account.rb +71 -0
  75. data/lib/ingenico/direct/sdk/domain/customer_account_authentication.rb +31 -0
  76. data/lib/ingenico/direct/sdk/domain/customer_device.rb +51 -0
  77. data/lib/ingenico/direct/sdk/domain/customer_payment_activity.rb +35 -0
  78. data/lib/ingenico/direct/sdk/domain/customer_token.rb +47 -0
  79. data/lib/ingenico/direct/sdk/domain/decrypted_payment_data.rb +43 -0
  80. data/lib/ingenico/direct/sdk/domain/directory_entry.rb +35 -0
  81. data/lib/ingenico/direct/sdk/domain/empty_validator.rb +13 -0
  82. data/lib/ingenico/direct/sdk/domain/error_response.rb +38 -0
  83. data/lib/ingenico/direct/sdk/domain/external_cardholder_authentication_data.rb +59 -0
  84. data/lib/ingenico/direct/sdk/domain/external_token_linked.rb +27 -0
  85. data/lib/ingenico/direct/sdk/domain/fixed_list_validator.rb +33 -0
  86. data/lib/ingenico/direct/sdk/domain/fraud_fields.rb +31 -0
  87. data/lib/ingenico/direct/sdk/domain/fraud_results.rb +27 -0
  88. data/lib/ingenico/direct/sdk/domain/g_pay_three_d_secure.rb +47 -0
  89. data/lib/ingenico/direct/sdk/domain/get_hosted_checkout_response.rb +35 -0
  90. data/lib/ingenico/direct/sdk/domain/get_hosted_tokenization_response.rb +35 -0
  91. data/lib/ingenico/direct/sdk/domain/get_payment_product_groups_response.rb +34 -0
  92. data/lib/ingenico/direct/sdk/domain/get_payment_products_response.rb +34 -0
  93. data/lib/ingenico/direct/sdk/domain/gift_card_purchase.rb +35 -0
  94. data/lib/ingenico/direct/sdk/domain/hosted_checkout_specific_input.rb +55 -0
  95. data/lib/ingenico/direct/sdk/domain/hosted_checkout_specific_output.rb +31 -0
  96. data/lib/ingenico/direct/sdk/domain/label_template_element.rb +31 -0
  97. data/lib/ingenico/direct/sdk/domain/length_validator.rb +31 -0
  98. data/lib/ingenico/direct/sdk/domain/line_item.rb +47 -0
  99. data/lib/ingenico/direct/sdk/domain/line_item_invoice_data.rb +27 -0
  100. data/lib/ingenico/direct/sdk/domain/loan_recipient.rb +43 -0
  101. data/lib/ingenico/direct/sdk/domain/merchant_action.rb +35 -0
  102. data/lib/ingenico/direct/sdk/domain/mobile_payment_data.rb +31 -0
  103. data/lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_input.rb +63 -0
  104. data/lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_output.rb +59 -0
  105. data/lib/ingenico/direct/sdk/domain/mobile_payment_product320_specific_input.rb +31 -0
  106. data/lib/ingenico/direct/sdk/domain/order.rb +71 -0
  107. data/lib/ingenico/direct/sdk/domain/order_line_details.rb +55 -0
  108. data/lib/ingenico/direct/sdk/domain/order_references.rb +31 -0
  109. data/lib/ingenico/direct/sdk/domain/order_status_output.rb +50 -0
  110. data/lib/ingenico/direct/sdk/domain/order_type_information.rb +31 -0
  111. data/lib/ingenico/direct/sdk/domain/payment_account_on_file.rb +31 -0
  112. data/lib/ingenico/direct/sdk/domain/payment_creation_output.rb +39 -0
  113. data/lib/ingenico/direct/sdk/domain/payment_error_response.rb +46 -0
  114. data/lib/ingenico/direct/sdk/domain/payment_output.rb +79 -0
  115. data/lib/ingenico/direct/sdk/domain/payment_product.rb +77 -0
  116. data/lib/ingenico/direct/sdk/domain/payment_product5100_specific_input.rb +27 -0
  117. data/lib/ingenico/direct/sdk/domain/payment_product5402_specific_output.rb +27 -0
  118. data/lib/ingenico/direct/sdk/domain/payment_product5500_specific_output.rb +35 -0
  119. data/lib/ingenico/direct/sdk/domain/payment_product771_specific_output.rb +13 -0
  120. data/lib/ingenico/direct/sdk/domain/payment_product840_customer_account.rb +55 -0
  121. data/lib/ingenico/direct/sdk/domain/payment_product840_specific_output.rb +54 -0
  122. data/lib/ingenico/direct/sdk/domain/payment_product_display_hints.rb +35 -0
  123. data/lib/ingenico/direct/sdk/domain/payment_product_field.rb +47 -0
  124. data/lib/ingenico/direct/sdk/domain/payment_product_field_data_restrictions.rb +35 -0
  125. data/lib/ingenico/direct/sdk/domain/payment_product_field_display_element.rb +39 -0
  126. data/lib/ingenico/direct/sdk/domain/payment_product_field_display_hints.rb +71 -0
  127. data/lib/ingenico/direct/sdk/domain/payment_product_field_form_element.rb +38 -0
  128. data/lib/ingenico/direct/sdk/domain/payment_product_field_tooltip.rb +31 -0
  129. data/lib/ingenico/direct/sdk/domain/payment_product_field_validators.rb +91 -0
  130. data/lib/ingenico/direct/sdk/domain/payment_product_filter.rb +43 -0
  131. data/lib/ingenico/direct/sdk/domain/payment_product_filters_hosted_checkout.rb +38 -0
  132. data/lib/ingenico/direct/sdk/domain/payment_product_group.rb +43 -0
  133. data/lib/ingenico/direct/sdk/domain/payment_product_networks_response.rb +33 -0
  134. data/lib/ingenico/direct/sdk/domain/payment_references.rb +27 -0
  135. data/lib/ingenico/direct/sdk/domain/payment_response.rb +55 -0
  136. data/lib/ingenico/direct/sdk/domain/payment_status_output.rb +58 -0
  137. data/lib/ingenico/direct/sdk/domain/payout_error_response.rb +46 -0
  138. data/lib/ingenico/direct/sdk/domain/payout_output.rb +31 -0
  139. data/lib/ingenico/direct/sdk/domain/payout_response.rb +47 -0
  140. data/lib/ingenico/direct/sdk/domain/payout_result.rb +47 -0
  141. data/lib/ingenico/direct/sdk/domain/payout_status_output.rb +35 -0
  142. data/lib/ingenico/direct/sdk/domain/personal_information.rb +39 -0
  143. data/lib/ingenico/direct/sdk/domain/personal_information_token.rb +31 -0
  144. data/lib/ingenico/direct/sdk/domain/personal_name.rb +35 -0
  145. data/lib/ingenico/direct/sdk/domain/personal_name_token.rb +31 -0
  146. data/lib/ingenico/direct/sdk/domain/product_directory.rb +34 -0
  147. data/lib/ingenico/direct/sdk/domain/protection_eligibility.rb +31 -0
  148. data/lib/ingenico/direct/sdk/domain/range_validator.rb +31 -0
  149. data/lib/ingenico/direct/sdk/domain/redirect_data.rb +31 -0
  150. data/lib/ingenico/direct/sdk/domain/redirect_payment_method_specific_input.rb +67 -0
  151. data/lib/ingenico/direct/sdk/domain/redirect_payment_method_specific_output.rb +67 -0
  152. data/lib/ingenico/direct/sdk/domain/redirect_payment_product809_specific_input.rb +27 -0
  153. data/lib/ingenico/direct/sdk/domain/redirect_payment_product840_specific_input.rb +27 -0
  154. data/lib/ingenico/direct/sdk/domain/redirection_data.rb +27 -0
  155. data/lib/ingenico/direct/sdk/domain/refund_card_method_specific_output.rb +31 -0
  156. data/lib/ingenico/direct/sdk/domain/refund_e_wallet_method_specific_output.rb +39 -0
  157. data/lib/ingenico/direct/sdk/domain/refund_error_response.rb +46 -0
  158. data/lib/ingenico/direct/sdk/domain/refund_mobile_method_specific_output.rb +35 -0
  159. data/lib/ingenico/direct/sdk/domain/refund_output.rb +79 -0
  160. data/lib/ingenico/direct/sdk/domain/refund_payment_product840_customer_account.rb +35 -0
  161. data/lib/ingenico/direct/sdk/domain/refund_payment_product840_specific_output.rb +31 -0
  162. data/lib/ingenico/direct/sdk/domain/refund_redirect_method_specific_output.rb +31 -0
  163. data/lib/ingenico/direct/sdk/domain/refund_request.rb +31 -0
  164. data/lib/ingenico/direct/sdk/domain/refund_response.rb +47 -0
  165. data/lib/ingenico/direct/sdk/domain/refunds_response.rb +34 -0
  166. data/lib/ingenico/direct/sdk/domain/regular_expression_validator.rb +27 -0
  167. data/lib/ingenico/direct/sdk/domain/sepa_direct_debit_payment_method_specific_output.rb +43 -0
  168. data/lib/ingenico/direct/sdk/domain/session_request.rb +33 -0
  169. data/lib/ingenico/direct/sdk/domain/session_response.rb +49 -0
  170. data/lib/ingenico/direct/sdk/domain/shipping.rb +51 -0
  171. data/lib/ingenico/direct/sdk/domain/shopping_cart.rb +65 -0
  172. data/lib/ingenico/direct/sdk/domain/shopping_cart_extension.rb +52 -0
  173. data/lib/ingenico/direct/sdk/domain/test_connection.rb +27 -0
  174. data/lib/ingenico/direct/sdk/domain/three_d_secure.rb +63 -0
  175. data/lib/ingenico/direct/sdk/domain/three_d_secure_base.rb +47 -0
  176. data/lib/ingenico/direct/sdk/domain/three_d_secure_data.rb +35 -0
  177. data/lib/ingenico/direct/sdk/domain/three_d_secure_results.rb +31 -0
  178. data/lib/ingenico/direct/sdk/domain/token_card.rb +35 -0
  179. data/lib/ingenico/direct/sdk/domain/token_card_data.rb +31 -0
  180. data/lib/ingenico/direct/sdk/domain/token_card_specific_input.rb +31 -0
  181. data/lib/ingenico/direct/sdk/domain/token_data.rb +31 -0
  182. data/lib/ingenico/direct/sdk/domain/token_e_wallet.rb +35 -0
  183. data/lib/ingenico/direct/sdk/domain/token_response.rb +55 -0
  184. data/lib/ingenico/direct/sdk/domain/value_mapping_element.rb +38 -0
  185. data/lib/ingenico/direct/sdk/endpoint_configuration.rb +127 -0
  186. data/lib/ingenico/direct/sdk/exceptions.rb +8 -0
  187. data/lib/ingenico/direct/sdk/factory.rb +136 -0
  188. data/lib/ingenico/direct/sdk/idempotence_exception.rb +24 -0
  189. data/lib/ingenico/direct/sdk/logging.rb +10 -0
  190. data/lib/ingenico/direct/sdk/logging/communicator_logger.rb +22 -0
  191. data/lib/ingenico/direct/sdk/logging/log_message_builder.rb +56 -0
  192. data/lib/ingenico/direct/sdk/logging/logging_capable.rb +19 -0
  193. data/lib/ingenico/direct/sdk/logging/logging_util.rb +271 -0
  194. data/lib/ingenico/direct/sdk/logging/request_log_message_builder.rb +39 -0
  195. data/lib/ingenico/direct/sdk/logging/response_log_message_builder.rb +34 -0
  196. data/lib/ingenico/direct/sdk/logging/ruby_communicator_logger.rb +57 -0
  197. data/lib/ingenico/direct/sdk/logging/stdout_communicator_logger.rb +34 -0
  198. data/lib/ingenico/direct/sdk/marshaller.rb +24 -0
  199. data/lib/ingenico/direct/sdk/marshaller_syntax_exception.rb +6 -0
  200. data/lib/ingenico/direct/sdk/merchant/hostedcheckout/hosted_checkout_client.rb +87 -0
  201. data/lib/ingenico/direct/sdk/merchant/hostedtokenization/hosted_tokenization_client.rb +87 -0
  202. data/lib/ingenico/direct/sdk/merchant/merchant_client.rb +83 -0
  203. data/lib/ingenico/direct/sdk/merchant/payments/payments_client.rb +291 -0
  204. data/lib/ingenico/direct/sdk/merchant/payouts/payouts_client.rb +87 -0
  205. data/lib/ingenico/direct/sdk/merchant/productgroups/get_product_group_params.rb +58 -0
  206. data/lib/ingenico/direct/sdk/merchant/productgroups/get_product_groups_params.rb +58 -0
  207. data/lib/ingenico/direct/sdk/merchant/productgroups/product_groups_client.rb +88 -0
  208. data/lib/ingenico/direct/sdk/merchant/products/get_payment_product_networks_params.rb +39 -0
  209. data/lib/ingenico/direct/sdk/merchant/products/get_payment_product_params.rb +58 -0
  210. data/lib/ingenico/direct/sdk/merchant/products/get_payment_products_params.rb +58 -0
  211. data/lib/ingenico/direct/sdk/merchant/products/get_product_directory_params.rb +31 -0
  212. data/lib/ingenico/direct/sdk/merchant/products/products_client.rb +156 -0
  213. data/lib/ingenico/direct/sdk/merchant/services/services_client.rb +52 -0
  214. data/lib/ingenico/direct/sdk/merchant/sessions/sessions_client.rb +55 -0
  215. data/lib/ingenico/direct/sdk/merchant/tokens/tokens_client.rb +117 -0
  216. data/lib/ingenico/direct/sdk/meta_data_provider.rb +150 -0
  217. data/lib/ingenico/direct/sdk/modules.rb +71 -0
  218. data/lib/ingenico/direct/sdk/not_found_exception.rb +16 -0
  219. data/lib/ingenico/direct/sdk/param_request.rb +11 -0
  220. data/lib/ingenico/direct/sdk/pooled_connection.rb +21 -0
  221. data/lib/ingenico/direct/sdk/proxy_configuration.rb +74 -0
  222. data/lib/ingenico/direct/sdk/reference_exception.rb +14 -0
  223. data/lib/ingenico/direct/sdk/request_header.rb +50 -0
  224. data/lib/ingenico/direct/sdk/request_param.rb +23 -0
  225. data/lib/ingenico/direct/sdk/response_exception.rb +47 -0
  226. data/lib/ingenico/direct/sdk/response_header.rb +42 -0
  227. data/lib/ingenico/direct/sdk/validation_exception.rb +14 -0
  228. data/lib/ingenico/direct/sdk/webhooks.rb +11 -0
  229. data/lib/ingenico/direct/sdk/webhooks/api_version_mismatch_exception.rb +20 -0
  230. data/lib/ingenico/direct/sdk/webhooks/in_memory_secret_key_store.rb +56 -0
  231. data/lib/ingenico/direct/sdk/webhooks/secret_key_not_available_exception.rb +17 -0
  232. data/lib/ingenico/direct/sdk/webhooks/secret_key_store.rb +16 -0
  233. data/lib/ingenico/direct/sdk/webhooks/signature_validation_exception.rb +19 -0
  234. data/lib/ingenico/direct/sdk/webhooks/webhooks.rb +22 -0
  235. data/lib/ingenico/direct/sdk/webhooks/webhooks_event.rb +58 -0
  236. data/lib/ingenico/direct/sdk/webhooks/webhooks_helper.rb +99 -0
  237. data/lib/ingenico/direct/sdk/webhooks/webhooks_helper_builder.rb +25 -0
  238. metadata +385 -0
@@ -0,0 +1,31 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] method
11
+ # @attr [String] utc_timestamp
12
+ class CustomerAccountAuthentication < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :method
14
+ attr_accessor :utc_timestamp
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['method'] = @method unless @method.nil?
20
+ hash['utcTimestamp'] = @utc_timestamp unless @utc_timestamp.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @method = hash['method'] if hash.key? 'method'
27
+ @utc_timestamp = hash['utcTimestamp'] if hash.key? 'utcTimestamp'
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,51 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/browser_data'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [String] accept_header
12
+ # @attr [Ingenico::Direct::SDK::Domain::BrowserData] browser_data
13
+ # @attr [String] ip_address
14
+ # @attr [String] locale
15
+ # @attr [String] timezone_offset_utc_minutes
16
+ # @attr [String] user_agent
17
+ class CustomerDevice < Ingenico::Direct::SDK::DataObject
18
+ attr_accessor :accept_header
19
+ attr_accessor :browser_data
20
+ attr_accessor :ip_address
21
+ attr_accessor :locale
22
+ attr_accessor :timezone_offset_utc_minutes
23
+ attr_accessor :user_agent
24
+
25
+ # @return (Hash)
26
+ def to_h
27
+ hash = super
28
+ hash['acceptHeader'] = @accept_header unless @accept_header.nil?
29
+ hash['browserData'] = @browser_data.to_h if @browser_data
30
+ hash['ipAddress'] = @ip_address unless @ip_address.nil?
31
+ hash['locale'] = @locale unless @locale.nil?
32
+ hash['timezoneOffsetUtcMinutes'] = @timezone_offset_utc_minutes unless @timezone_offset_utc_minutes.nil?
33
+ hash['userAgent'] = @user_agent unless @user_agent.nil?
34
+ hash
35
+ end
36
+
37
+ def from_hash(hash)
38
+ super
39
+ @accept_header = hash['acceptHeader'] if hash.key? 'acceptHeader'
40
+ if hash.key? 'browserData'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['browserData']] unless hash['browserData'].is_a? Hash
42
+ @browser_data = Ingenico::Direct::SDK::Domain::BrowserData.new_from_hash(hash['browserData'])
43
+ end
44
+ @ip_address = hash['ipAddress'] if hash.key? 'ipAddress'
45
+ @locale = hash['locale'] if hash.key? 'locale'
46
+ @timezone_offset_utc_minutes = hash['timezoneOffsetUtcMinutes'] if hash.key? 'timezoneOffsetUtcMinutes'
47
+ @user_agent = hash['userAgent'] if hash.key? 'userAgent'
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [Integer] number_of_payment_attempts_last24_hours
11
+ # @attr [Integer] number_of_payment_attempts_last_year
12
+ # @attr [Integer] number_of_purchases_last6_months
13
+ class CustomerPaymentActivity < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :number_of_payment_attempts_last24_hours
15
+ attr_accessor :number_of_payment_attempts_last_year
16
+ attr_accessor :number_of_purchases_last6_months
17
+
18
+ # @return (Hash)
19
+ def to_h
20
+ hash = super
21
+ hash['numberOfPaymentAttemptsLast24Hours'] = @number_of_payment_attempts_last24_hours unless @number_of_payment_attempts_last24_hours.nil?
22
+ hash['numberOfPaymentAttemptsLastYear'] = @number_of_payment_attempts_last_year unless @number_of_payment_attempts_last_year.nil?
23
+ hash['numberOfPurchasesLast6Months'] = @number_of_purchases_last6_months unless @number_of_purchases_last6_months.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ @number_of_payment_attempts_last24_hours = hash['numberOfPaymentAttemptsLast24Hours'] if hash.key? 'numberOfPaymentAttemptsLast24Hours'
30
+ @number_of_payment_attempts_last_year = hash['numberOfPaymentAttemptsLastYear'] if hash.key? 'numberOfPaymentAttemptsLastYear'
31
+ @number_of_purchases_last6_months = hash['numberOfPurchasesLast6Months'] if hash.key? 'numberOfPurchasesLast6Months'
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,47 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/address'
7
+ require 'ingenico/direct/sdk/domain/company_information'
8
+ require 'ingenico/direct/sdk/domain/personal_information_token'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [Ingenico::Direct::SDK::Domain::Address] billing_address
14
+ # @attr [Ingenico::Direct::SDK::Domain::CompanyInformation] company_information
15
+ # @attr [Ingenico::Direct::SDK::Domain::PersonalInformationToken] personal_information
16
+ class CustomerToken < Ingenico::Direct::SDK::DataObject
17
+ attr_accessor :billing_address
18
+ attr_accessor :company_information
19
+ attr_accessor :personal_information
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['billingAddress'] = @billing_address.to_h if @billing_address
25
+ hash['companyInformation'] = @company_information.to_h if @company_information
26
+ hash['personalInformation'] = @personal_information.to_h if @personal_information
27
+ hash
28
+ end
29
+
30
+ def from_hash(hash)
31
+ super
32
+ if hash.key? 'billingAddress'
33
+ raise TypeError, "value '%s' is not a Hash" % [hash['billingAddress']] unless hash['billingAddress'].is_a? Hash
34
+ @billing_address = Ingenico::Direct::SDK::Domain::Address.new_from_hash(hash['billingAddress'])
35
+ end
36
+ if hash.key? 'companyInformation'
37
+ raise TypeError, "value '%s' is not a Hash" % [hash['companyInformation']] unless hash['companyInformation'].is_a? Hash
38
+ @company_information = Ingenico::Direct::SDK::Domain::CompanyInformation.new_from_hash(hash['companyInformation'])
39
+ end
40
+ if hash.key? 'personalInformation'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['personalInformation']] unless hash['personalInformation'].is_a? Hash
42
+ @personal_information = Ingenico::Direct::SDK::Domain::PersonalInformationToken.new_from_hash(hash['personalInformation'])
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] cardholder_name
11
+ # @attr [String] cryptogram
12
+ # @attr [String] dpan
13
+ # @attr [Integer] eci
14
+ # @attr [String] expiry_date
15
+ class DecryptedPaymentData < Ingenico::Direct::SDK::DataObject
16
+ attr_accessor :cardholder_name
17
+ attr_accessor :cryptogram
18
+ attr_accessor :dpan
19
+ attr_accessor :eci
20
+ attr_accessor :expiry_date
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['cardholderName'] = @cardholder_name unless @cardholder_name.nil?
26
+ hash['cryptogram'] = @cryptogram unless @cryptogram.nil?
27
+ hash['dpan'] = @dpan unless @dpan.nil?
28
+ hash['eci'] = @eci unless @eci.nil?
29
+ hash['expiryDate'] = @expiry_date unless @expiry_date.nil?
30
+ hash
31
+ end
32
+
33
+ def from_hash(hash)
34
+ super
35
+ @cardholder_name = hash['cardholderName'] if hash.key? 'cardholderName'
36
+ @cryptogram = hash['cryptogram'] if hash.key? 'cryptogram'
37
+ @dpan = hash['dpan'] if hash.key? 'dpan'
38
+ @eci = hash['eci'] if hash.key? 'eci'
39
+ @expiry_date = hash['expiryDate'] if hash.key? 'expiryDate'
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] issuer_id
11
+ # @attr [String] issuer_list
12
+ # @attr [String] issuer_name
13
+ class DirectoryEntry < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :issuer_id
15
+ attr_accessor :issuer_list
16
+ attr_accessor :issuer_name
17
+
18
+ # @return (Hash)
19
+ def to_h
20
+ hash = super
21
+ hash['issuerId'] = @issuer_id unless @issuer_id.nil?
22
+ hash['issuerList'] = @issuer_list unless @issuer_list.nil?
23
+ hash['issuerName'] = @issuer_name unless @issuer_name.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ @issuer_id = hash['issuerId'] if hash.key? 'issuerId'
30
+ @issuer_list = hash['issuerList'] if hash.key? 'issuerList'
31
+ @issuer_name = hash['issuerName'] if hash.key? 'issuerName'
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,13 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ class EmptyValidator < Ingenico::Direct::SDK::DataObject
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,38 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+ require 'ingenico/direct/sdk/domain/api_error'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [String] error_id
12
+ # @attr [Array<Ingenico::Direct::SDK::Domain::APIError>] errors
13
+ class ErrorResponse < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :error_id
15
+ attr_accessor :errors
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['errorId'] = @error_id unless @error_id.nil?
21
+ hash['errors'] = @errors.collect(&:to_h) if @errors
22
+ hash
23
+ end
24
+
25
+ def from_hash(hash)
26
+ super
27
+ @error_id = hash['errorId'] if hash.key? 'errorId'
28
+ if hash.key? 'errors'
29
+ raise TypeError, "value '%s' is not an Array" % [hash['errors']] unless hash['errors'].is_a? Array
30
+ @errors = []
31
+ hash['errors'].each do |e|
32
+ @errors << Ingenico::Direct::SDK::Domain::APIError.new_from_hash(e)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,59 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] acs_transaction_id
11
+ # @attr [String] applied_exemption
12
+ # @attr [String] cavv
13
+ # @attr [String] cavv_algorithm
14
+ # @attr [String] directory_server_transaction_id
15
+ # @attr [Integer] eci
16
+ # @attr [Integer] scheme_risk_score
17
+ # @attr [String] three_d_secure_version
18
+ # @attr [String] xid
19
+ class ExternalCardholderAuthenticationData < Ingenico::Direct::SDK::DataObject
20
+ attr_accessor :acs_transaction_id
21
+ attr_accessor :applied_exemption
22
+ attr_accessor :cavv
23
+ attr_accessor :cavv_algorithm
24
+ attr_accessor :directory_server_transaction_id
25
+ attr_accessor :eci
26
+ attr_accessor :scheme_risk_score
27
+ attr_accessor :three_d_secure_version
28
+ attr_accessor :xid
29
+
30
+ # @return (Hash)
31
+ def to_h
32
+ hash = super
33
+ hash['acsTransactionId'] = @acs_transaction_id unless @acs_transaction_id.nil?
34
+ hash['appliedExemption'] = @applied_exemption unless @applied_exemption.nil?
35
+ hash['cavv'] = @cavv unless @cavv.nil?
36
+ hash['cavvAlgorithm'] = @cavv_algorithm unless @cavv_algorithm.nil?
37
+ hash['directoryServerTransactionId'] = @directory_server_transaction_id unless @directory_server_transaction_id.nil?
38
+ hash['eci'] = @eci unless @eci.nil?
39
+ hash['schemeRiskScore'] = @scheme_risk_score unless @scheme_risk_score.nil?
40
+ hash['threeDSecureVersion'] = @three_d_secure_version unless @three_d_secure_version.nil?
41
+ hash['xid'] = @xid unless @xid.nil?
42
+ hash
43
+ end
44
+
45
+ def from_hash(hash)
46
+ super
47
+ @acs_transaction_id = hash['acsTransactionId'] if hash.key? 'acsTransactionId'
48
+ @applied_exemption = hash['appliedExemption'] if hash.key? 'appliedExemption'
49
+ @cavv = hash['cavv'] if hash.key? 'cavv'
50
+ @cavv_algorithm = hash['cavvAlgorithm'] if hash.key? 'cavvAlgorithm'
51
+ @directory_server_transaction_id = hash['directoryServerTransactionId'] if hash.key? 'directoryServerTransactionId'
52
+ @eci = hash['eci'] if hash.key? 'eci'
53
+ @scheme_risk_score = hash['schemeRiskScore'] if hash.key? 'schemeRiskScore'
54
+ @three_d_secure_version = hash['threeDSecureVersion'] if hash.key? 'threeDSecureVersion'
55
+ @xid = hash['xid'] if hash.key? 'xid'
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,27 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] gts_computed_token
11
+ class ExternalTokenLinked < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :gts_computed_token
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['GTSComputedToken'] = @gts_computed_token unless @gts_computed_token.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ @gts_computed_token = hash['GTSComputedToken'] if hash.key? 'GTSComputedToken'
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [Array<String>] allowed_values
11
+ class FixedListValidator < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :allowed_values
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['allowedValues'] = @allowed_values unless @allowed_values.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ if hash.key? 'allowedValues'
24
+ raise TypeError, "value '%s' is not an Array" % [hash['allowedValues']] unless hash['allowedValues'].is_a? Array
25
+ @allowed_values = []
26
+ hash['allowedValues'].each do |e|
27
+ @allowed_values << e
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] black_list_data
11
+ # @attr [String] customer_ip_address
12
+ class FraudFields < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :black_list_data
14
+ attr_accessor :customer_ip_address
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['blackListData'] = @black_list_data unless @black_list_data.nil?
20
+ hash['customerIpAddress'] = @customer_ip_address unless @customer_ip_address.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @black_list_data = hash['blackListData'] if hash.key? 'blackListData'
27
+ @customer_ip_address = hash['customerIpAddress'] if hash.key? 'customerIpAddress'
28
+ end
29
+ end
30
+ end
31
+ end