direct-sdk-ruby 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +141 -0
  5. data/Rakefile +34 -0
  6. data/direct-sdk-ruby.gemspec +28 -0
  7. data/lib/ingenico/direct/sdk.rb +26 -0
  8. data/lib/ingenico/direct/sdk/api_exception.rb +42 -0
  9. data/lib/ingenico/direct/sdk/api_resource.rb +115 -0
  10. data/lib/ingenico/direct/sdk/authenticator.rb +16 -0
  11. data/lib/ingenico/direct/sdk/authorization_exception.rb +13 -0
  12. data/lib/ingenico/direct/sdk/call_context.rb +26 -0
  13. data/lib/ingenico/direct/sdk/client.rb +85 -0
  14. data/lib/ingenico/direct/sdk/communication_exception.rb +16 -0
  15. data/lib/ingenico/direct/sdk/communicator.rb +301 -0
  16. data/lib/ingenico/direct/sdk/communicator_configuration.rb +59 -0
  17. data/lib/ingenico/direct/sdk/connection.rb +41 -0
  18. data/lib/ingenico/direct/sdk/data_object.rb +32 -0
  19. data/lib/ingenico/direct/sdk/declined_payment_exception.rb +30 -0
  20. data/lib/ingenico/direct/sdk/declined_payout_exception.rb +32 -0
  21. data/lib/ingenico/direct/sdk/declined_refund_exception.rb +32 -0
  22. data/lib/ingenico/direct/sdk/declined_transaction_exception.rb +16 -0
  23. data/lib/ingenico/direct/sdk/defaultimpl.rb +6 -0
  24. data/lib/ingenico/direct/sdk/defaultimpl/authorization_type.rb +24 -0
  25. data/lib/ingenico/direct/sdk/defaultimpl/default_authenticator.rb +108 -0
  26. data/lib/ingenico/direct/sdk/defaultimpl/default_connection.rb +293 -0
  27. data/lib/ingenico/direct/sdk/defaultimpl/default_marshaller.rb +32 -0
  28. data/lib/ingenico/direct/sdk/direct_exception.rb +15 -0
  29. data/lib/ingenico/direct/sdk/domain/account_on_file.rb +50 -0
  30. data/lib/ingenico/direct/sdk/domain/account_on_file_attribute.rb +39 -0
  31. data/lib/ingenico/direct/sdk/domain/account_on_file_display_hints.rb +38 -0
  32. data/lib/ingenico/direct/sdk/domain/additional_order_input.rb +47 -0
  33. data/lib/ingenico/direct/sdk/domain/address.rb +51 -0
  34. data/lib/ingenico/direct/sdk/domain/address_personal.rb +59 -0
  35. data/lib/ingenico/direct/sdk/domain/airline_data.rb +129 -0
  36. data/lib/ingenico/direct/sdk/domain/airline_flight_leg.rb +99 -0
  37. data/lib/ingenico/direct/sdk/domain/airline_passenger.rb +39 -0
  38. data/lib/ingenico/direct/sdk/domain/amount_breakdown.rb +31 -0
  39. data/lib/ingenico/direct/sdk/domain/amount_of_money.rb +31 -0
  40. data/lib/ingenico/direct/sdk/domain/api_error.rb +47 -0
  41. data/lib/ingenico/direct/sdk/domain/browser_data.rb +39 -0
  42. data/lib/ingenico/direct/sdk/domain/cancel_payment_response.rb +31 -0
  43. data/lib/ingenico/direct/sdk/domain/capture.rb +47 -0
  44. data/lib/ingenico/direct/sdk/domain/capture_output.rb +79 -0
  45. data/lib/ingenico/direct/sdk/domain/capture_payment_request.rb +31 -0
  46. data/lib/ingenico/direct/sdk/domain/capture_response.rb +47 -0
  47. data/lib/ingenico/direct/sdk/domain/capture_status_output.rb +27 -0
  48. data/lib/ingenico/direct/sdk/domain/captures_response.rb +34 -0
  49. data/lib/ingenico/direct/sdk/domain/card.rb +39 -0
  50. data/lib/ingenico/direct/sdk/domain/card_essentials.rb +31 -0
  51. data/lib/ingenico/direct/sdk/domain/card_fraud_results.rb +35 -0
  52. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_input.rb +95 -0
  53. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_input_base.rb +79 -0
  54. data/lib/ingenico/direct/sdk/domain/card_payment_method_specific_output.rb +67 -0
  55. data/lib/ingenico/direct/sdk/domain/card_payout_method_specific_input.rb +39 -0
  56. data/lib/ingenico/direct/sdk/domain/card_recurrence_details.rb +27 -0
  57. data/lib/ingenico/direct/sdk/domain/card_without_cvv.rb +35 -0
  58. data/lib/ingenico/direct/sdk/domain/company_information.rb +27 -0
  59. data/lib/ingenico/direct/sdk/domain/complete_payment_card_payment_method_specific_input.rb +31 -0
  60. data/lib/ingenico/direct/sdk/domain/complete_payment_request.rb +39 -0
  61. data/lib/ingenico/direct/sdk/domain/complete_payment_response.rb +47 -0
  62. data/lib/ingenico/direct/sdk/domain/contact_details.rb +43 -0
  63. data/lib/ingenico/direct/sdk/domain/create_hosted_checkout_request.rb +63 -0
  64. data/lib/ingenico/direct/sdk/domain/create_hosted_checkout_response.rb +49 -0
  65. data/lib/ingenico/direct/sdk/domain/create_hosted_tokenization_request.rb +39 -0
  66. data/lib/ingenico/direct/sdk/domain/create_hosted_tokenization_response.rb +41 -0
  67. data/lib/ingenico/direct/sdk/domain/create_payment_request.rb +67 -0
  68. data/lib/ingenico/direct/sdk/domain/create_payment_response.rb +47 -0
  69. data/lib/ingenico/direct/sdk/domain/create_payout_request.rb +47 -0
  70. data/lib/ingenico/direct/sdk/domain/create_token_request.rb +35 -0
  71. data/lib/ingenico/direct/sdk/domain/created_payment_output.rb +35 -0
  72. data/lib/ingenico/direct/sdk/domain/created_token_response.rb +51 -0
  73. data/lib/ingenico/direct/sdk/domain/customer.rb +87 -0
  74. data/lib/ingenico/direct/sdk/domain/customer_account.rb +71 -0
  75. data/lib/ingenico/direct/sdk/domain/customer_account_authentication.rb +31 -0
  76. data/lib/ingenico/direct/sdk/domain/customer_device.rb +51 -0
  77. data/lib/ingenico/direct/sdk/domain/customer_payment_activity.rb +35 -0
  78. data/lib/ingenico/direct/sdk/domain/customer_token.rb +47 -0
  79. data/lib/ingenico/direct/sdk/domain/decrypted_payment_data.rb +43 -0
  80. data/lib/ingenico/direct/sdk/domain/directory_entry.rb +35 -0
  81. data/lib/ingenico/direct/sdk/domain/empty_validator.rb +13 -0
  82. data/lib/ingenico/direct/sdk/domain/error_response.rb +38 -0
  83. data/lib/ingenico/direct/sdk/domain/external_cardholder_authentication_data.rb +59 -0
  84. data/lib/ingenico/direct/sdk/domain/external_token_linked.rb +27 -0
  85. data/lib/ingenico/direct/sdk/domain/fixed_list_validator.rb +33 -0
  86. data/lib/ingenico/direct/sdk/domain/fraud_fields.rb +31 -0
  87. data/lib/ingenico/direct/sdk/domain/fraud_results.rb +27 -0
  88. data/lib/ingenico/direct/sdk/domain/g_pay_three_d_secure.rb +47 -0
  89. data/lib/ingenico/direct/sdk/domain/get_hosted_checkout_response.rb +35 -0
  90. data/lib/ingenico/direct/sdk/domain/get_hosted_tokenization_response.rb +35 -0
  91. data/lib/ingenico/direct/sdk/domain/get_payment_product_groups_response.rb +34 -0
  92. data/lib/ingenico/direct/sdk/domain/get_payment_products_response.rb +34 -0
  93. data/lib/ingenico/direct/sdk/domain/gift_card_purchase.rb +35 -0
  94. data/lib/ingenico/direct/sdk/domain/hosted_checkout_specific_input.rb +55 -0
  95. data/lib/ingenico/direct/sdk/domain/hosted_checkout_specific_output.rb +31 -0
  96. data/lib/ingenico/direct/sdk/domain/label_template_element.rb +31 -0
  97. data/lib/ingenico/direct/sdk/domain/length_validator.rb +31 -0
  98. data/lib/ingenico/direct/sdk/domain/line_item.rb +47 -0
  99. data/lib/ingenico/direct/sdk/domain/line_item_invoice_data.rb +27 -0
  100. data/lib/ingenico/direct/sdk/domain/loan_recipient.rb +43 -0
  101. data/lib/ingenico/direct/sdk/domain/merchant_action.rb +35 -0
  102. data/lib/ingenico/direct/sdk/domain/mobile_payment_data.rb +31 -0
  103. data/lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_input.rb +63 -0
  104. data/lib/ingenico/direct/sdk/domain/mobile_payment_method_specific_output.rb +59 -0
  105. data/lib/ingenico/direct/sdk/domain/mobile_payment_product320_specific_input.rb +31 -0
  106. data/lib/ingenico/direct/sdk/domain/order.rb +71 -0
  107. data/lib/ingenico/direct/sdk/domain/order_line_details.rb +55 -0
  108. data/lib/ingenico/direct/sdk/domain/order_references.rb +31 -0
  109. data/lib/ingenico/direct/sdk/domain/order_status_output.rb +50 -0
  110. data/lib/ingenico/direct/sdk/domain/order_type_information.rb +31 -0
  111. data/lib/ingenico/direct/sdk/domain/payment_account_on_file.rb +31 -0
  112. data/lib/ingenico/direct/sdk/domain/payment_creation_output.rb +39 -0
  113. data/lib/ingenico/direct/sdk/domain/payment_error_response.rb +46 -0
  114. data/lib/ingenico/direct/sdk/domain/payment_output.rb +79 -0
  115. data/lib/ingenico/direct/sdk/domain/payment_product.rb +77 -0
  116. data/lib/ingenico/direct/sdk/domain/payment_product5100_specific_input.rb +27 -0
  117. data/lib/ingenico/direct/sdk/domain/payment_product5402_specific_output.rb +27 -0
  118. data/lib/ingenico/direct/sdk/domain/payment_product5500_specific_output.rb +35 -0
  119. data/lib/ingenico/direct/sdk/domain/payment_product771_specific_output.rb +13 -0
  120. data/lib/ingenico/direct/sdk/domain/payment_product840_customer_account.rb +55 -0
  121. data/lib/ingenico/direct/sdk/domain/payment_product840_specific_output.rb +54 -0
  122. data/lib/ingenico/direct/sdk/domain/payment_product_display_hints.rb +35 -0
  123. data/lib/ingenico/direct/sdk/domain/payment_product_field.rb +47 -0
  124. data/lib/ingenico/direct/sdk/domain/payment_product_field_data_restrictions.rb +35 -0
  125. data/lib/ingenico/direct/sdk/domain/payment_product_field_display_element.rb +39 -0
  126. data/lib/ingenico/direct/sdk/domain/payment_product_field_display_hints.rb +71 -0
  127. data/lib/ingenico/direct/sdk/domain/payment_product_field_form_element.rb +38 -0
  128. data/lib/ingenico/direct/sdk/domain/payment_product_field_tooltip.rb +31 -0
  129. data/lib/ingenico/direct/sdk/domain/payment_product_field_validators.rb +91 -0
  130. data/lib/ingenico/direct/sdk/domain/payment_product_filter.rb +43 -0
  131. data/lib/ingenico/direct/sdk/domain/payment_product_filters_hosted_checkout.rb +38 -0
  132. data/lib/ingenico/direct/sdk/domain/payment_product_group.rb +43 -0
  133. data/lib/ingenico/direct/sdk/domain/payment_product_networks_response.rb +33 -0
  134. data/lib/ingenico/direct/sdk/domain/payment_references.rb +27 -0
  135. data/lib/ingenico/direct/sdk/domain/payment_response.rb +55 -0
  136. data/lib/ingenico/direct/sdk/domain/payment_status_output.rb +58 -0
  137. data/lib/ingenico/direct/sdk/domain/payout_error_response.rb +46 -0
  138. data/lib/ingenico/direct/sdk/domain/payout_output.rb +31 -0
  139. data/lib/ingenico/direct/sdk/domain/payout_response.rb +47 -0
  140. data/lib/ingenico/direct/sdk/domain/payout_result.rb +47 -0
  141. data/lib/ingenico/direct/sdk/domain/payout_status_output.rb +35 -0
  142. data/lib/ingenico/direct/sdk/domain/personal_information.rb +39 -0
  143. data/lib/ingenico/direct/sdk/domain/personal_information_token.rb +31 -0
  144. data/lib/ingenico/direct/sdk/domain/personal_name.rb +35 -0
  145. data/lib/ingenico/direct/sdk/domain/personal_name_token.rb +31 -0
  146. data/lib/ingenico/direct/sdk/domain/product_directory.rb +34 -0
  147. data/lib/ingenico/direct/sdk/domain/protection_eligibility.rb +31 -0
  148. data/lib/ingenico/direct/sdk/domain/range_validator.rb +31 -0
  149. data/lib/ingenico/direct/sdk/domain/redirect_data.rb +31 -0
  150. data/lib/ingenico/direct/sdk/domain/redirect_payment_method_specific_input.rb +67 -0
  151. data/lib/ingenico/direct/sdk/domain/redirect_payment_method_specific_output.rb +67 -0
  152. data/lib/ingenico/direct/sdk/domain/redirect_payment_product809_specific_input.rb +27 -0
  153. data/lib/ingenico/direct/sdk/domain/redirect_payment_product840_specific_input.rb +27 -0
  154. data/lib/ingenico/direct/sdk/domain/redirection_data.rb +27 -0
  155. data/lib/ingenico/direct/sdk/domain/refund_card_method_specific_output.rb +31 -0
  156. data/lib/ingenico/direct/sdk/domain/refund_e_wallet_method_specific_output.rb +39 -0
  157. data/lib/ingenico/direct/sdk/domain/refund_error_response.rb +46 -0
  158. data/lib/ingenico/direct/sdk/domain/refund_mobile_method_specific_output.rb +35 -0
  159. data/lib/ingenico/direct/sdk/domain/refund_output.rb +79 -0
  160. data/lib/ingenico/direct/sdk/domain/refund_payment_product840_customer_account.rb +35 -0
  161. data/lib/ingenico/direct/sdk/domain/refund_payment_product840_specific_output.rb +31 -0
  162. data/lib/ingenico/direct/sdk/domain/refund_redirect_method_specific_output.rb +31 -0
  163. data/lib/ingenico/direct/sdk/domain/refund_request.rb +31 -0
  164. data/lib/ingenico/direct/sdk/domain/refund_response.rb +47 -0
  165. data/lib/ingenico/direct/sdk/domain/refunds_response.rb +34 -0
  166. data/lib/ingenico/direct/sdk/domain/regular_expression_validator.rb +27 -0
  167. data/lib/ingenico/direct/sdk/domain/sepa_direct_debit_payment_method_specific_output.rb +43 -0
  168. data/lib/ingenico/direct/sdk/domain/session_request.rb +33 -0
  169. data/lib/ingenico/direct/sdk/domain/session_response.rb +49 -0
  170. data/lib/ingenico/direct/sdk/domain/shipping.rb +51 -0
  171. data/lib/ingenico/direct/sdk/domain/shopping_cart.rb +65 -0
  172. data/lib/ingenico/direct/sdk/domain/shopping_cart_extension.rb +52 -0
  173. data/lib/ingenico/direct/sdk/domain/test_connection.rb +27 -0
  174. data/lib/ingenico/direct/sdk/domain/three_d_secure.rb +63 -0
  175. data/lib/ingenico/direct/sdk/domain/three_d_secure_base.rb +47 -0
  176. data/lib/ingenico/direct/sdk/domain/three_d_secure_data.rb +35 -0
  177. data/lib/ingenico/direct/sdk/domain/three_d_secure_results.rb +31 -0
  178. data/lib/ingenico/direct/sdk/domain/token_card.rb +35 -0
  179. data/lib/ingenico/direct/sdk/domain/token_card_data.rb +31 -0
  180. data/lib/ingenico/direct/sdk/domain/token_card_specific_input.rb +31 -0
  181. data/lib/ingenico/direct/sdk/domain/token_data.rb +31 -0
  182. data/lib/ingenico/direct/sdk/domain/token_e_wallet.rb +35 -0
  183. data/lib/ingenico/direct/sdk/domain/token_response.rb +55 -0
  184. data/lib/ingenico/direct/sdk/domain/value_mapping_element.rb +38 -0
  185. data/lib/ingenico/direct/sdk/endpoint_configuration.rb +127 -0
  186. data/lib/ingenico/direct/sdk/exceptions.rb +8 -0
  187. data/lib/ingenico/direct/sdk/factory.rb +136 -0
  188. data/lib/ingenico/direct/sdk/idempotence_exception.rb +24 -0
  189. data/lib/ingenico/direct/sdk/logging.rb +10 -0
  190. data/lib/ingenico/direct/sdk/logging/communicator_logger.rb +22 -0
  191. data/lib/ingenico/direct/sdk/logging/log_message_builder.rb +56 -0
  192. data/lib/ingenico/direct/sdk/logging/logging_capable.rb +19 -0
  193. data/lib/ingenico/direct/sdk/logging/logging_util.rb +271 -0
  194. data/lib/ingenico/direct/sdk/logging/request_log_message_builder.rb +39 -0
  195. data/lib/ingenico/direct/sdk/logging/response_log_message_builder.rb +34 -0
  196. data/lib/ingenico/direct/sdk/logging/ruby_communicator_logger.rb +57 -0
  197. data/lib/ingenico/direct/sdk/logging/stdout_communicator_logger.rb +34 -0
  198. data/lib/ingenico/direct/sdk/marshaller.rb +24 -0
  199. data/lib/ingenico/direct/sdk/marshaller_syntax_exception.rb +6 -0
  200. data/lib/ingenico/direct/sdk/merchant/hostedcheckout/hosted_checkout_client.rb +87 -0
  201. data/lib/ingenico/direct/sdk/merchant/hostedtokenization/hosted_tokenization_client.rb +87 -0
  202. data/lib/ingenico/direct/sdk/merchant/merchant_client.rb +83 -0
  203. data/lib/ingenico/direct/sdk/merchant/payments/payments_client.rb +291 -0
  204. data/lib/ingenico/direct/sdk/merchant/payouts/payouts_client.rb +87 -0
  205. data/lib/ingenico/direct/sdk/merchant/productgroups/get_product_group_params.rb +58 -0
  206. data/lib/ingenico/direct/sdk/merchant/productgroups/get_product_groups_params.rb +58 -0
  207. data/lib/ingenico/direct/sdk/merchant/productgroups/product_groups_client.rb +88 -0
  208. data/lib/ingenico/direct/sdk/merchant/products/get_payment_product_networks_params.rb +39 -0
  209. data/lib/ingenico/direct/sdk/merchant/products/get_payment_product_params.rb +58 -0
  210. data/lib/ingenico/direct/sdk/merchant/products/get_payment_products_params.rb +58 -0
  211. data/lib/ingenico/direct/sdk/merchant/products/get_product_directory_params.rb +31 -0
  212. data/lib/ingenico/direct/sdk/merchant/products/products_client.rb +156 -0
  213. data/lib/ingenico/direct/sdk/merchant/services/services_client.rb +52 -0
  214. data/lib/ingenico/direct/sdk/merchant/sessions/sessions_client.rb +55 -0
  215. data/lib/ingenico/direct/sdk/merchant/tokens/tokens_client.rb +117 -0
  216. data/lib/ingenico/direct/sdk/meta_data_provider.rb +150 -0
  217. data/lib/ingenico/direct/sdk/modules.rb +71 -0
  218. data/lib/ingenico/direct/sdk/not_found_exception.rb +16 -0
  219. data/lib/ingenico/direct/sdk/param_request.rb +11 -0
  220. data/lib/ingenico/direct/sdk/pooled_connection.rb +21 -0
  221. data/lib/ingenico/direct/sdk/proxy_configuration.rb +74 -0
  222. data/lib/ingenico/direct/sdk/reference_exception.rb +14 -0
  223. data/lib/ingenico/direct/sdk/request_header.rb +50 -0
  224. data/lib/ingenico/direct/sdk/request_param.rb +23 -0
  225. data/lib/ingenico/direct/sdk/response_exception.rb +47 -0
  226. data/lib/ingenico/direct/sdk/response_header.rb +42 -0
  227. data/lib/ingenico/direct/sdk/validation_exception.rb +14 -0
  228. data/lib/ingenico/direct/sdk/webhooks.rb +11 -0
  229. data/lib/ingenico/direct/sdk/webhooks/api_version_mismatch_exception.rb +20 -0
  230. data/lib/ingenico/direct/sdk/webhooks/in_memory_secret_key_store.rb +56 -0
  231. data/lib/ingenico/direct/sdk/webhooks/secret_key_not_available_exception.rb +17 -0
  232. data/lib/ingenico/direct/sdk/webhooks/secret_key_store.rb +16 -0
  233. data/lib/ingenico/direct/sdk/webhooks/signature_validation_exception.rb +19 -0
  234. data/lib/ingenico/direct/sdk/webhooks/webhooks.rb +22 -0
  235. data/lib/ingenico/direct/sdk/webhooks/webhooks_event.rb +58 -0
  236. data/lib/ingenico/direct/sdk/webhooks/webhooks_helper.rb +99 -0
  237. data/lib/ingenico/direct/sdk/webhooks/webhooks_helper_builder.rb +25 -0
  238. metadata +385 -0
