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,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] description
11
+ class LineItemInvoiceData < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :description
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['description'] = @description unless @description.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ @description = hash['description'] if hash.key? 'description'
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
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] account_number
11
+ # @attr [String] date_of_birth
12
+ # @attr [String] partial_pan
13
+ # @attr [String] surname
14
+ # @attr [String] zip
15
+ class LoanRecipient < Ingenico::Direct::SDK::DataObject
16
+ attr_accessor :account_number
17
+ attr_accessor :date_of_birth
18
+ attr_accessor :partial_pan
19
+ attr_accessor :surname
20
+ attr_accessor :zip
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['accountNumber'] = @account_number unless @account_number.nil?
26
+ hash['dateOfBirth'] = @date_of_birth unless @date_of_birth.nil?
27
+ hash['partialPan'] = @partial_pan unless @partial_pan.nil?
28
+ hash['surname'] = @surname unless @surname.nil?
29
+ hash['zip'] = @zip unless @zip.nil?
30
+ hash
31
+ end
32
+
33
+ def from_hash(hash)
34
+ super
35
+ @account_number = hash['accountNumber'] if hash.key? 'accountNumber'
36
+ @date_of_birth = hash['dateOfBirth'] if hash.key? 'dateOfBirth'
37
+ @partial_pan = hash['partialPan'] if hash.key? 'partialPan'
38
+ @surname = hash['surname'] if hash.key? 'surname'
39
+ @zip = hash['zip'] if hash.key? 'zip'
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
+ require 'ingenico/direct/sdk/domain/redirect_data'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [String] action_type
12
+ # @attr [Ingenico::Direct::SDK::Domain::RedirectData] redirect_data
13
+ class MerchantAction < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :action_type
15
+ attr_accessor :redirect_data
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['actionType'] = @action_type unless @action_type.nil?
21
+ hash['redirectData'] = @redirect_data.to_h if @redirect_data
22
+ hash
23
+ end
24
+
25
+ def from_hash(hash)
26
+ super
27
+ @action_type = hash['actionType'] if hash.key? 'actionType'
28
+ if hash.key? 'redirectData'
29
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectData']] unless hash['redirectData'].is_a? Hash
30
+ @redirect_data = Ingenico::Direct::SDK::Domain::RedirectData.new_from_hash(hash['redirectData'])
31
+ end
32
+ end
33
+ end
34
+ end
35
+ 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] dpan
11
+ # @attr [String] expiry_date
12
+ class MobilePaymentData < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :dpan
14
+ attr_accessor :expiry_date
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['dpan'] = @dpan unless @dpan.nil?
20
+ hash['expiryDate'] = @expiry_date unless @expiry_date.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @dpan = hash['dpan'] if hash.key? 'dpan'
27
+ @expiry_date = hash['expiryDate'] if hash.key? 'expiryDate'
28
+ end
29
+ end
30
+ end
31
+ 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/decrypted_payment_data'
7
+ require 'ingenico/direct/sdk/domain/mobile_payment_product320_specific_input'
8
+
9
+ module Ingenico::Direct::SDK
10
+ module Domain
11
+
12
+ # @attr [String] authorization_mode
13
+ # @attr [Ingenico::Direct::SDK::Domain::DecryptedPaymentData] decrypted_payment_data
14
+ # @attr [String] encrypted_payment_data
15
+ # @attr [String] ephemeral_key
16
+ # @attr [Ingenico::Direct::SDK::Domain::MobilePaymentProduct320SpecificInput] payment_product320_specific_input
17
+ # @attr [Integer] payment_product_id
18
+ # @attr [String] public_key_hash
19
+ # @attr [true/false] requires_approval
20
+ class MobilePaymentMethodSpecificInput < Ingenico::Direct::SDK::DataObject
21
+ attr_accessor :authorization_mode
22
+ attr_accessor :decrypted_payment_data
23
+ attr_accessor :encrypted_payment_data
24
+ attr_accessor :ephemeral_key
25
+ attr_accessor :payment_product320_specific_input
26
+ attr_accessor :payment_product_id
27
+ attr_accessor :public_key_hash
28
+ attr_accessor :requires_approval
29
+
30
+ # @return (Hash)
31
+ def to_h
32
+ hash = super
33
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
34
+ hash['decryptedPaymentData'] = @decrypted_payment_data.to_h if @decrypted_payment_data
35
+ hash['encryptedPaymentData'] = @encrypted_payment_data unless @encrypted_payment_data.nil?
36
+ hash['ephemeralKey'] = @ephemeral_key unless @ephemeral_key.nil?
37
+ hash['paymentProduct320SpecificInput'] = @payment_product320_specific_input.to_h if @payment_product320_specific_input
38
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
39
+ hash['publicKeyHash'] = @public_key_hash unless @public_key_hash.nil?
40
+ hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
41
+ hash
42
+ end
43
+
44
+ def from_hash(hash)
45
+ super
46
+ @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
47
+ if hash.key? 'decryptedPaymentData'
48
+ raise TypeError, "value '%s' is not a Hash" % [hash['decryptedPaymentData']] unless hash['decryptedPaymentData'].is_a? Hash
49
+ @decrypted_payment_data = Ingenico::Direct::SDK::Domain::DecryptedPaymentData.new_from_hash(hash['decryptedPaymentData'])
50
+ end
51
+ @encrypted_payment_data = hash['encryptedPaymentData'] if hash.key? 'encryptedPaymentData'
52
+ @ephemeral_key = hash['ephemeralKey'] if hash.key? 'ephemeralKey'
53
+ if hash.key? 'paymentProduct320SpecificInput'
54
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct320SpecificInput']] unless hash['paymentProduct320SpecificInput'].is_a? Hash
55
+ @payment_product320_specific_input = Ingenico::Direct::SDK::Domain::MobilePaymentProduct320SpecificInput.new_from_hash(hash['paymentProduct320SpecificInput'])
56
+ end
57
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
58
+ @public_key_hash = hash['publicKeyHash'] if hash.key? 'publicKeyHash'
59
+ @requires_approval = hash['requiresApproval'] if hash.key? 'requiresApproval'
60
+ end
61
+ end
62
+ end
63
+ 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
+ require 'ingenico/direct/sdk/domain/card_fraud_results'
7
+ require 'ingenico/direct/sdk/domain/mobile_payment_data'
8
+ require 'ingenico/direct/sdk/domain/three_d_secure_results'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [String] authorisation_code
14
+ # @attr [Ingenico::Direct::SDK::Domain::CardFraudResults] fraud_results
15
+ # @attr [String] network
16
+ # @attr [Ingenico::Direct::SDK::Domain::MobilePaymentData] payment_data
17
+ # @attr [Integer] payment_product_id
18
+ # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureResults] three_d_secure_results
19
+ class MobilePaymentMethodSpecificOutput < Ingenico::Direct::SDK::DataObject
20
+ attr_accessor :authorisation_code
21
+ attr_accessor :fraud_results
22
+ attr_accessor :network
23
+ attr_accessor :payment_data
24
+ attr_accessor :payment_product_id
25
+ attr_accessor :three_d_secure_results
26
+
27
+ # @return (Hash)
28
+ def to_h
29
+ hash = super
30
+ hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
31
+ hash['fraudResults'] = @fraud_results.to_h if @fraud_results
32
+ hash['network'] = @network unless @network.nil?
33
+ hash['paymentData'] = @payment_data.to_h if @payment_data
34
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
35
+ hash['threeDSecureResults'] = @three_d_secure_results.to_h if @three_d_secure_results
36
+ hash
37
+ end
38
+
39
+ def from_hash(hash)
40
+ super
41
+ @authorisation_code = hash['authorisationCode'] if hash.key? 'authorisationCode'
42
+ if hash.key? 'fraudResults'
43
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
44
+ @fraud_results = Ingenico::Direct::SDK::Domain::CardFraudResults.new_from_hash(hash['fraudResults'])
45
+ end
46
+ @network = hash['network'] if hash.key? 'network'
47
+ if hash.key? 'paymentData'
48
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentData']] unless hash['paymentData'].is_a? Hash
49
+ @payment_data = Ingenico::Direct::SDK::Domain::MobilePaymentData.new_from_hash(hash['paymentData'])
50
+ end
51
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
52
+ if hash.key? 'threeDSecureResults'
53
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecureResults']] unless hash['threeDSecureResults'].is_a? Hash
54
+ @three_d_secure_results = Ingenico::Direct::SDK::Domain::ThreeDSecureResults.new_from_hash(hash['threeDSecureResults'])
55
+ end
56
+ end
57
+ end
58
+ end
59
+ 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
+ require 'ingenico/direct/sdk/domain/g_pay_three_d_secure'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Ingenico::Direct::SDK::Domain::GPayThreeDSecure] three_d_secure
12
+ class MobilePaymentProduct320SpecificInput < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :three_d_secure
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
19
+ hash
20
+ end
21
+
22
+ def from_hash(hash)
23
+ super
24
+ if hash.key? 'threeDSecure'
25
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
26
+ @three_d_secure = Ingenico::Direct::SDK::Domain::GPayThreeDSecure.new_from_hash(hash['threeDSecure'])
27
+ end
28
+ end
29
+ end
30
+ end
31
+ 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/additional_order_input'
7
+ require 'ingenico/direct/sdk/domain/amount_of_money'
8
+ require 'ingenico/direct/sdk/domain/customer'
9
+ require 'ingenico/direct/sdk/domain/order_references'
10
+ require 'ingenico/direct/sdk/domain/shipping'
11
+ require 'ingenico/direct/sdk/domain/shopping_cart'
12
+
13
+ module Ingenico::Direct::SDK
14
+ module Domain
15
+
16
+ # @attr [Ingenico::Direct::SDK::Domain::AdditionalOrderInput] additional_input
17
+ # @attr [Ingenico::Direct::SDK::Domain::AmountOfMoney] amount_of_money
18
+ # @attr [Ingenico::Direct::SDK::Domain::Customer] customer
19
+ # @attr [Ingenico::Direct::SDK::Domain::OrderReferences] references
20
+ # @attr [Ingenico::Direct::SDK::Domain::Shipping] shipping
21
+ # @attr [Ingenico::Direct::SDK::Domain::ShoppingCart] shopping_cart
22
+ class Order < Ingenico::Direct::SDK::DataObject
23
+ attr_accessor :additional_input
24
+ attr_accessor :amount_of_money
25
+ attr_accessor :customer
26
+ attr_accessor :references
27
+ attr_accessor :shipping
28
+ attr_accessor :shopping_cart
29
+
30
+ # @return (Hash)
31
+ def to_h
32
+ hash = super
33
+ hash['additionalInput'] = @additional_input.to_h if @additional_input
34
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
35
+ hash['customer'] = @customer.to_h if @customer
36
+ hash['references'] = @references.to_h if @references
37
+ hash['shipping'] = @shipping.to_h if @shipping
38
+ hash['shoppingCart'] = @shopping_cart.to_h if @shopping_cart
39
+ hash
40
+ end
41
+
42
+ def from_hash(hash)
43
+ super
44
+ if hash.key? 'additionalInput'
45
+ raise TypeError, "value '%s' is not a Hash" % [hash['additionalInput']] unless hash['additionalInput'].is_a? Hash
46
+ @additional_input = Ingenico::Direct::SDK::Domain::AdditionalOrderInput.new_from_hash(hash['additionalInput'])
47
+ end
48
+ if hash.key? 'amountOfMoney'
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
50
+ @amount_of_money = Ingenico::Direct::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
51
+ end
52
+ if hash.key? 'customer'
53
+ raise TypeError, "value '%s' is not a Hash" % [hash['customer']] unless hash['customer'].is_a? Hash
54
+ @customer = Ingenico::Direct::SDK::Domain::Customer.new_from_hash(hash['customer'])
55
+ end
56
+ if hash.key? 'references'
57
+ raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
58
+ @references = Ingenico::Direct::SDK::Domain::OrderReferences.new_from_hash(hash['references'])
59
+ end
60
+ if hash.key? 'shipping'
61
+ raise TypeError, "value '%s' is not a Hash" % [hash['shipping']] unless hash['shipping'].is_a? Hash
62
+ @shipping = Ingenico::Direct::SDK::Domain::Shipping.new_from_hash(hash['shipping'])
63
+ end
64
+ if hash.key? 'shoppingCart'
65
+ raise TypeError, "value '%s' is not a Hash" % [hash['shoppingCart']] unless hash['shoppingCart'].is_a? Hash
66
+ @shopping_cart = Ingenico::Direct::SDK::Domain::ShoppingCart.new_from_hash(hash['shoppingCart'])
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,55 @@
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 [Long] discount_amount
11
+ # @attr [String] product_code
12
+ # @attr [String] product_name
13
+ # @attr [Long] product_price
14
+ # @attr [String] product_type
15
+ # @attr [Long] quantity
16
+ # @attr [Long] tax_amount
17
+ # @attr [String] unit
18
+ class OrderLineDetails < Ingenico::Direct::SDK::DataObject
19
+ attr_accessor :discount_amount
20
+ attr_accessor :product_code
21
+ attr_accessor :product_name
22
+ attr_accessor :product_price
23
+ attr_accessor :product_type
24
+ attr_accessor :quantity
25
+ attr_accessor :tax_amount
26
+ attr_accessor :unit
27
+
28
+ # @return (Hash)
29
+ def to_h
30
+ hash = super
31
+ hash['discountAmount'] = @discount_amount unless @discount_amount.nil?
32
+ hash['productCode'] = @product_code unless @product_code.nil?
33
+ hash['productName'] = @product_name unless @product_name.nil?
34
+ hash['productPrice'] = @product_price unless @product_price.nil?
35
+ hash['productType'] = @product_type unless @product_type.nil?
36
+ hash['quantity'] = @quantity unless @quantity.nil?
37
+ hash['taxAmount'] = @tax_amount unless @tax_amount.nil?
38
+ hash['unit'] = @unit unless @unit.nil?
39
+ hash
40
+ end
41
+
42
+ def from_hash(hash)
43
+ super
44
+ @discount_amount = hash['discountAmount'] if hash.key? 'discountAmount'
45
+ @product_code = hash['productCode'] if hash.key? 'productCode'
46
+ @product_name = hash['productName'] if hash.key? 'productName'
47
+ @product_price = hash['productPrice'] if hash.key? 'productPrice'
48
+ @product_type = hash['productType'] if hash.key? 'productType'
49
+ @quantity = hash['quantity'] if hash.key? 'quantity'
50
+ @tax_amount = hash['taxAmount'] if hash.key? 'taxAmount'
51
+ @unit = hash['unit'] if hash.key? 'unit'
52
+ end
53
+ end
54
+ end
55
+ 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] descriptor
11
+ # @attr [String] merchant_reference
12
+ class OrderReferences < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :descriptor
14
+ attr_accessor :merchant_reference
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['descriptor'] = @descriptor unless @descriptor.nil?
20
+ hash['merchantReference'] = @merchant_reference unless @merchant_reference.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @descriptor = hash['descriptor'] if hash.key? 'descriptor'
27
+ @merchant_reference = hash['merchantReference'] if hash.key? 'merchantReference'
28
+ end
29
+ end
30
+ end
31
+ end