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,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/order_status_output'
7
+ require 'ingenico/direct/sdk/domain/refund_output'
8
+
9
+ module Ingenico::Direct::SDK
10
+ module Domain
11
+
12
+ # @attr [String] id
13
+ # @attr [Ingenico::Direct::SDK::Domain::RefundOutput] refund_output
14
+ # @attr [String] status
15
+ # @attr [Ingenico::Direct::SDK::Domain::OrderStatusOutput] status_output
16
+ class RefundResponse < Ingenico::Direct::SDK::DataObject
17
+ attr_accessor :id
18
+ attr_accessor :refund_output
19
+ attr_accessor :status
20
+ attr_accessor :status_output
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['id'] = @id unless @id.nil?
26
+ hash['refundOutput'] = @refund_output.to_h if @refund_output
27
+ hash['status'] = @status unless @status.nil?
28
+ hash['statusOutput'] = @status_output.to_h if @status_output
29
+ hash
30
+ end
31
+
32
+ def from_hash(hash)
33
+ super
34
+ @id = hash['id'] if hash.key? 'id'
35
+ if hash.key? 'refundOutput'
36
+ raise TypeError, "value '%s' is not a Hash" % [hash['refundOutput']] unless hash['refundOutput'].is_a? Hash
37
+ @refund_output = Ingenico::Direct::SDK::Domain::RefundOutput.new_from_hash(hash['refundOutput'])
38
+ end
39
+ @status = hash['status'] if hash.key? 'status'
40
+ if hash.key? 'statusOutput'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['statusOutput']] unless hash['statusOutput'].is_a? Hash
42
+ @status_output = Ingenico::Direct::SDK::Domain::OrderStatusOutput.new_from_hash(hash['statusOutput'])
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,34 @@
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/refund_response'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Array<Ingenico::Direct::SDK::Domain::RefundResponse>] refunds
12
+ class RefundsResponse < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :refunds
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['refunds'] = @refunds.collect(&:to_h) if @refunds
19
+ hash
20
+ end
21
+
22
+ def from_hash(hash)
23
+ super
24
+ if hash.key? 'refunds'
25
+ raise TypeError, "value '%s' is not an Array" % [hash['refunds']] unless hash['refunds'].is_a? Array
26
+ @refunds = []
27
+ hash['refunds'].each do |e|
28
+ @refunds << Ingenico::Direct::SDK::Domain::RefundResponse.new_from_hash(e)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ 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] regular_expression
11
+ class RegularExpressionValidator < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :regular_expression
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['regularExpression'] = @regular_expression unless @regular_expression.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ @regular_expression = hash['regularExpression'] if hash.key? 'regularExpression'
24
+ end
25
+ end
26
+ end
27
+ 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
+ require 'ingenico/direct/sdk/domain/fraud_results'
7
+ require 'ingenico/direct/sdk/domain/payment_product771_specific_output'
8
+
9
+ module Ingenico::Direct::SDK
10
+ module Domain
11
+
12
+ # @attr [Ingenico::Direct::SDK::Domain::FraudResults] fraud_results
13
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct771SpecificOutput] payment_product771_specific_output
14
+ # @attr [Integer] payment_product_id
15
+ class SepaDirectDebitPaymentMethodSpecificOutput < Ingenico::Direct::SDK::DataObject
16
+ attr_accessor :fraud_results
17
+ attr_accessor :payment_product771_specific_output
18
+ attr_accessor :payment_product_id
19
+
20
+ # @return (Hash)
21
+ def to_h
22
+ hash = super
23
+ hash['fraudResults'] = @fraud_results.to_h if @fraud_results
24
+ hash['paymentProduct771SpecificOutput'] = @payment_product771_specific_output.to_h if @payment_product771_specific_output
25
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
26
+ hash
27
+ end
28
+
29
+ def from_hash(hash)
30
+ super
31
+ if hash.key? 'fraudResults'
32
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
33
+ @fraud_results = Ingenico::Direct::SDK::Domain::FraudResults.new_from_hash(hash['fraudResults'])
34
+ end
35
+ if hash.key? 'paymentProduct771SpecificOutput'
36
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct771SpecificOutput']] unless hash['paymentProduct771SpecificOutput'].is_a? Hash
37
+ @payment_product771_specific_output = Ingenico::Direct::SDK::Domain::PaymentProduct771SpecificOutput.new_from_hash(hash['paymentProduct771SpecificOutput'])
38
+ end
39
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
40
+ end
41
+ end
42
+ end
43
+ 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>] tokens
11
+ class SessionRequest < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :tokens
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['tokens'] = @tokens unless @tokens.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ if hash.key? 'tokens'
24
+ raise TypeError, "value '%s' is not an Array" % [hash['tokens']] unless hash['tokens'].is_a? Array
25
+ @tokens = []
26
+ hash['tokens'].each do |e|
27
+ @tokens << e
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,49 @@
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] asset_url
11
+ # @attr [String] client_api_url
12
+ # @attr [String] client_session_id
13
+ # @attr [String] customer_id
14
+ # @attr [Array<String>] invalid_tokens
15
+ class SessionResponse < Ingenico::Direct::SDK::DataObject
16
+ attr_accessor :asset_url
17
+ attr_accessor :client_api_url
18
+ attr_accessor :client_session_id
19
+ attr_accessor :customer_id
20
+ attr_accessor :invalid_tokens
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['assetUrl'] = @asset_url unless @asset_url.nil?
26
+ hash['clientApiUrl'] = @client_api_url unless @client_api_url.nil?
27
+ hash['clientSessionId'] = @client_session_id unless @client_session_id.nil?
28
+ hash['customerId'] = @customer_id unless @customer_id.nil?
29
+ hash['invalidTokens'] = @invalid_tokens unless @invalid_tokens.nil?
30
+ hash
31
+ end
32
+
33
+ def from_hash(hash)
34
+ super
35
+ @asset_url = hash['assetUrl'] if hash.key? 'assetUrl'
36
+ @client_api_url = hash['clientApiUrl'] if hash.key? 'clientApiUrl'
37
+ @client_session_id = hash['clientSessionId'] if hash.key? 'clientSessionId'
38
+ @customer_id = hash['customerId'] if hash.key? 'customerId'
39
+ if hash.key? 'invalidTokens'
40
+ raise TypeError, "value '%s' is not an Array" % [hash['invalidTokens']] unless hash['invalidTokens'].is_a? Array
41
+ @invalid_tokens = []
42
+ hash['invalidTokens'].each do |e|
43
+ @invalid_tokens << e
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ 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/address_personal'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Ingenico::Direct::SDK::Domain::AddressPersonal] address
12
+ # @attr [String] address_indicator
13
+ # @attr [String] email_address
14
+ # @attr [String] first_usage_date
15
+ # @attr [true/false] is_first_usage
16
+ # @attr [String] type
17
+ class Shipping < Ingenico::Direct::SDK::DataObject
18
+ attr_accessor :address
19
+ attr_accessor :address_indicator
20
+ attr_accessor :email_address
21
+ attr_accessor :first_usage_date
22
+ attr_accessor :is_first_usage
23
+ attr_accessor :type
24
+
25
+ # @return (Hash)
26
+ def to_h
27
+ hash = super
28
+ hash['address'] = @address.to_h if @address
29
+ hash['addressIndicator'] = @address_indicator unless @address_indicator.nil?
30
+ hash['emailAddress'] = @email_address unless @email_address.nil?
31
+ hash['firstUsageDate'] = @first_usage_date unless @first_usage_date.nil?
32
+ hash['isFirstUsage'] = @is_first_usage unless @is_first_usage.nil?
33
+ hash['type'] = @type unless @type.nil?
34
+ hash
35
+ end
36
+
37
+ def from_hash(hash)
38
+ super
39
+ if hash.key? 'address'
40
+ raise TypeError, "value '%s' is not a Hash" % [hash['address']] unless hash['address'].is_a? Hash
41
+ @address = Ingenico::Direct::SDK::Domain::AddressPersonal.new_from_hash(hash['address'])
42
+ end
43
+ @address_indicator = hash['addressIndicator'] if hash.key? 'addressIndicator'
44
+ @email_address = hash['emailAddress'] if hash.key? 'emailAddress'
45
+ @first_usage_date = hash['firstUsageDate'] if hash.key? 'firstUsageDate'
46
+ @is_first_usage = hash['isFirstUsage'] if hash.key? 'isFirstUsage'
47
+ @type = hash['type'] if hash.key? 'type'
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,65 @@
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/amount_breakdown'
7
+ require 'ingenico/direct/sdk/domain/gift_card_purchase'
8
+ require 'ingenico/direct/sdk/domain/line_item'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [Array<Ingenico::Direct::SDK::Domain::AmountBreakdown>] amount_breakdown
14
+ # @attr [Ingenico::Direct::SDK::Domain::GiftCardPurchase] gift_card_purchase
15
+ # @attr [true/false] is_pre_order
16
+ # @attr [Array<Ingenico::Direct::SDK::Domain::LineItem>] items
17
+ # @attr [String] pre_order_item_availability_date
18
+ # @attr [true/false] re_order_indicator
19
+ class ShoppingCart < Ingenico::Direct::SDK::DataObject
20
+ attr_accessor :amount_breakdown
21
+ attr_accessor :gift_card_purchase
22
+ attr_accessor :is_pre_order
23
+ attr_accessor :items
24
+ attr_accessor :pre_order_item_availability_date
25
+ attr_accessor :re_order_indicator
26
+
27
+ # @return (Hash)
28
+ def to_h
29
+ hash = super
30
+ hash['amountBreakdown'] = @amount_breakdown.collect(&:to_h) if @amount_breakdown
31
+ hash['giftCardPurchase'] = @gift_card_purchase.to_h if @gift_card_purchase
32
+ hash['isPreOrder'] = @is_pre_order unless @is_pre_order.nil?
33
+ hash['items'] = @items.collect(&:to_h) if @items
34
+ hash['preOrderItemAvailabilityDate'] = @pre_order_item_availability_date unless @pre_order_item_availability_date.nil?
35
+ hash['reOrderIndicator'] = @re_order_indicator unless @re_order_indicator.nil?
36
+ hash
37
+ end
38
+
39
+ def from_hash(hash)
40
+ super
41
+ if hash.key? 'amountBreakdown'
42
+ raise TypeError, "value '%s' is not an Array" % [hash['amountBreakdown']] unless hash['amountBreakdown'].is_a? Array
43
+ @amount_breakdown = []
44
+ hash['amountBreakdown'].each do |e|
45
+ @amount_breakdown << Ingenico::Direct::SDK::Domain::AmountBreakdown.new_from_hash(e)
46
+ end
47
+ end
48
+ if hash.key? 'giftCardPurchase'
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['giftCardPurchase']] unless hash['giftCardPurchase'].is_a? Hash
50
+ @gift_card_purchase = Ingenico::Direct::SDK::Domain::GiftCardPurchase.new_from_hash(hash['giftCardPurchase'])
51
+ end
52
+ @is_pre_order = hash['isPreOrder'] if hash.key? 'isPreOrder'
53
+ if hash.key? 'items'
54
+ raise TypeError, "value '%s' is not an Array" % [hash['items']] unless hash['items'].is_a? Array
55
+ @items = []
56
+ hash['items'].each do |e|
57
+ @items << Ingenico::Direct::SDK::Domain::LineItem.new_from_hash(e)
58
+ end
59
+ end
60
+ @pre_order_item_availability_date = hash['preOrderItemAvailabilityDate'] if hash.key? 'preOrderItemAvailabilityDate'
61
+ @re_order_indicator = hash['reOrderIndicator'] if hash.key? 'reOrderIndicator'
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,52 @@
1
+ require 'ingenico/direct/sdk/data_object'
2
+
3
+ module Ingenico::Direct::SDK::Domain
4
+
5
+ # Represents metadata part of shopping carts.
6
+ class ShoppingCartExtension < Ingenico::Direct::SDK::DataObject
7
+ def initialize(creator, name, version, extension_id = nil)
8
+ raise ArgumentError if creator.nil? || creator.strip.empty?
9
+ raise ArgumentError if name.nil? || name.strip.empty?
10
+ raise ArgumentError if version.nil? || version.to_s.strip.empty?
11
+
12
+ @creator = creator
13
+ @name = name
14
+ @version = version.to_s
15
+ @extension_id = extension_id
16
+ end
17
+
18
+ # Constructs a new ShoppingCartExtension from parameter hash
19
+ # the hash should contain a _creator_, _name_, _version_ and _extensionId_
20
+ #--
21
+ # Overridden so ShoppingCartExtension can retain mandatory default arguments
22
+ #++
23
+ def self.new_from_hash(hash)
24
+ creator = hash['creator'] if hash.has_key?('creator')
25
+ name = hash['name'] if hash.has_key?('name')
26
+ version = hash['version'] if hash.has_key?('version')
27
+ extension_id = hash['extensionId'] if hash.has_key?('extensionId')
28
+ self.new(creator, name, version, extension_id)
29
+ end
30
+
31
+ # Converts the shopping cart metadata to a hash
32
+ def to_h
33
+ hash = super
34
+ hash['creator'] = @creator unless @creator.nil?
35
+ hash['name'] = @name unless @name.nil?
36
+ hash['version'] = @version unless @version.nil?
37
+ hash['extensionId'] = @extension_id unless @extension_id.nil?
38
+ hash
39
+ end
40
+
41
+ # loads shopping cart metadata from a parameter hash
42
+ def from_hash(hash)
43
+ super
44
+ @creator = hash['creator'] if hash.has_key? 'creator'
45
+ @name = hash['name'] if hash.has_key? 'name'
46
+ @version = hash['version'] if hash.has_key? 'version'
47
+ @extension_id = hash['extensionId'] if hash.has_key? 'extensionId'
48
+ end
49
+
50
+ attr_reader :creator, :name, :version, :extension_id
51
+ end
52
+ 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] result
11
+ class TestConnection < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :result
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['result'] = @result unless @result.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ @result = hash['result'] if hash.key? 'result'
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,63 @@
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/external_cardholder_authentication_data'
7
+ require 'ingenico/direct/sdk/domain/redirection_data'
8
+ require 'ingenico/direct/sdk/domain/three_d_secure_data'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [String] challenge_canvas_size
14
+ # @attr [String] challenge_indicator
15
+ # @attr [String] exemption_request
16
+ # @attr [Ingenico::Direct::SDK::Domain::ExternalCardholderAuthenticationData] external_cardholder_authentication_data
17
+ # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureData] prior_three_d_secure_data
18
+ # @attr [Ingenico::Direct::SDK::Domain::RedirectionData] redirection_data
19
+ # @attr [true/false] skip_authentication
20
+ class ThreeDSecure < Ingenico::Direct::SDK::DataObject
21
+ attr_accessor :challenge_canvas_size
22
+ attr_accessor :challenge_indicator
23
+ attr_accessor :exemption_request
24
+ attr_accessor :external_cardholder_authentication_data
25
+ attr_accessor :prior_three_d_secure_data
26
+ attr_accessor :redirection_data
27
+ attr_accessor :skip_authentication
28
+
29
+ # @return (Hash)
30
+ def to_h
31
+ hash = super
32
+ hash['challengeCanvasSize'] = @challenge_canvas_size unless @challenge_canvas_size.nil?
33
+ hash['challengeIndicator'] = @challenge_indicator unless @challenge_indicator.nil?
34
+ hash['exemptionRequest'] = @exemption_request unless @exemption_request.nil?
35
+ hash['externalCardholderAuthenticationData'] = @external_cardholder_authentication_data.to_h if @external_cardholder_authentication_data
36
+ hash['priorThreeDSecureData'] = @prior_three_d_secure_data.to_h if @prior_three_d_secure_data
37
+ hash['redirectionData'] = @redirection_data.to_h if @redirection_data
38
+ hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
39
+ hash
40
+ end
41
+
42
+ def from_hash(hash)
43
+ super
44
+ @challenge_canvas_size = hash['challengeCanvasSize'] if hash.key? 'challengeCanvasSize'
45
+ @challenge_indicator = hash['challengeIndicator'] if hash.key? 'challengeIndicator'
46
+ @exemption_request = hash['exemptionRequest'] if hash.key? 'exemptionRequest'
47
+ if hash.key? 'externalCardholderAuthenticationData'
48
+ raise TypeError, "value '%s' is not a Hash" % [hash['externalCardholderAuthenticationData']] unless hash['externalCardholderAuthenticationData'].is_a? Hash
49
+ @external_cardholder_authentication_data = Ingenico::Direct::SDK::Domain::ExternalCardholderAuthenticationData.new_from_hash(hash['externalCardholderAuthenticationData'])
50
+ end
51
+ if hash.key? 'priorThreeDSecureData'
52
+ raise TypeError, "value '%s' is not a Hash" % [hash['priorThreeDSecureData']] unless hash['priorThreeDSecureData'].is_a? Hash
53
+ @prior_three_d_secure_data = Ingenico::Direct::SDK::Domain::ThreeDSecureData.new_from_hash(hash['priorThreeDSecureData'])
54
+ end
55
+ if hash.key? 'redirectionData'
56
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
57
+ @redirection_data = Ingenico::Direct::SDK::Domain::RedirectionData.new_from_hash(hash['redirectionData'])
58
+ end
59
+ @skip_authentication = hash['skipAuthentication'] if hash.key? 'skipAuthentication'
60
+ end
61
+ end
62
+ end
63
+ end