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,88 @@
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/api_resource'
6
+ require 'ingenico/direct/sdk/response_exception'
7
+ require 'ingenico/direct/sdk/domain/error_response'
8
+ require 'ingenico/direct/sdk/domain/get_payment_product_groups_response'
9
+ require 'ingenico/direct/sdk/domain/payment_product_group'
10
+ require 'ingenico/direct/sdk/merchant/productgroups/get_product_group_params'
11
+ require 'ingenico/direct/sdk/merchant/productgroups/get_product_groups_params'
12
+
13
+ module Ingenico::Direct::SDK
14
+ module Merchant
15
+ module ProductGroups
16
+
17
+ # ProductGroups client. Thread-safe.
18
+ class ProductGroupsClient < Ingenico::Direct::SDK::ApiResource
19
+
20
+ # @param parent [Ingenico::Direct::SDK::ApiResource]
21
+ # @param path_context [Hash, nil]
22
+ def initialize(parent, path_context = nil)
23
+ super(parent, path_context)
24
+ end
25
+
26
+ # Resource /v2/!{merchantId}/productgroups - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetProductGroups Get product groups}
27
+ # @param query [Ingenico::Direct::SDK::Merchant::ProductGroups::GetProductGroupsParams]
28
+ # @param context [Ingenico::Direct::SDK::CallContext]
29
+ # @return [Ingenico::Direct::SDK::Domain::GetPaymentProductGroupsResponse]
30
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
31
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
32
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
33
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
34
+ # or there was a conflict (HTTP status code 404, 409 or 410)
35
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
36
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
37
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
38
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
39
+ def get_product_groups(query, context = nil)
40
+ uri = instantiate_uri('/v2/{merchantId}/productgroups')
41
+ @communicator.get(
42
+ uri,
43
+ client_headers,
44
+ query,
45
+ Ingenico::Direct::SDK::Domain::GetPaymentProductGroupsResponse,
46
+ context
47
+ )
48
+ rescue ResponseException => e
49
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
50
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
51
+ raise create_exception(e.status_code, e.body, error_object, context)
52
+ end
53
+
54
+ # Resource /v2/!{merchantId}/productgroups/!{paymentProductGroupId} - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetProductGroup Get product group}
55
+ # @param payment_product_group_id [String]
56
+ # @param query [Ingenico::Direct::SDK::Merchant::ProductGroups::GetProductGroupParams]
57
+ # @param context [Ingenico::Direct::SDK::CallContext]
58
+ # @return [Ingenico::Direct::SDK::Domain::PaymentProductGroup]
59
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
60
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
61
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
62
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
63
+ # or there was a conflict (HTTP status code 404, 409 or 410)
64
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
65
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
66
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
67
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
68
+ def get_product_group(payment_product_group_id, query, context = nil)
69
+ path_context = {
70
+ 'paymentProductGroupId'.freeze => payment_product_group_id,
71
+ }
72
+ uri = instantiate_uri('/v2/{merchantId}/productgroups/{paymentProductGroupId}', path_context)
73
+ @communicator.get(
74
+ uri,
75
+ client_headers,
76
+ query,
77
+ Ingenico::Direct::SDK::Domain::PaymentProductGroup,
78
+ context
79
+ )
80
+ rescue ResponseException => e
81
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
82
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
83
+ raise create_exception(e.status_code, e.body, error_object, context)
84
+ end
85
+ end
86
+ end
87
+ end
88
+ 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/param_request'
6
+ require 'ingenico/direct/sdk/request_param'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Merchant
10
+ module Products
11
+
12
+ # Query parameters for {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentProductNetworks Get payment product networks}
13
+ # @attr [String] country_code
14
+ # @attr [String] currency_code
15
+ # @attr [Integer] amount
16
+ # @attr [true/false] is_recurring
17
+ class GetPaymentProductNetworksParams < Ingenico::Direct::SDK::ParamRequest
18
+
19
+ attr_accessor :country_code
20
+
21
+ attr_accessor :currency_code
22
+
23
+ attr_accessor :amount
24
+
25
+ attr_accessor :is_recurring
26
+
27
+ # @return [Array<Ingenico::Direct::SDK::RequestParam>] representing the attributes of this class
28
+ def to_request_parameters
29
+ result = []
30
+ result << RequestParam.new('countryCode', @country_code) unless @country_code.nil?
31
+ result << RequestParam.new('currencyCode', @currency_code) unless @currency_code.nil?
32
+ result << RequestParam.new('amount', @amount.to_s) unless @amount.nil?
33
+ result << RequestParam.new('isRecurring', @is_recurring.to_s) unless @is_recurring.nil?
34
+ result
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,58 @@
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/param_request'
6
+ require 'ingenico/direct/sdk/request_param'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Merchant
10
+ module Products
11
+
12
+ # Query parameters for {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentProduct Get payment product}
13
+ # @attr [String] country_code
14
+ # @attr [String] currency_code
15
+ # @attr [String] locale
16
+ # @attr [Integer] amount
17
+ # @attr [true/false] is_recurring
18
+ # @attr [Array<String>] hide
19
+ class GetPaymentProductParams < Ingenico::Direct::SDK::ParamRequest
20
+
21
+ attr_accessor :country_code
22
+
23
+ attr_accessor :currency_code
24
+
25
+ attr_accessor :locale
26
+
27
+ attr_accessor :amount
28
+
29
+ attr_accessor :is_recurring
30
+
31
+ attr_accessor :hide
32
+
33
+ # Adds the parameter _value_ to the _hide_ Array
34
+ # @param value [String]
35
+ def add_hide(value)
36
+ unless @hide
37
+ @hide = []
38
+ end
39
+ @hide << value
40
+ end
41
+
42
+ # @return [Array<Ingenico::Direct::SDK::RequestParam>] representing the attributes of this class
43
+ def to_request_parameters
44
+ result = []
45
+ result << RequestParam.new('countryCode', @country_code) unless @country_code.nil?
46
+ result << RequestParam.new('currencyCode', @currency_code) unless @currency_code.nil?
47
+ result << RequestParam.new('locale', @locale) unless @locale.nil?
48
+ result << RequestParam.new('amount', @amount.to_s) unless @amount.nil?
49
+ result << RequestParam.new('isRecurring', @is_recurring.to_s) unless @is_recurring.nil?
50
+ unless @hide.nil?
51
+ @hide.each {|e| result << RequestParam.new('hide', e)}
52
+ end
53
+ result
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,58 @@
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/param_request'
6
+ require 'ingenico/direct/sdk/request_param'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Merchant
10
+ module Products
11
+
12
+ # Query parameters for {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentProducts Get payment products}
13
+ # @attr [String] country_code
14
+ # @attr [String] currency_code
15
+ # @attr [String] locale
16
+ # @attr [Integer] amount
17
+ # @attr [true/false] is_recurring
18
+ # @attr [Array<String>] hide
19
+ class GetPaymentProductsParams < Ingenico::Direct::SDK::ParamRequest
20
+
21
+ attr_accessor :country_code
22
+
23
+ attr_accessor :currency_code
24
+
25
+ attr_accessor :locale
26
+
27
+ attr_accessor :amount
28
+
29
+ attr_accessor :is_recurring
30
+
31
+ attr_accessor :hide
32
+
33
+ # Adds the parameter _value_ to the _hide_ Array
34
+ # @param value [String]
35
+ def add_hide(value)
36
+ unless @hide
37
+ @hide = []
38
+ end
39
+ @hide << value
40
+ end
41
+
42
+ # @return [Array<Ingenico::Direct::SDK::RequestParam>] representing the attributes of this class
43
+ def to_request_parameters
44
+ result = []
45
+ result << RequestParam.new('countryCode', @country_code) unless @country_code.nil?
46
+ result << RequestParam.new('currencyCode', @currency_code) unless @currency_code.nil?
47
+ result << RequestParam.new('locale', @locale) unless @locale.nil?
48
+ result << RequestParam.new('amount', @amount.to_s) unless @amount.nil?
49
+ result << RequestParam.new('isRecurring', @is_recurring.to_s) unless @is_recurring.nil?
50
+ unless @hide.nil?
51
+ @hide.each {|e| result << RequestParam.new('hide', e)}
52
+ end
53
+ result
54
+ end
55
+ end
56
+ end
57
+ end
58
+ 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/param_request'
6
+ require 'ingenico/direct/sdk/request_param'
7
+
8
+ module Ingenico::Direct::SDK
9
+ module Merchant
10
+ module Products
11
+
12
+ # Query parameters for {https://support.direct.ingenico.com/documentation/api/reference#operation/GetProductDirectoryApi Get payment product directory}
13
+ # @attr [String] country_code
14
+ # @attr [String] currency_code
15
+ class GetProductDirectoryParams < Ingenico::Direct::SDK::ParamRequest
16
+
17
+ attr_accessor :country_code
18
+
19
+ attr_accessor :currency_code
20
+
21
+ # @return [Array<Ingenico::Direct::SDK::RequestParam>] representing the attributes of this class
22
+ def to_request_parameters
23
+ result = []
24
+ result << RequestParam.new('countryCode', @country_code) unless @country_code.nil?
25
+ result << RequestParam.new('currencyCode', @currency_code) unless @currency_code.nil?
26
+ result
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,156 @@
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/api_resource'
6
+ require 'ingenico/direct/sdk/response_exception'
7
+ require 'ingenico/direct/sdk/domain/error_response'
8
+ require 'ingenico/direct/sdk/domain/get_payment_products_response'
9
+ require 'ingenico/direct/sdk/domain/payment_product'
10
+ require 'ingenico/direct/sdk/domain/payment_product_networks_response'
11
+ require 'ingenico/direct/sdk/domain/product_directory'
12
+ require 'ingenico/direct/sdk/merchant/products/get_payment_product_networks_params'
13
+ require 'ingenico/direct/sdk/merchant/products/get_payment_product_params'
14
+ require 'ingenico/direct/sdk/merchant/products/get_payment_products_params'
15
+ require 'ingenico/direct/sdk/merchant/products/get_product_directory_params'
16
+
17
+ module Ingenico::Direct::SDK
18
+ module Merchant
19
+ module Products
20
+
21
+ # Products client. Thread-safe.
22
+ class ProductsClient < Ingenico::Direct::SDK::ApiResource
23
+
24
+ # @param parent [Ingenico::Direct::SDK::ApiResource]
25
+ # @param path_context [Hash, nil]
26
+ def initialize(parent, path_context = nil)
27
+ super(parent, path_context)
28
+ end
29
+
30
+ # Resource /v2/!{merchantId}/products - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentProducts Get payment products}
31
+ # @param query [Ingenico::Direct::SDK::Merchant::Products::GetPaymentProductsParams]
32
+ # @param context [Ingenico::Direct::SDK::CallContext]
33
+ # @return [Ingenico::Direct::SDK::Domain::GetPaymentProductsResponse]
34
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
35
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
36
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
37
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
38
+ # or there was a conflict (HTTP status code 404, 409 or 410)
39
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
40
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
41
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
42
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
43
+ def get_payment_products(query, context = nil)
44
+ uri = instantiate_uri('/v2/{merchantId}/products')
45
+ @communicator.get(
46
+ uri,
47
+ client_headers,
48
+ query,
49
+ Ingenico::Direct::SDK::Domain::GetPaymentProductsResponse,
50
+ context
51
+ )
52
+ rescue ResponseException => e
53
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
54
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
55
+ raise create_exception(e.status_code, e.body, error_object, context)
56
+ end
57
+
58
+ # Resource /v2/!{merchantId}/products/!{paymentProductId} - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentProduct Get payment product}
59
+ # @param payment_product_id [Integer]
60
+ # @param query [Ingenico::Direct::SDK::Merchant::Products::GetPaymentProductParams]
61
+ # @param context [Ingenico::Direct::SDK::CallContext]
62
+ # @return [Ingenico::Direct::SDK::Domain::PaymentProduct]
63
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
64
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
65
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
66
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
67
+ # or there was a conflict (HTTP status code 404, 409 or 410)
68
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
69
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
70
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
71
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
72
+ def get_payment_product(payment_product_id, query, context = nil)
73
+ path_context = {
74
+ 'paymentProductId'.freeze => payment_product_id.to_s,
75
+ }
76
+ uri = instantiate_uri('/v2/{merchantId}/products/{paymentProductId}', path_context)
77
+ @communicator.get(
78
+ uri,
79
+ client_headers,
80
+ query,
81
+ Ingenico::Direct::SDK::Domain::PaymentProduct,
82
+ context
83
+ )
84
+ rescue ResponseException => e
85
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
86
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
87
+ raise create_exception(e.status_code, e.body, error_object, context)
88
+ end
89
+
90
+ # Resource /v2/!{merchantId}/products/!{paymentProductId}/directory - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetProductDirectoryApi Get payment product directory}
91
+ # @param payment_product_id [Integer]
92
+ # @param query [Ingenico::Direct::SDK::Merchant::Products::GetProductDirectoryParams]
93
+ # @param context [Ingenico::Direct::SDK::CallContext]
94
+ # @return [Ingenico::Direct::SDK::Domain::ProductDirectory]
95
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
96
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
97
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
98
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
99
+ # or there was a conflict (HTTP status code 404, 409 or 410)
100
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
101
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
102
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
103
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
104
+ def get_product_directory(payment_product_id, query, context = nil)
105
+ path_context = {
106
+ 'paymentProductId'.freeze => payment_product_id.to_s,
107
+ }
108
+ uri = instantiate_uri('/v2/{merchantId}/products/{paymentProductId}/directory', path_context)
109
+ @communicator.get(
110
+ uri,
111
+ client_headers,
112
+ query,
113
+ Ingenico::Direct::SDK::Domain::ProductDirectory,
114
+ context
115
+ )
116
+ rescue ResponseException => e
117
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
118
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
119
+ raise create_exception(e.status_code, e.body, error_object, context)
120
+ end
121
+
122
+ # Resource /v2/!{merchantId}/products/!{paymentProductId}/networks - {https://support.direct.ingenico.com/documentation/api/reference#operation/GetPaymentProductNetworks Get payment product networks}
123
+ # @param payment_product_id [Integer]
124
+ # @param query [Ingenico::Direct::SDK::Merchant::Products::GetPaymentProductNetworksParams]
125
+ # @param context [Ingenico::Direct::SDK::CallContext]
126
+ # @return [Ingenico::Direct::SDK::Domain::PaymentProductNetworksResponse]
127
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
128
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
129
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
130
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
131
+ # or there was a conflict (HTTP status code 404, 409 or 410)
132
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
133
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
134
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
135
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
136
+ def get_payment_product_networks(payment_product_id, query, context = nil)
137
+ path_context = {
138
+ 'paymentProductId'.freeze => payment_product_id.to_s,
139
+ }
140
+ uri = instantiate_uri('/v2/{merchantId}/products/{paymentProductId}/networks', path_context)
141
+ @communicator.get(
142
+ uri,
143
+ client_headers,
144
+ query,
145
+ Ingenico::Direct::SDK::Domain::PaymentProductNetworksResponse,
146
+ context
147
+ )
148
+ rescue ResponseException => e
149
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
150
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
151
+ raise create_exception(e.status_code, e.body, error_object, context)
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,52 @@
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/api_resource'
6
+ require 'ingenico/direct/sdk/response_exception'
7
+ require 'ingenico/direct/sdk/domain/error_response'
8
+ require 'ingenico/direct/sdk/domain/test_connection'
9
+
10
+ module Ingenico::Direct::SDK
11
+ module Merchant
12
+ module Services
13
+
14
+ # Services client. Thread-safe.
15
+ class ServicesClient < Ingenico::Direct::SDK::ApiResource
16
+
17
+ # @param parent [Ingenico::Direct::SDK::ApiResource]
18
+ # @param path_context [Hash, nil]
19
+ def initialize(parent, path_context = nil)
20
+ super(parent, path_context)
21
+ end
22
+
23
+ # Resource /v2/!{merchantId}/services/testconnection - {https://support.direct.ingenico.com/documentation/api/reference#operation/TestConnectionApi Test connection}
24
+ # @param context [Ingenico::Direct::SDK::CallContext]
25
+ # @return [Ingenico::Direct::SDK::Domain::TestConnection]
26
+ # @raise [Ingenico::Direct::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
27
+ # @raise [Ingenico::Direct::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
28
+ # @raise [Ingenico::Direct::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
29
+ # @raise [Ingenico::Direct::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
30
+ # or there was a conflict (HTTP status code 404, 409 or 410)
31
+ # @raise [Ingenico::Direct::SDK::GlobalCollectException] if something went wrong at the Ingenico ePayments platform,
32
+ # the Ingenico ePayments platform was unable to process a message from a downstream partner/acquirer,
33
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
34
+ # @raise [Ingenico::Direct::SDK::ApiException]if the Ingenico ePayments platform returned any other error
35
+ def test_connection(context = nil)
36
+ uri = instantiate_uri('/v2/{merchantId}/services/testconnection')
37
+ @communicator.get(
38
+ uri,
39
+ client_headers,
40
+ nil,
41
+ Ingenico::Direct::SDK::Domain::TestConnection,
42
+ context
43
+ )
44
+ rescue ResponseException => e
45
+ error_type = Ingenico::Direct::SDK::Domain::ErrorResponse
46
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
47
+ raise create_exception(e.status_code, e.body, error_object, context)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end