@@ -0,0 +1,31 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [Long] amount
11
+ # @attr [true/false] is_final
12
+ class CapturePaymentRequest < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :amount
14
+ attr_accessor :is_final
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['amount'] = @amount unless @amount.nil?
20
+ hash['isFinal'] = @is_final unless @is_final.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @amount = hash['amount'] if hash.key? 'amount'
27
+ @is_final = hash['isFinal'] if hash.key? 'isFinal'
28
+ end
29
+ end
30
+ end
31
+ 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/capture_output'
7
+ require 'ingenico/direct/sdk/domain/capture_status_output'
8
+
9
+ module Ingenico::Direct::SDK
10
+ module Domain
11
+
12
+ # @attr [Ingenico::Direct::SDK::Domain::CaptureOutput] capture_output
13
+ # @attr [String] id
14
+ # @attr [String] status
15
+ # @attr [Ingenico::Direct::SDK::Domain::CaptureStatusOutput] status_output
16
+ class CaptureResponse < Ingenico::Direct::SDK::DataObject
17
+ attr_accessor :capture_output
18
+ attr_accessor :id
19
+ attr_accessor :status
20
+ attr_accessor :status_output
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['captureOutput'] = @capture_output.to_h if @capture_output
26
+ hash['id'] = @id unless @id.nil?
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
+ if hash.key? 'captureOutput'
35
+ raise TypeError, "value '%s' is not a Hash" % [hash['captureOutput']] unless hash['captureOutput'].is_a? Hash
36
+ @capture_output = Ingenico::Direct::SDK::Domain::CaptureOutput.new_from_hash(hash['captureOutput'])
37
+ end
38
+ @id = hash['id'] if hash.key? 'id'
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::CaptureStatusOutput.new_from_hash(hash['statusOutput'])
43
+ end
44
+ end
45
+ end
46
+ end
47
+ 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 [Integer] status_code
11
+ class CaptureStatusOutput < Ingenico::Direct::SDK::DataObject
12
+ attr_accessor :status_code
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['statusCode'] = @status_code unless @status_code.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ @status_code = hash['statusCode'] if hash.key? 'statusCode'
24
+ end
25
+ end
26
+ end
27
+ 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/capture'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Domain
10
+
11
+ # @attr [Array<Ingenico::Direct::SDK::Domain::Capture>] captures
12
+ class CapturesResponse < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :captures
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['captures'] = @captures.collect(&:to_h) if @captures
19
+ hash
20
+ end
21
+
22
+ def from_hash(hash)
23
+ super
24
+ if hash.key? 'captures'
25
+ raise TypeError, "value '%s' is not an Array" % [hash['captures']] unless hash['captures'].is_a? Array
26
+ @captures = []
27
+ hash['captures'].each do |e|
28
+ @captures << Ingenico::Direct::SDK::Domain::Capture.new_from_hash(e)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,39 @@
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] card_number
11
+ # @attr [String] cardholder_name
12
+ # @attr [String] cvv
13
+ # @attr [String] expiry_date
14
+ class Card < Ingenico::Direct::SDK::DataObject
15
+ attr_accessor :card_number
16
+ attr_accessor :cardholder_name
17
+ attr_accessor :cvv
18
+ attr_accessor :expiry_date
19
+
20
+ # @return (Hash)
21
+ def to_h
22
+ hash = super
23
+ hash['cardNumber'] = @card_number unless @card_number.nil?
24
+ hash['cardholderName'] = @cardholder_name unless @cardholder_name.nil?
25
+ hash['cvv'] = @cvv unless @cvv.nil?
26
+ hash['expiryDate'] = @expiry_date unless @expiry_date.nil?
27
+ hash
28
+ end
29
+
30
+ def from_hash(hash)
31
+ super
32
+ @card_number = hash['cardNumber'] if hash.key? 'cardNumber'
33
+ @cardholder_name = hash['cardholderName'] if hash.key? 'cardholderName'
34
+ @cvv = hash['cvv'] if hash.key? 'cvv'
35
+ @expiry_date = hash['expiryDate'] if hash.key? 'expiryDate'
36
+ end
37
+ end
38
+ end
39
+ 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] card_number
11
+ # @attr [String] expiry_date
12
+ class CardEssentials < Ingenico::Direct::SDK::DataObject
13
+ attr_accessor :card_number
14
+ attr_accessor :expiry_date
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['cardNumber'] = @card_number unless @card_number.nil?
20
+ hash['expiryDate'] = @expiry_date unless @expiry_date.nil?
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @card_number = hash['cardNumber'] if hash.key? 'cardNumber'
27
+ @expiry_date = hash['expiryDate'] if hash.key? 'expiryDate'
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # This class was auto-generated from the API references found at
3
+ # https://support.direct.ingenico.com/documentation/api/reference/
4
+ #
5
+ require 'ingenico/direct/sdk/data_object'
6
+
7
+ module Ingenico::Direct::SDK
8
+ module Domain
9
+
10
+ # @attr [String] avs_result
11
+ # @attr [String] cvv_result
12
+ # @attr [String] fraud_service_result
13
+ class CardFraudResults < Ingenico::Direct::SDK::DataObject
14
+ attr_accessor :avs_result
15
+ attr_accessor :cvv_result
16
+ attr_accessor :fraud_service_result
17
+
18
+ # @return (Hash)
19
+ def to_h
20
+ hash = super
21
+ hash['avsResult'] = @avs_result unless @avs_result.nil?
22
+ hash['cvvResult'] = @cvv_result unless @cvv_result.nil?
23
+ hash['fraudServiceResult'] = @fraud_service_result unless @fraud_service_result.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ @avs_result = hash['avsResult'] if hash.key? 'avsResult'
30
+ @cvv_result = hash['cvvResult'] if hash.key? 'cvvResult'
31
+ @fraud_service_result = hash['fraudServiceResult'] if hash.key? 'fraudServiceResult'
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,95 @@
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'
7
+ require 'ingenico/direct/sdk/domain/card_recurrence_details'
8
+ require 'ingenico/direct/sdk/domain/three_d_secure'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [String] authorization_mode
14
+ # @attr [Ingenico::Direct::SDK::Domain::Card] card
15
+ # @attr [String] initial_scheme_transaction_id
16
+ # @attr [true/false] is_recurring
17
+ # @attr [Integer] payment_product_id
18
+ # @attr [Ingenico::Direct::SDK::Domain::CardRecurrenceDetails] recurring
19
+ # @attr [String] return_url
20
+ # @attr [true/false] skip_authentication
21
+ # @attr [true/false] skip_soft_decline
22
+ # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecure] three_d_secure
23
+ # @attr [String] token
24
+ # @attr [true/false] tokenize
25
+ # @attr [String] transaction_channel
26
+ # @attr [String] unscheduled_card_on_file_requestor
27
+ # @attr [String] unscheduled_card_on_file_sequence_indicator
28
+ class CardPaymentMethodSpecificInput < Ingenico::Direct::SDK::DataObject
29
+ attr_accessor :authorization_mode
30
+ attr_accessor :card
31
+ attr_accessor :initial_scheme_transaction_id
32
+ attr_accessor :is_recurring
33
+ attr_accessor :payment_product_id
34
+ attr_accessor :recurring
35
+ attr_accessor :return_url
36
+ attr_accessor :skip_authentication
37
+ attr_accessor :skip_soft_decline
38
+ attr_accessor :three_d_secure
39
+ attr_accessor :token
40
+ attr_accessor :tokenize
41
+ attr_accessor :transaction_channel
42
+ attr_accessor :unscheduled_card_on_file_requestor
43
+ attr_accessor :unscheduled_card_on_file_sequence_indicator
44
+
45
+ # @return (Hash)
46
+ def to_h
47
+ hash = super
48
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
49
+ hash['card'] = @card.to_h if @card
50
+ hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
51
+ hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
52
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
53
+ hash['recurring'] = @recurring.to_h if @recurring
54
+ hash['returnUrl'] = @return_url unless @return_url.nil?
55
+ hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
56
+ hash['skipSoftDecline'] = @skip_soft_decline unless @skip_soft_decline.nil?
57
+ hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
58
+ hash['token'] = @token unless @token.nil?
59
+ hash['tokenize'] = @tokenize unless @tokenize.nil?
60
+ hash['transactionChannel'] = @transaction_channel unless @transaction_channel.nil?
61
+ hash['unscheduledCardOnFileRequestor'] = @unscheduled_card_on_file_requestor unless @unscheduled_card_on_file_requestor.nil?
62
+ hash['unscheduledCardOnFileSequenceIndicator'] = @unscheduled_card_on_file_sequence_indicator unless @unscheduled_card_on_file_sequence_indicator.nil?
63
+ hash
64
+ end
65
+
66
+ def from_hash(hash)
67
+ super
68
+ @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
69
+ if hash.key? 'card'
70
+ raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
71
+ @card = Ingenico::Direct::SDK::Domain::Card.new_from_hash(hash['card'])
72
+ end
73
+ @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
74
+ @is_recurring = hash['isRecurring'] if hash.key? 'isRecurring'
75
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
76
+ if hash.key? 'recurring'
77
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
78
+ @recurring = Ingenico::Direct::SDK::Domain::CardRecurrenceDetails.new_from_hash(hash['recurring'])
79
+ end
80
+ @return_url = hash['returnUrl'] if hash.key? 'returnUrl'
81
+ @skip_authentication = hash['skipAuthentication'] if hash.key? 'skipAuthentication'
82
+ @skip_soft_decline = hash['skipSoftDecline'] if hash.key? 'skipSoftDecline'
83
+ if hash.key? 'threeDSecure'
84
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
85
+ @three_d_secure = Ingenico::Direct::SDK::Domain::ThreeDSecure.new_from_hash(hash['threeDSecure'])
86
+ end
87
+ @token = hash['token'] if hash.key? 'token'
88
+ @tokenize = hash['tokenize'] if hash.key? 'tokenize'
89
+ @transaction_channel = hash['transactionChannel'] if hash.key? 'transactionChannel'
90
+ @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor'] if hash.key? 'unscheduledCardOnFileRequestor'
91
+ @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator'] if hash.key? 'unscheduledCardOnFileSequenceIndicator'
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,79 @@
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_recurrence_details'
7
+ require 'ingenico/direct/sdk/domain/payment_product5100_specific_input'
8
+ require 'ingenico/direct/sdk/domain/three_d_secure_base'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Domain
12
+
13
+ # @attr [String] authorization_mode
14
+ # @attr [String] initial_scheme_transaction_id
15
+ # @attr [Ingenico::Direct::SDK::Domain::PaymentProduct5100SpecificInput] payment_product5100_specific_input
16
+ # @attr [Integer] payment_product_id
17
+ # @attr [Ingenico::Direct::SDK::Domain::CardRecurrenceDetails] recurring
18
+ # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureBase] three_d_secure
19
+ # @attr [String] token
20
+ # @attr [true/false] tokenize
21
+ # @attr [String] transaction_channel
22
+ # @attr [String] unscheduled_card_on_file_requestor
23
+ # @attr [String] unscheduled_card_on_file_sequence_indicator
24
+ class CardPaymentMethodSpecificInputBase < Ingenico::Direct::SDK::DataObject
25
+ attr_accessor :authorization_mode
26
+ attr_accessor :initial_scheme_transaction_id
27
+ attr_accessor :payment_product5100_specific_input
28
+ attr_accessor :payment_product_id
29
+ attr_accessor :recurring
30
+ attr_accessor :three_d_secure
31
+ attr_accessor :token
32
+ attr_accessor :tokenize
33
+ attr_accessor :transaction_channel
34
+ attr_accessor :unscheduled_card_on_file_requestor
35
+ attr_accessor :unscheduled_card_on_file_sequence_indicator
36
+
37
+ # @return (Hash)
38
+ def to_h
39
+ hash = super
40
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
41
+ hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
42
+ hash['paymentProduct5100SpecificInput'] = @payment_product5100_specific_input.to_h if @payment_product5100_specific_input
43
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
44
+ hash['recurring'] = @recurring.to_h if @recurring
45
+ hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
46
+ hash['token'] = @token unless @token.nil?
47
+ hash['tokenize'] = @tokenize unless @tokenize.nil?
48
+ hash['transactionChannel'] = @transaction_channel unless @transaction_channel.nil?
49
+ hash['unscheduledCardOnFileRequestor'] = @unscheduled_card_on_file_requestor unless @unscheduled_card_on_file_requestor.nil?
50
+ hash['unscheduledCardOnFileSequenceIndicator'] = @unscheduled_card_on_file_sequence_indicator unless @unscheduled_card_on_file_sequence_indicator.nil?
51
+ hash
52
+ end
53
+
54
+ def from_hash(hash)
55
+ super
56
+ @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
57
+ @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
58
+ if hash.key? 'paymentProduct5100SpecificInput'
59
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5100SpecificInput']] unless hash['paymentProduct5100SpecificInput'].is_a? Hash
60
+ @payment_product5100_specific_input = Ingenico::Direct::SDK::Domain::PaymentProduct5100SpecificInput.new_from_hash(hash['paymentProduct5100SpecificInput'])
61
+ end
62
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
63
+ if hash.key? 'recurring'
64
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
65
+ @recurring = Ingenico::Direct::SDK::Domain::CardRecurrenceDetails.new_from_hash(hash['recurring'])
66
+ end
67
+ if hash.key? 'threeDSecure'
68
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
69
+ @three_d_secure = Ingenico::Direct::SDK::Domain::ThreeDSecureBase.new_from_hash(hash['threeDSecure'])
70
+ end
71
+ @token = hash['token'] if hash.key? 'token'
72
+ @tokenize = hash['tokenize'] if hash.key? 'tokenize'
73
+ @transaction_channel = hash['transactionChannel'] if hash.key? 'transactionChannel'
74
+ @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor'] if hash.key? 'unscheduledCardOnFileRequestor'
75
+ @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator'] if hash.key? 'unscheduledCardOnFileSequenceIndicator'
76
+ end
77
+ end
78
+ end
79
+ 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_essentials'
7
+ require 'ingenico/direct/sdk/domain/card_fraud_results'
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::CardEssentials] card
15
+ # @attr [Ingenico::Direct::SDK::Domain::CardFraudResults] fraud_results
16
+ # @attr [String] initial_scheme_transaction_id
17
+ # @attr [String] payment_option
18
+ # @attr [Integer] payment_product_id
19
+ # @attr [Ingenico::Direct::SDK::Domain::ThreeDSecureResults] three_d_secure_results
20
+ # @attr [String] token
21
+ class CardPaymentMethodSpecificOutput < Ingenico::Direct::SDK::DataObject
22
+ attr_accessor :authorisation_code
23
+ attr_accessor :card
24
+ attr_accessor :fraud_results
25
+ attr_accessor :initial_scheme_transaction_id
26
+ attr_accessor :payment_option
27
+ attr_accessor :payment_product_id
28
+ attr_accessor :three_d_secure_results
29
+ attr_accessor :token
30
+
31
+ # @return (Hash)
32
+ def to_h
33
+ hash = super
34
+ hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
35
+ hash['card'] = @card.to_h if @card
36
+ hash['fraudResults'] = @fraud_results.to_h if @fraud_results
37
+ hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
38
+ hash['paymentOption'] = @payment_option unless @payment_option.nil?
39
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
40
+ hash['threeDSecureResults'] = @three_d_secure_results.to_h if @three_d_secure_results
41
+ hash['token'] = @token unless @token.nil?
42
+ hash
43
+ end
44
+
45
+ def from_hash(hash)
46
+ super
47
+ @authorisation_code = hash['authorisationCode'] if hash.key? 'authorisationCode'
48
+ if hash.key? 'card'
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
50
+ @card = Ingenico::Direct::SDK::Domain::CardEssentials.new_from_hash(hash['card'])
51
+ end
52
+ if hash.key? 'fraudResults'
53
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
54
+ @fraud_results = Ingenico::Direct::SDK::Domain::CardFraudResults.new_from_hash(hash['fraudResults'])
55
+ end
56
+ @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
57
+ @payment_option = hash['paymentOption'] if hash.key? 'paymentOption'
58
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
59
+ if hash.key? 'threeDSecureResults'
60
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecureResults']] unless hash['threeDSecureResults'].is_a? Hash
61
+ @three_d_secure_results = Ingenico::Direct::SDK::Domain::ThreeDSecureResults.new_from_hash(hash['threeDSecureResults'])
62
+ end
63
+ @token = hash['token'] if hash.key? 'token'
64
+ end
65
+ end
66
+ end
67
+ end