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,41 @@
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] hosted_tokenization_id
11
+ # @attr [Array<String>] invalid_tokens
12
+ # @attr [String] partial_redirect_url
13
+ class CreateHostedTokenizationResponse < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :hosted_tokenization_id
15
+ attr_accessor :invalid_tokens
16
+ attr_accessor :partial_redirect_url
17
+
18
+ # @return (Hash)
19
+ def to_h
20
+ hash = super
21
+ hash['hostedTokenizationId'] = @hosted_tokenization_id unless @hosted_tokenization_id.nil?
22
+ hash['invalidTokens'] = @invalid_tokens unless @invalid_tokens.nil?
23
+ hash['partialRedirectUrl'] = @partial_redirect_url unless @partial_redirect_url.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ @hosted_tokenization_id = hash['hostedTokenizationId'] if hash.key? 'hostedTokenizationId'
30
+ if hash.key? 'invalidTokens'
31
+ raise TypeError, "value '%s' is not an Array" % [hash['invalidTokens']] unless hash['invalidTokens'].is_a? Array
32
+ @invalid_tokens = []
33
+ hash['invalidTokens'].each do |e|
34
+ @invalid_tokens << e
35
+ end
36
+ end
37
+ @partial_redirect_url = hash['partialRedirectUrl'] if hash.key? 'partialRedirectUrl'
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,67 @@
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/card_payment_method_specific_input'
7
+ require 'ingenico/direct/sdk/domain/fraud_fields'
8
+ require 'ingenico/direct/sdk/domain/mobile_payment_method_specific_input'
9
+ require 'ingenico/direct/sdk/domain/order'
10
+ require 'ingenico/direct/sdk/domain/redirect_payment_method_specific_input'
11
+
12
+ module Ingenico::Direct::SDK
13
+ module Domain
14
+
15
+ # @attr [Ingenico::Direct::SDK::Domain::CardPaymentMethodSpecificInput] card_payment_method_specific_input
16
+ # @attr [String] encrypted_customer_input
17
+ # @attr [Ingenico::Direct::SDK::Domain::FraudFields] fraud_fields
18
+ # @attr [Ingenico::Direct::SDK::Domain::MobilePaymentMethodSpecificInput] mobile_payment_method_specific_input
19
+ # @attr [Ingenico::Direct::SDK::Domain::Order] order
20
+ # @attr [Ingenico::Direct::SDK::Domain::RedirectPaymentMethodSpecificInput] redirect_payment_method_specific_input
21
+ class CreatePaymentRequest < Ingenico::Direct::SDK::DataObject
22
+ attr_accessor :card_payment_method_specific_input
23
+ attr_accessor :encrypted_customer_input
24
+ attr_accessor :fraud_fields
25
+ attr_accessor :mobile_payment_method_specific_input
26
+ attr_accessor :order
27
+ attr_accessor :redirect_payment_method_specific_input
28
+
29
+ # @return (Hash)
30
+ def to_h
31
+ hash = super
32
+ hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h if @card_payment_method_specific_input
33
+ hash['encryptedCustomerInput'] = @encrypted_customer_input unless @encrypted_customer_input.nil?
34
+ hash['fraudFields'] = @fraud_fields.to_h if @fraud_fields
35
+ hash['mobilePaymentMethodSpecificInput'] = @mobile_payment_method_specific_input.to_h if @mobile_payment_method_specific_input
36
+ hash['order'] = @order.to_h if @order
37
+ hash['redirectPaymentMethodSpecificInput'] = @redirect_payment_method_specific_input.to_h if @redirect_payment_method_specific_input
38
+ hash
39
+ end
40
+
41
+ def from_hash(hash)
42
+ super
43
+ if hash.key? 'cardPaymentMethodSpecificInput'
44
+ raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificInput']] unless hash['cardPaymentMethodSpecificInput'].is_a? Hash
45
+ @card_payment_method_specific_input = Ingenico::Direct::SDK::Domain::CardPaymentMethodSpecificInput.new_from_hash(hash['cardPaymentMethodSpecificInput'])
46
+ end
47
+ @encrypted_customer_input = hash['encryptedCustomerInput'] if hash.key? 'encryptedCustomerInput'
48
+ if hash.key? 'fraudFields'
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudFields']] unless hash['fraudFields'].is_a? Hash
50
+ @fraud_fields = Ingenico::Direct::SDK::Domain::FraudFields.new_from_hash(hash['fraudFields'])
51
+ end
52
+ if hash.key? 'mobilePaymentMethodSpecificInput'
53
+ raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']] unless hash['mobilePaymentMethodSpecificInput'].is_a? Hash
54
+ @mobile_payment_method_specific_input = Ingenico::Direct::SDK::Domain::MobilePaymentMethodSpecificInput.new_from_hash(hash['mobilePaymentMethodSpecificInput'])
55
+ end
56
+ if hash.key? 'order'
57
+ raise TypeError, "value '%s' is not a Hash" % [hash['order']] unless hash['order'].is_a? Hash
58
+ @order = Ingenico::Direct::SDK::Domain::Order.new_from_hash(hash['order'])
59
+ end
60
+ if hash.key? 'redirectPaymentMethodSpecificInput'
61
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectPaymentMethodSpecificInput']] unless hash['redirectPaymentMethodSpecificInput'].is_a? Hash
62
+ @redirect_payment_method_specific_input = Ingenico::Direct::SDK::Domain::RedirectPaymentMethodSpecificInput.new_from_hash(hash['redirectPaymentMethodSpecificInput'])
63
+ end
64
+ end
65
+ end
66
+ end
67
+ 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/merchant_action'
7
+ require 'ingenico/direct/sdk/domain/payment_creation_output'
8
+ require 'ingenico/direct/sdk/domain/payment_response'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentCreationOutput] creation_output
14
+ # @attr [Ingenico::Direct::SDK::Domain::MerchantAction] merchant_action
15
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentResponse] payment
16
+ class CreatePaymentResponse < Ingenico::Direct::SDK::DataObject
17
+ attr_accessor :creation_output
18
+ attr_accessor :merchant_action
19
+ attr_accessor :payment
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['creationOutput'] = @creation_output.to_h if @creation_output
25
+ hash['merchantAction'] = @merchant_action.to_h if @merchant_action
26
+ hash['payment'] = @payment.to_h if @payment
27
+ hash
28
+ end
29
+
30
+ def from_hash(hash)
31
+ super
32
+ if hash.key? 'creationOutput'
33
+ raise TypeError, "value '%s' is not a Hash" % [hash['creationOutput']] unless hash['creationOutput'].is_a? Hash
34
+ @creation_output = Ingenico::Direct::SDK::Domain::PaymentCreationOutput.new_from_hash(hash['creationOutput'])
35
+ end
36
+ if hash.key? 'merchantAction'
37
+ raise TypeError, "value '%s' is not a Hash" % [hash['merchantAction']] unless hash['merchantAction'].is_a? Hash
38
+ @merchant_action = Ingenico::Direct::SDK::Domain::MerchantAction.new_from_hash(hash['merchantAction'])
39
+ end
40
+ if hash.key? 'payment'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['payment']] unless hash['payment'].is_a? Hash
42
+ @payment = Ingenico::Direct::SDK::Domain::PaymentResponse.new_from_hash(hash['payment'])
43
+ end
44
+ end
45
+ end
46
+ end
47
+ 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/amount_of_money'
7
+ require 'ingenico/direct/sdk/domain/card_payout_method_specific_input'
8
+ require 'ingenico/direct/sdk/domain/payment_references'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [Ingenico::Direct::SDK::Domain::AmountOfMoney] amount_of_money
14
+ # @attr [Ingenico::Direct::SDK::Domain::CardPayoutMethodSpecificInput] card_payout_method_specific_input
15
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentReferences] references
16
+ class CreatePayoutRequest < Ingenico::Direct::SDK::DataObject
17
+ attr_accessor :amount_of_money
18
+ attr_accessor :card_payout_method_specific_input
19
+ attr_accessor :references
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
25
+ hash['cardPayoutMethodSpecificInput'] = @card_payout_method_specific_input.to_h if @card_payout_method_specific_input
26
+ hash['references'] = @references.to_h if @references
27
+ hash
28
+ end
29
+
30
+ def from_hash(hash)
31
+ super
32
+ if hash.key? 'amountOfMoney'
33
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
34
+ @amount_of_money = Ingenico::Direct::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
35
+ end
36
+ if hash.key? 'cardPayoutMethodSpecificInput'
37
+ raise TypeError, "value '%s' is not a Hash" % [hash['cardPayoutMethodSpecificInput']] unless hash['cardPayoutMethodSpecificInput'].is_a? Hash
38
+ @card_payout_method_specific_input = Ingenico::Direct::SDK::Domain::CardPayoutMethodSpecificInput.new_from_hash(hash['cardPayoutMethodSpecificInput'])
39
+ end
40
+ if hash.key? 'references'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
42
+ @references = Ingenico::Direct::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
43
+ end
44
+ end
45
+ end
46
+ end
47
+ 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
+ require 'ingenico/direct/sdk/domain/token_card_specific_input'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Ingenico::Direct::SDK::Domain::TokenCardSpecificInput] card
12
+ # @attr [Integer] payment_product_id
13
+ class CreateTokenRequest < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :card
15
+ attr_accessor :payment_product_id
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['card'] = @card.to_h if @card
21
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
22
+ hash
23
+ end
24
+
25
+ def from_hash(hash)
26
+ super
27
+ if hash.key? 'card'
28
+ raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
29
+ @card = Ingenico::Direct::SDK::Domain::TokenCardSpecificInput.new_from_hash(hash['card'])
30
+ end
31
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
32
+ end
33
+ end
34
+ end
35
+ 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
+ require 'ingenico/direct/sdk/domain/payment_response'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentResponse] payment
12
+ # @attr [String] payment_status_category
13
+ class CreatedPaymentOutput < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :payment
15
+ attr_accessor :payment_status_category
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['payment'] = @payment.to_h if @payment
21
+ hash['paymentStatusCategory'] = @payment_status_category unless @payment_status_category.nil?
22
+ hash
23
+ end
24
+
25
+ def from_hash(hash)
26
+ super
27
+ if hash.key? 'payment'
28
+ raise TypeError, "value '%s' is not a Hash" % [hash['payment']] unless hash['payment'].is_a? Hash
29
+ @payment = Ingenico::Direct::SDK::Domain::PaymentResponse.new_from_hash(hash['payment'])
30
+ end
31
+ @payment_status_category = hash['paymentStatusCategory'] if hash.key? 'paymentStatusCategory'
32
+ end
33
+ end
34
+ end
35
+ 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/card_without_cvv'
7
+ require 'ingenico/direct/sdk/domain/external_token_linked'
8
+
9
+ module Ingenico::Direct::SDK
10
+ module Domain
11
+
12
+ # @attr [Ingenico::Direct::SDK::Domain::CardWithoutCvv] card
13
+ # @attr [Ingenico::Direct::SDK::Domain::ExternalTokenLinked] external_token_linked
14
+ # @attr [true/false] is_new_token
15
+ # @attr [String] token
16
+ # @attr [String] token_status
17
+ class CreatedTokenResponse < Ingenico::Direct::SDK::DataObject
18
+ attr_accessor :card
19
+ attr_accessor :external_token_linked
20
+ attr_accessor :is_new_token
21
+ attr_accessor :token
22
+ attr_accessor :token_status
23
+
24
+ # @return (Hash)
25
+ def to_h
26
+ hash = super
27
+ hash['card'] = @card.to_h if @card
28
+ hash['externalTokenLinked'] = @external_token_linked.to_h if @external_token_linked
29
+ hash['isNewToken'] = @is_new_token unless @is_new_token.nil?
30
+ hash['token'] = @token unless @token.nil?
31
+ hash['tokenStatus'] = @token_status unless @token_status.nil?
32
+ hash
33
+ end
34
+
35
+ def from_hash(hash)
36
+ super
37
+ if hash.key? 'card'
38
+ raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
39
+ @card = Ingenico::Direct::SDK::Domain::CardWithoutCvv.new_from_hash(hash['card'])
40
+ end
41
+ if hash.key? 'externalTokenLinked'
42
+ raise TypeError, "value '%s' is not a Hash" % [hash['externalTokenLinked']] unless hash['externalTokenLinked'].is_a? Hash
43
+ @external_token_linked = Ingenico::Direct::SDK::Domain::ExternalTokenLinked.new_from_hash(hash['externalTokenLinked'])
44
+ end
45
+ @is_new_token = hash['isNewToken'] if hash.key? 'isNewToken'
46
+ @token = hash['token'] if hash.key? 'token'
47
+ @token_status = hash['tokenStatus'] if hash.key? 'tokenStatus'
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,87 @@
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/contact_details'
9
+ require 'ingenico/direct/sdk/domain/customer_account'
10
+ require 'ingenico/direct/sdk/domain/customer_device'
11
+ require 'ingenico/direct/sdk/domain/personal_information'
12
+
13
+ module Ingenico::Direct::SDK
14
+ module Domain
15
+
16
+ # @attr [Ingenico::Direct::SDK::Domain::CustomerAccount] account
17
+ # @attr [String] account_type
18
+ # @attr [Ingenico::Direct::SDK::Domain::Address] billing_address
19
+ # @attr [Ingenico::Direct::SDK::Domain::CompanyInformation] company_information
20
+ # @attr [Ingenico::Direct::SDK::Domain::ContactDetails] contact_details
21
+ # @attr [Ingenico::Direct::SDK::Domain::CustomerDevice] device
22
+ # @attr [String] fiscal_number
23
+ # @attr [String] locale
24
+ # @attr [String] merchant_customer_id
25
+ # @attr [Ingenico::Direct::SDK::Domain::PersonalInformation] personal_information
26
+ class Customer < Ingenico::Direct::SDK::DataObject
27
+ attr_accessor :account
28
+ attr_accessor :account_type
29
+ attr_accessor :billing_address
30
+ attr_accessor :company_information
31
+ attr_accessor :contact_details
32
+ attr_accessor :device
33
+ attr_accessor :fiscal_number
34
+ attr_accessor :locale
35
+ attr_accessor :merchant_customer_id
36
+ attr_accessor :personal_information
37
+
38
+ # @return (Hash)
39
+ def to_h
40
+ hash = super
41
+ hash['account'] = @account.to_h if @account
42
+ hash['accountType'] = @account_type unless @account_type.nil?
43
+ hash['billingAddress'] = @billing_address.to_h if @billing_address
44
+ hash['companyInformation'] = @company_information.to_h if @company_information
45
+ hash['contactDetails'] = @contact_details.to_h if @contact_details
46
+ hash['device'] = @device.to_h if @device
47
+ hash['fiscalNumber'] = @fiscal_number unless @fiscal_number.nil?
48
+ hash['locale'] = @locale unless @locale.nil?
49
+ hash['merchantCustomerId'] = @merchant_customer_id unless @merchant_customer_id.nil?
50
+ hash['personalInformation'] = @personal_information.to_h if @personal_information
51
+ hash
52
+ end
53
+
54
+ def from_hash(hash)
55
+ super
56
+ if hash.key? 'account'
57
+ raise TypeError, "value '%s' is not a Hash" % [hash['account']] unless hash['account'].is_a? Hash
58
+ @account = Ingenico::Direct::SDK::Domain::CustomerAccount.new_from_hash(hash['account'])
59
+ end
60
+ @account_type = hash['accountType'] if hash.key? 'accountType'
61
+ if hash.key? 'billingAddress'
62
+ raise TypeError, "value '%s' is not a Hash" % [hash['billingAddress']] unless hash['billingAddress'].is_a? Hash
63
+ @billing_address = Ingenico::Direct::SDK::Domain::Address.new_from_hash(hash['billingAddress'])
64
+ end
65
+ if hash.key? 'companyInformation'
66
+ raise TypeError, "value '%s' is not a Hash" % [hash['companyInformation']] unless hash['companyInformation'].is_a? Hash
67
+ @company_information = Ingenico::Direct::SDK::Domain::CompanyInformation.new_from_hash(hash['companyInformation'])
68
+ end
69
+ if hash.key? 'contactDetails'
70
+ raise TypeError, "value '%s' is not a Hash" % [hash['contactDetails']] unless hash['contactDetails'].is_a? Hash
71
+ @contact_details = Ingenico::Direct::SDK::Domain::ContactDetails.new_from_hash(hash['contactDetails'])
72
+ end
73
+ if hash.key? 'device'
74
+ raise TypeError, "value '%s' is not a Hash" % [hash['device']] unless hash['device'].is_a? Hash
75
+ @device = Ingenico::Direct::SDK::Domain::CustomerDevice.new_from_hash(hash['device'])
76
+ end
77
+ @fiscal_number = hash['fiscalNumber'] if hash.key? 'fiscalNumber'
78
+ @locale = hash['locale'] if hash.key? 'locale'
79
+ @merchant_customer_id = hash['merchantCustomerId'] if hash.key? 'merchantCustomerId'
80
+ if hash.key? 'personalInformation'
81
+ raise TypeError, "value '%s' is not a Hash" % [hash['personalInformation']] unless hash['personalInformation'].is_a? Hash
82
+ @personal_information = Ingenico::Direct::SDK::Domain::PersonalInformation.new_from_hash(hash['personalInformation'])
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,71 @@
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/customer_account_authentication'
7
+ require 'ingenico/direct/sdk/domain/customer_payment_activity'
8
+ require 'ingenico/direct/sdk/domain/payment_account_on_file'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [Ingenico::Direct::SDK::Domain::CustomerAccountAuthentication] authentication
14
+ # @attr [String] change_date
15
+ # @attr [true/false] changed_during_checkout
16
+ # @attr [String] create_date
17
+ # @attr [true/false] had_suspicious_activity
18
+ # @attr [String] password_change_date
19
+ # @attr [true/false] password_changed_during_checkout
20
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentAccountOnFile] payment_account_on_file
21
+ # @attr [Ingenico::Direct::SDK::Domain::CustomerPaymentActivity] payment_activity
22
+ class CustomerAccount < Ingenico::Direct::SDK::DataObject
23
+ attr_accessor :authentication
24
+ attr_accessor :change_date
25
+ attr_accessor :changed_during_checkout
26
+ attr_accessor :create_date
27
+ attr_accessor :had_suspicious_activity
28
+ attr_accessor :password_change_date
29
+ attr_accessor :password_changed_during_checkout
30
+ attr_accessor :payment_account_on_file
31
+ attr_accessor :payment_activity
32
+
33
+ # @return (Hash)
34
+ def to_h
35
+ hash = super
36
+ hash['authentication'] = @authentication.to_h if @authentication
37
+ hash['changeDate'] = @change_date unless @change_date.nil?
38
+ hash['changedDuringCheckout'] = @changed_during_checkout unless @changed_during_checkout.nil?
39
+ hash['createDate'] = @create_date unless @create_date.nil?
40
+ hash['hadSuspiciousActivity'] = @had_suspicious_activity unless @had_suspicious_activity.nil?
41
+ hash['passwordChangeDate'] = @password_change_date unless @password_change_date.nil?
42
+ hash['passwordChangedDuringCheckout'] = @password_changed_during_checkout unless @password_changed_during_checkout.nil?
43
+ hash['paymentAccountOnFile'] = @payment_account_on_file.to_h if @payment_account_on_file
44
+ hash['paymentActivity'] = @payment_activity.to_h if @payment_activity
45
+ hash
46
+ end
47
+
48
+ def from_hash(hash)
49
+ super
50
+ if hash.key? 'authentication'
51
+ raise TypeError, "value '%s' is not a Hash" % [hash['authentication']] unless hash['authentication'].is_a? Hash
52
+ @authentication = Ingenico::Direct::SDK::Domain::CustomerAccountAuthentication.new_from_hash(hash['authentication'])
53
+ end
54
+ @change_date = hash['changeDate'] if hash.key? 'changeDate'
55
+ @changed_during_checkout = hash['changedDuringCheckout'] if hash.key? 'changedDuringCheckout'
56
+ @create_date = hash['createDate'] if hash.key? 'createDate'
57
+ @had_suspicious_activity = hash['hadSuspiciousActivity'] if hash.key? 'hadSuspiciousActivity'
58
+ @password_change_date = hash['passwordChangeDate'] if hash.key? 'passwordChangeDate'
59
+ @password_changed_during_checkout = hash['passwordChangedDuringCheckout'] if hash.key? 'passwordChangedDuringCheckout'
60
+ if hash.key? 'paymentAccountOnFile'
61
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentAccountOnFile']] unless hash['paymentAccountOnFile'].is_a? Hash
62
+ @payment_account_on_file = Ingenico::Direct::SDK::Domain::PaymentAccountOnFile.new_from_hash(hash['paymentAccountOnFile'])
63
+ end
64
+ if hash.key? 'paymentActivity'
65
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentActivity']] unless hash['paymentActivity'].is_a? Hash
66
+ @payment_activity = Ingenico::Direct::SDK::Domain::CustomerPaymentActivity.new_from_hash(hash['paymentActivity'])
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end