onlinepayments-sdk-ruby 3.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 (269) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +140 -0
  5. data/Rakefile +34 -0
  6. data/lib/onlinepayments/sdk/api_exception.rb +42 -0
  7. data/lib/onlinepayments/sdk/api_resource.rb +115 -0
  8. data/lib/onlinepayments/sdk/authenticator.rb +16 -0
  9. data/lib/onlinepayments/sdk/authorization_exception.rb +13 -0
  10. data/lib/onlinepayments/sdk/call_context.rb +26 -0
  11. data/lib/onlinepayments/sdk/client.rb +82 -0
  12. data/lib/onlinepayments/sdk/communication_exception.rb +16 -0
  13. data/lib/onlinepayments/sdk/communicator.rb +300 -0
  14. data/lib/onlinepayments/sdk/communicator_configuration.rb +59 -0
  15. data/lib/onlinepayments/sdk/connection.rb +41 -0
  16. data/lib/onlinepayments/sdk/data_object.rb +31 -0
  17. data/lib/onlinepayments/sdk/declined_payment_exception.rb +30 -0
  18. data/lib/onlinepayments/sdk/declined_payout_exception.rb +32 -0
  19. data/lib/onlinepayments/sdk/declined_refund_exception.rb +32 -0
  20. data/lib/onlinepayments/sdk/declined_transaction_exception.rb +16 -0
  21. data/lib/onlinepayments/sdk/defaultimpl/authorization_type.rb +24 -0
  22. data/lib/onlinepayments/sdk/defaultimpl/default_authenticator.rb +108 -0
  23. data/lib/onlinepayments/sdk/defaultimpl/default_connection.rb +295 -0
  24. data/lib/onlinepayments/sdk/defaultimpl/default_marshaller.rb +32 -0
  25. data/lib/onlinepayments/sdk/defaultimpl.rb +6 -0
  26. data/lib/onlinepayments/sdk/domain/account_on_file.rb +49 -0
  27. data/lib/onlinepayments/sdk/domain/account_on_file_attribute.rb +38 -0
  28. data/lib/onlinepayments/sdk/domain/account_on_file_display_hints.rb +37 -0
  29. data/lib/onlinepayments/sdk/domain/additional_order_input.rb +54 -0
  30. data/lib/onlinepayments/sdk/domain/address.rb +50 -0
  31. data/lib/onlinepayments/sdk/domain/address_personal.rb +58 -0
  32. data/lib/onlinepayments/sdk/domain/airline_data.rb +128 -0
  33. data/lib/onlinepayments/sdk/domain/airline_flight_leg.rb +102 -0
  34. data/lib/onlinepayments/sdk/domain/airline_passenger.rb +38 -0
  35. data/lib/onlinepayments/sdk/domain/amount_breakdown.rb +30 -0
  36. data/lib/onlinepayments/sdk/domain/amount_of_money.rb +30 -0
  37. data/lib/onlinepayments/sdk/domain/api_error.rb +46 -0
  38. data/lib/onlinepayments/sdk/domain/bank_account_iban.rb +26 -0
  39. data/lib/onlinepayments/sdk/domain/browser_data.rb +42 -0
  40. data/lib/onlinepayments/sdk/domain/cancel_payment_response.rb +30 -0
  41. data/lib/onlinepayments/sdk/domain/capture.rb +46 -0
  42. data/lib/onlinepayments/sdk/domain/capture_output.rb +82 -0
  43. data/lib/onlinepayments/sdk/domain/capture_payment_request.rb +38 -0
  44. data/lib/onlinepayments/sdk/domain/capture_response.rb +46 -0
  45. data/lib/onlinepayments/sdk/domain/capture_status_output.rb +26 -0
  46. data/lib/onlinepayments/sdk/domain/captures_response.rb +33 -0
  47. data/lib/onlinepayments/sdk/domain/card.rb +38 -0
  48. data/lib/onlinepayments/sdk/domain/card_essentials.rb +34 -0
  49. data/lib/onlinepayments/sdk/domain/card_fraud_results.rb +34 -0
  50. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input.rb +98 -0
  51. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input_base.rb +86 -0
  52. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.rb +26 -0
  53. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_output.rb +78 -0
  54. data/lib/onlinepayments/sdk/domain/card_payout_method_specific_input.rb +38 -0
  55. data/lib/onlinepayments/sdk/domain/card_recurrence_details.rb +26 -0
  56. data/lib/onlinepayments/sdk/domain/card_without_cvv.rb +34 -0
  57. data/lib/onlinepayments/sdk/domain/company_information.rb +26 -0
  58. data/lib/onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.rb +30 -0
  59. data/lib/onlinepayments/sdk/domain/complete_payment_request.rb +38 -0
  60. data/lib/onlinepayments/sdk/domain/complete_payment_response.rb +46 -0
  61. data/lib/onlinepayments/sdk/domain/contact_details.rb +42 -0
  62. data/lib/onlinepayments/sdk/domain/create_hosted_checkout_request.rb +78 -0
  63. data/lib/onlinepayments/sdk/domain/create_hosted_checkout_response.rb +48 -0
  64. data/lib/onlinepayments/sdk/domain/create_hosted_tokenization_request.rb +38 -0
  65. data/lib/onlinepayments/sdk/domain/create_hosted_tokenization_response.rb +50 -0
  66. data/lib/onlinepayments/sdk/domain/create_mandate_request.rb +58 -0
  67. data/lib/onlinepayments/sdk/domain/create_mandate_response.rb +38 -0
  68. data/lib/onlinepayments/sdk/domain/create_mandate_with_return_url.rb +58 -0
  69. data/lib/onlinepayments/sdk/domain/create_payment_request.rb +74 -0
  70. data/lib/onlinepayments/sdk/domain/create_payment_response.rb +46 -0
  71. data/lib/onlinepayments/sdk/domain/create_payout_request.rb +46 -0
  72. data/lib/onlinepayments/sdk/domain/create_token_request.rb +34 -0
  73. data/lib/onlinepayments/sdk/domain/created_payment_output.rb +34 -0
  74. data/lib/onlinepayments/sdk/domain/created_token_response.rb +50 -0
  75. data/lib/onlinepayments/sdk/domain/customer.rb +86 -0
  76. data/lib/onlinepayments/sdk/domain/customer_account.rb +70 -0
  77. data/lib/onlinepayments/sdk/domain/customer_account_authentication.rb +30 -0
  78. data/lib/onlinepayments/sdk/domain/customer_device.rb +50 -0
  79. data/lib/onlinepayments/sdk/domain/customer_payment_activity.rb +34 -0
  80. data/lib/onlinepayments/sdk/domain/customer_token.rb +46 -0
  81. data/lib/onlinepayments/sdk/domain/decrypted_payment_data.rb +42 -0
  82. data/lib/onlinepayments/sdk/domain/directory_entry.rb +34 -0
  83. data/lib/onlinepayments/sdk/domain/empty_validator.rb +12 -0
  84. data/lib/onlinepayments/sdk/domain/error_response.rb +37 -0
  85. data/lib/onlinepayments/sdk/domain/external_cardholder_authentication_data.rb +58 -0
  86. data/lib/onlinepayments/sdk/domain/external_token_linked.rb +34 -0
  87. data/lib/onlinepayments/sdk/domain/fixed_list_validator.rb +32 -0
  88. data/lib/onlinepayments/sdk/domain/fraud_fields.rb +30 -0
  89. data/lib/onlinepayments/sdk/domain/fraud_results.rb +26 -0
  90. data/lib/onlinepayments/sdk/domain/g_pay_three_d_secure.rb +46 -0
  91. data/lib/onlinepayments/sdk/domain/get_hosted_checkout_response.rb +34 -0
  92. data/lib/onlinepayments/sdk/domain/get_hosted_tokenization_response.rb +34 -0
  93. data/lib/onlinepayments/sdk/domain/get_iin_details_request.rb +34 -0
  94. data/lib/onlinepayments/sdk/domain/get_iin_details_response.rb +45 -0
  95. data/lib/onlinepayments/sdk/domain/get_mandate_response.rb +30 -0
  96. data/lib/onlinepayments/sdk/domain/get_payment_product_groups_response.rb +33 -0
  97. data/lib/onlinepayments/sdk/domain/get_payment_products_response.rb +33 -0
  98. data/lib/onlinepayments/sdk/domain/gift_card_purchase.rb +34 -0
  99. data/lib/onlinepayments/sdk/domain/hosted_checkout_specific_input.rb +66 -0
  100. data/lib/onlinepayments/sdk/domain/hosted_checkout_specific_output.rb +30 -0
  101. data/lib/onlinepayments/sdk/domain/iin_detail.rb +30 -0
  102. data/lib/onlinepayments/sdk/domain/label_template_element.rb +30 -0
  103. data/lib/onlinepayments/sdk/domain/length_validator.rb +30 -0
  104. data/lib/onlinepayments/sdk/domain/line_item.rb +46 -0
  105. data/lib/onlinepayments/sdk/domain/line_item_invoice_data.rb +26 -0
  106. data/lib/onlinepayments/sdk/domain/loan_recipient.rb +42 -0
  107. data/lib/onlinepayments/sdk/domain/lodging_data.rb +26 -0
  108. data/lib/onlinepayments/sdk/domain/mandate_address.rb +42 -0
  109. data/lib/onlinepayments/sdk/domain/mandate_contact_details.rb +26 -0
  110. data/lib/onlinepayments/sdk/domain/mandate_customer.rb +58 -0
  111. data/lib/onlinepayments/sdk/domain/mandate_merchant_action.rb +34 -0
  112. data/lib/onlinepayments/sdk/domain/mandate_personal_information.rb +34 -0
  113. data/lib/onlinepayments/sdk/domain/mandate_personal_name.rb +30 -0
  114. data/lib/onlinepayments/sdk/domain/mandate_redirect_data.rb +30 -0
  115. data/lib/onlinepayments/sdk/domain/mandate_response.rb +50 -0
  116. data/lib/onlinepayments/sdk/domain/merchant_action.rb +34 -0
  117. data/lib/onlinepayments/sdk/domain/mobile_payment_data.rb +30 -0
  118. data/lib/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.rb +30 -0
  119. data/lib/onlinepayments/sdk/domain/mobile_payment_method_specific_input.rb +62 -0
  120. data/lib/onlinepayments/sdk/domain/mobile_payment_method_specific_output.rb +58 -0
  121. data/lib/onlinepayments/sdk/domain/mobile_payment_product320_specific_input.rb +30 -0
  122. data/lib/onlinepayments/sdk/domain/operation_output.rb +58 -0
  123. data/lib/onlinepayments/sdk/domain/order.rb +70 -0
  124. data/lib/onlinepayments/sdk/domain/order_line_details.rb +54 -0
  125. data/lib/onlinepayments/sdk/domain/order_references.rb +34 -0
  126. data/lib/onlinepayments/sdk/domain/order_status_output.rb +49 -0
  127. data/lib/onlinepayments/sdk/domain/order_type_information.rb +30 -0
  128. data/lib/onlinepayments/sdk/domain/payment_account_on_file.rb +30 -0
  129. data/lib/onlinepayments/sdk/domain/payment_context.rb +38 -0
  130. data/lib/onlinepayments/sdk/domain/payment_creation_output.rb +38 -0
  131. data/lib/onlinepayments/sdk/domain/payment_details_response.rb +65 -0
  132. data/lib/onlinepayments/sdk/domain/payment_error_response.rb +45 -0
  133. data/lib/onlinepayments/sdk/domain/payment_output.rb +82 -0
  134. data/lib/onlinepayments/sdk/domain/payment_product.rb +102 -0
  135. data/lib/onlinepayments/sdk/domain/payment_product130_specific_input.rb +30 -0
  136. data/lib/onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.rb +38 -0
  137. data/lib/onlinepayments/sdk/domain/payment_product302_specific_data.rb +32 -0
  138. data/lib/onlinepayments/sdk/domain/payment_product320_specific_data.rb +36 -0
  139. data/lib/onlinepayments/sdk/domain/payment_product5100_specific_input.rb +26 -0
  140. data/lib/onlinepayments/sdk/domain/payment_product5402_specific_output.rb +26 -0
  141. data/lib/onlinepayments/sdk/domain/payment_product5500_specific_output.rb +34 -0
  142. data/lib/onlinepayments/sdk/domain/payment_product771_specific_output.rb +26 -0
  143. data/lib/onlinepayments/sdk/domain/payment_product840_customer_account.rb +54 -0
  144. data/lib/onlinepayments/sdk/domain/payment_product840_specific_output.rb +53 -0
  145. data/lib/onlinepayments/sdk/domain/payment_product_display_hints.rb +34 -0
  146. data/lib/onlinepayments/sdk/domain/payment_product_field.rb +46 -0
  147. data/lib/onlinepayments/sdk/domain/payment_product_field_data_restrictions.rb +34 -0
  148. data/lib/onlinepayments/sdk/domain/payment_product_field_display_element.rb +38 -0
  149. data/lib/onlinepayments/sdk/domain/payment_product_field_display_hints.rb +70 -0
  150. data/lib/onlinepayments/sdk/domain/payment_product_field_form_element.rb +37 -0
  151. data/lib/onlinepayments/sdk/domain/payment_product_field_tooltip.rb +30 -0
  152. data/lib/onlinepayments/sdk/domain/payment_product_field_validators.rb +90 -0
  153. data/lib/onlinepayments/sdk/domain/payment_product_filter.rb +42 -0
  154. data/lib/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.rb +37 -0
  155. data/lib/onlinepayments/sdk/domain/payment_product_group.rb +52 -0
  156. data/lib/onlinepayments/sdk/domain/payment_product_networks_response.rb +32 -0
  157. data/lib/onlinepayments/sdk/domain/payment_references.rb +30 -0
  158. data/lib/onlinepayments/sdk/domain/payment_response.rb +54 -0
  159. data/lib/onlinepayments/sdk/domain/payment_status_output.rb +57 -0
  160. data/lib/onlinepayments/sdk/domain/payout_error_response.rb +45 -0
  161. data/lib/onlinepayments/sdk/domain/payout_output.rb +30 -0
  162. data/lib/onlinepayments/sdk/domain/payout_response.rb +46 -0
  163. data/lib/onlinepayments/sdk/domain/payout_result.rb +46 -0
  164. data/lib/onlinepayments/sdk/domain/payout_status_output.rb +34 -0
  165. data/lib/onlinepayments/sdk/domain/personal_information.rb +38 -0
  166. data/lib/onlinepayments/sdk/domain/personal_information_token.rb +30 -0
  167. data/lib/onlinepayments/sdk/domain/personal_name.rb +34 -0
  168. data/lib/onlinepayments/sdk/domain/personal_name_token.rb +30 -0
  169. data/lib/onlinepayments/sdk/domain/product_directory.rb +33 -0
  170. data/lib/onlinepayments/sdk/domain/protection_eligibility.rb +30 -0
  171. data/lib/onlinepayments/sdk/domain/range_validator.rb +30 -0
  172. data/lib/onlinepayments/sdk/domain/redirect_data.rb +30 -0
  173. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_input.rb +66 -0
  174. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_output.rb +66 -0
  175. data/lib/onlinepayments/sdk/domain/redirect_payment_product809_specific_input.rb +26 -0
  176. data/lib/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.rb +26 -0
  177. data/lib/onlinepayments/sdk/domain/redirection_data.rb +26 -0
  178. data/lib/onlinepayments/sdk/domain/refund_card_method_specific_output.rb +30 -0
  179. data/lib/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.rb +38 -0
  180. data/lib/onlinepayments/sdk/domain/refund_error_response.rb +45 -0
  181. data/lib/onlinepayments/sdk/domain/refund_mobile_method_specific_output.rb +34 -0
  182. data/lib/onlinepayments/sdk/domain/refund_output.rb +82 -0
  183. data/lib/onlinepayments/sdk/domain/refund_payment_product840_customer_account.rb +34 -0
  184. data/lib/onlinepayments/sdk/domain/refund_payment_product840_specific_output.rb +30 -0
  185. data/lib/onlinepayments/sdk/domain/refund_redirect_method_specific_output.rb +30 -0
  186. data/lib/onlinepayments/sdk/domain/refund_request.rb +38 -0
  187. data/lib/onlinepayments/sdk/domain/refund_response.rb +46 -0
  188. data/lib/onlinepayments/sdk/domain/refunds_response.rb +33 -0
  189. data/lib/onlinepayments/sdk/domain/regular_expression_validator.rb +26 -0
  190. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.rb +34 -0
  191. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.rb +34 -0
  192. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.rb +42 -0
  193. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.rb +34 -0
  194. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.rb +34 -0
  195. data/lib/onlinepayments/sdk/domain/session_request.rb +32 -0
  196. data/lib/onlinepayments/sdk/domain/session_response.rb +48 -0
  197. data/lib/onlinepayments/sdk/domain/shipping.rb +58 -0
  198. data/lib/onlinepayments/sdk/domain/shopping_cart.rb +64 -0
  199. data/lib/onlinepayments/sdk/domain/shopping_cart_extension.rb +52 -0
  200. data/lib/onlinepayments/sdk/domain/test_connection.rb +26 -0
  201. data/lib/onlinepayments/sdk/domain/three_d_secure.rb +78 -0
  202. data/lib/onlinepayments/sdk/domain/three_d_secure_base.rb +58 -0
  203. data/lib/onlinepayments/sdk/domain/three_d_secure_data.rb +34 -0
  204. data/lib/onlinepayments/sdk/domain/three_d_secure_results.rb +30 -0
  205. data/lib/onlinepayments/sdk/domain/token_card.rb +34 -0
  206. data/lib/onlinepayments/sdk/domain/token_card_data.rb +30 -0
  207. data/lib/onlinepayments/sdk/domain/token_card_specific_input.rb +30 -0
  208. data/lib/onlinepayments/sdk/domain/token_data.rb +30 -0
  209. data/lib/onlinepayments/sdk/domain/token_e_wallet.rb +34 -0
  210. data/lib/onlinepayments/sdk/domain/token_response.rb +58 -0
  211. data/lib/onlinepayments/sdk/domain/value_mapping_element.rb +37 -0
  212. data/lib/onlinepayments/sdk/endpoint_configuration.rb +127 -0
  213. data/lib/onlinepayments/sdk/exceptions.rb +8 -0
  214. data/lib/onlinepayments/sdk/factory.rb +136 -0
  215. data/lib/onlinepayments/sdk/idempotence_exception.rb +24 -0
  216. data/lib/onlinepayments/sdk/logging/communicator_logger.rb +22 -0
  217. data/lib/onlinepayments/sdk/logging/log_message_builder.rb +56 -0
  218. data/lib/onlinepayments/sdk/logging/logging_capable.rb +17 -0
  219. data/lib/onlinepayments/sdk/logging/logging_util.rb +286 -0
  220. data/lib/onlinepayments/sdk/logging/request_log_message_builder.rb +39 -0
  221. data/lib/onlinepayments/sdk/logging/response_log_message_builder.rb +34 -0
  222. data/lib/onlinepayments/sdk/logging/ruby_communicator_logger.rb +57 -0
  223. data/lib/onlinepayments/sdk/logging/stdout_communicator_logger.rb +34 -0
  224. data/lib/onlinepayments/sdk/logging.rb +10 -0
  225. data/lib/onlinepayments/sdk/marshaller.rb +24 -0
  226. data/lib/onlinepayments/sdk/marshaller_syntax_exception.rb +6 -0
  227. data/lib/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.rb +86 -0
  228. data/lib/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.rb +86 -0
  229. data/lib/onlinepayments/sdk/merchant/mandates/mandates_client.rb +182 -0
  230. data/lib/onlinepayments/sdk/merchant/merchant_client.rb +89 -0
  231. data/lib/onlinepayments/sdk/merchant/payments/payments_client.rb +322 -0
  232. data/lib/onlinepayments/sdk/merchant/payouts/payouts_client.rb +86 -0
  233. data/lib/onlinepayments/sdk/merchant/productgroups/get_product_group_params.rb +57 -0
  234. data/lib/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.rb +57 -0
  235. data/lib/onlinepayments/sdk/merchant/productgroups/product_groups_client.rb +87 -0
  236. data/lib/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.rb +38 -0
  237. data/lib/onlinepayments/sdk/merchant/products/get_payment_product_params.rb +57 -0
  238. data/lib/onlinepayments/sdk/merchant/products/get_payment_products_params.rb +57 -0
  239. data/lib/onlinepayments/sdk/merchant/products/get_product_directory_params.rb +30 -0
  240. data/lib/onlinepayments/sdk/merchant/products/products_client.rb +155 -0
  241. data/lib/onlinepayments/sdk/merchant/services/services_client.rb +82 -0
  242. data/lib/onlinepayments/sdk/merchant/sessions/sessions_client.rb +54 -0
  243. data/lib/onlinepayments/sdk/merchant/tokens/tokens_client.rb +116 -0
  244. data/lib/onlinepayments/sdk/meta_data_provider.rb +150 -0
  245. data/lib/onlinepayments/sdk/modules.rb +62 -0
  246. data/lib/onlinepayments/sdk/not_found_exception.rb +16 -0
  247. data/lib/onlinepayments/sdk/param_request.rb +11 -0
  248. data/lib/onlinepayments/sdk/payment_platform_exception.rb +15 -0
  249. data/lib/onlinepayments/sdk/pooled_connection.rb +21 -0
  250. data/lib/onlinepayments/sdk/proxy_configuration.rb +74 -0
  251. data/lib/onlinepayments/sdk/reference_exception.rb +14 -0
  252. data/lib/onlinepayments/sdk/request_header.rb +50 -0
  253. data/lib/onlinepayments/sdk/request_param.rb +23 -0
  254. data/lib/onlinepayments/sdk/response_exception.rb +47 -0
  255. data/lib/onlinepayments/sdk/response_header.rb +42 -0
  256. data/lib/onlinepayments/sdk/validation_exception.rb +14 -0
  257. data/lib/onlinepayments/sdk/webhooks/api_version_mismatch_exception.rb +20 -0
  258. data/lib/onlinepayments/sdk/webhooks/in_memory_secret_key_store.rb +56 -0
  259. data/lib/onlinepayments/sdk/webhooks/secret_key_not_available_exception.rb +17 -0
  260. data/lib/onlinepayments/sdk/webhooks/secret_key_store.rb +16 -0
  261. data/lib/onlinepayments/sdk/webhooks/signature_validation_exception.rb +19 -0
  262. data/lib/onlinepayments/sdk/webhooks/webhooks.rb +22 -0
  263. data/lib/onlinepayments/sdk/webhooks/webhooks_event.rb +58 -0
  264. data/lib/onlinepayments/sdk/webhooks/webhooks_helper.rb +100 -0
  265. data/lib/onlinepayments/sdk/webhooks/webhooks_helper_builder.rb +25 -0
  266. data/lib/onlinepayments/sdk/webhooks.rb +11 -0
  267. data/lib/onlinepayments/sdk.rb +26 -0
  268. data/onlinepayments-sdk-ruby.gemspec +28 -0
  269. metadata +416 -0
@@ -0,0 +1,58 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/card_fraud_results'
6
+ require 'onlinepayments/sdk/domain/mobile_payment_data'
7
+ require 'onlinepayments/sdk/domain/three_d_secure_results'
8
+
9
+ module OnlinePayments::SDK
10
+ module Domain
11
+
12
+ # @attr [String] authorisation_code
13
+ # @attr [OnlinePayments::SDK::Domain::CardFraudResults] fraud_results
14
+ # @attr [String] network
15
+ # @attr [OnlinePayments::SDK::Domain::MobilePaymentData] payment_data
16
+ # @attr [Integer] payment_product_id
17
+ # @attr [OnlinePayments::SDK::Domain::ThreeDSecureResults] three_d_secure_results
18
+ class MobilePaymentMethodSpecificOutput < OnlinePayments::SDK::DataObject
19
+ attr_accessor :authorisation_code
20
+ attr_accessor :fraud_results
21
+ attr_accessor :network
22
+ attr_accessor :payment_data
23
+ attr_accessor :payment_product_id
24
+ attr_accessor :three_d_secure_results
25
+
26
+ # @return (Hash)
27
+ def to_h
28
+ hash = super
29
+ hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
30
+ hash['fraudResults'] = @fraud_results.to_h if @fraud_results
31
+ hash['network'] = @network unless @network.nil?
32
+ hash['paymentData'] = @payment_data.to_h if @payment_data
33
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
34
+ hash['threeDSecureResults'] = @three_d_secure_results.to_h if @three_d_secure_results
35
+ hash
36
+ end
37
+
38
+ def from_hash(hash)
39
+ super
40
+ @authorisation_code = hash['authorisationCode'] if hash.key? 'authorisationCode'
41
+ if hash.key? 'fraudResults'
42
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
43
+ @fraud_results = OnlinePayments::SDK::Domain::CardFraudResults.new_from_hash(hash['fraudResults'])
44
+ end
45
+ @network = hash['network'] if hash.key? 'network'
46
+ if hash.key? 'paymentData'
47
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentData']] unless hash['paymentData'].is_a? Hash
48
+ @payment_data = OnlinePayments::SDK::Domain::MobilePaymentData.new_from_hash(hash['paymentData'])
49
+ end
50
+ @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
51
+ if hash.key? 'threeDSecureResults'
52
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecureResults']] unless hash['threeDSecureResults'].is_a? Hash
53
+ @three_d_secure_results = OnlinePayments::SDK::Domain::ThreeDSecureResults.new_from_hash(hash['threeDSecureResults'])
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,30 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/g_pay_three_d_secure'
6
+
7
+ module OnlinePayments::SDK
8
+ module Domain
9
+
10
+ # @attr [OnlinePayments::SDK::Domain::GPayThreeDSecure] three_d_secure
11
+ class MobilePaymentProduct320SpecificInput < OnlinePayments::SDK::DataObject
12
+ attr_accessor :three_d_secure
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ if hash.key? 'threeDSecure'
24
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
25
+ @three_d_secure = OnlinePayments::SDK::Domain::GPayThreeDSecure.new_from_hash(hash['threeDSecure'])
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/amount_of_money'
6
+ require 'onlinepayments/sdk/domain/payment_references'
7
+ require 'onlinepayments/sdk/domain/payment_status_output'
8
+
9
+ module OnlinePayments::SDK
10
+ module Domain
11
+
12
+ # @attr [OnlinePayments::SDK::Domain::AmountOfMoney] amount_of_money
13
+ # @attr [String] id
14
+ # @attr [String] payment_method
15
+ # @attr [OnlinePayments::SDK::Domain::PaymentReferences] references
16
+ # @attr [String] status
17
+ # @attr [OnlinePayments::SDK::Domain::PaymentStatusOutput] status_output
18
+ class OperationOutput < OnlinePayments::SDK::DataObject
19
+ attr_accessor :amount_of_money
20
+ attr_accessor :id
21
+ attr_accessor :payment_method
22
+ attr_accessor :references
23
+ attr_accessor :status
24
+ attr_accessor :status_output
25
+
26
+ # @return (Hash)
27
+ def to_h
28
+ hash = super
29
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
30
+ hash['id'] = @id unless @id.nil?
31
+ hash['paymentMethod'] = @payment_method unless @payment_method.nil?
32
+ hash['references'] = @references.to_h if @references
33
+ hash['status'] = @status unless @status.nil?
34
+ hash['statusOutput'] = @status_output.to_h if @status_output
35
+ hash
36
+ end
37
+
38
+ def from_hash(hash)
39
+ super
40
+ if hash.key? 'amountOfMoney'
41
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
42
+ @amount_of_money = OnlinePayments::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
43
+ end
44
+ @id = hash['id'] if hash.key? 'id'
45
+ @payment_method = hash['paymentMethod'] if hash.key? 'paymentMethod'
46
+ if hash.key? 'references'
47
+ raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
48
+ @references = OnlinePayments::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
49
+ end
50
+ @status = hash['status'] if hash.key? 'status'
51
+ if hash.key? 'statusOutput'
52
+ raise TypeError, "value '%s' is not a Hash" % [hash['statusOutput']] unless hash['statusOutput'].is_a? Hash
53
+ @status_output = OnlinePayments::SDK::Domain::PaymentStatusOutput.new_from_hash(hash['statusOutput'])
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,70 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/additional_order_input'
6
+ require 'onlinepayments/sdk/domain/amount_of_money'
7
+ require 'onlinepayments/sdk/domain/customer'
8
+ require 'onlinepayments/sdk/domain/order_references'
9
+ require 'onlinepayments/sdk/domain/shipping'
10
+ require 'onlinepayments/sdk/domain/shopping_cart'
11
+
12
+ module OnlinePayments::SDK
13
+ module Domain
14
+
15
+ # @attr [OnlinePayments::SDK::Domain::AdditionalOrderInput] additional_input
16
+ # @attr [OnlinePayments::SDK::Domain::AmountOfMoney] amount_of_money
17
+ # @attr [OnlinePayments::SDK::Domain::Customer] customer
18
+ # @attr [OnlinePayments::SDK::Domain::OrderReferences] references
19
+ # @attr [OnlinePayments::SDK::Domain::Shipping] shipping
20
+ # @attr [OnlinePayments::SDK::Domain::ShoppingCart] shopping_cart
21
+ class Order < OnlinePayments::SDK::DataObject
22
+ attr_accessor :additional_input
23
+ attr_accessor :amount_of_money
24
+ attr_accessor :customer
25
+ attr_accessor :references
26
+ attr_accessor :shipping
27
+ attr_accessor :shopping_cart
28
+
29
+ # @return (Hash)
30
+ def to_h
31
+ hash = super
32
+ hash['additionalInput'] = @additional_input.to_h if @additional_input
33
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
34
+ hash['customer'] = @customer.to_h if @customer
35
+ hash['references'] = @references.to_h if @references
36
+ hash['shipping'] = @shipping.to_h if @shipping
37
+ hash['shoppingCart'] = @shopping_cart.to_h if @shopping_cart
38
+ hash
39
+ end
40
+
41
+ def from_hash(hash)
42
+ super
43
+ if hash.key? 'additionalInput'
44
+ raise TypeError, "value '%s' is not a Hash" % [hash['additionalInput']] unless hash['additionalInput'].is_a? Hash
45
+ @additional_input = OnlinePayments::SDK::Domain::AdditionalOrderInput.new_from_hash(hash['additionalInput'])
46
+ end
47
+ if hash.key? 'amountOfMoney'
48
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
49
+ @amount_of_money = OnlinePayments::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
50
+ end
51
+ if hash.key? 'customer'
52
+ raise TypeError, "value '%s' is not a Hash" % [hash['customer']] unless hash['customer'].is_a? Hash
53
+ @customer = OnlinePayments::SDK::Domain::Customer.new_from_hash(hash['customer'])
54
+ end
55
+ if hash.key? 'references'
56
+ raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
57
+ @references = OnlinePayments::SDK::Domain::OrderReferences.new_from_hash(hash['references'])
58
+ end
59
+ if hash.key? 'shipping'
60
+ raise TypeError, "value '%s' is not a Hash" % [hash['shipping']] unless hash['shipping'].is_a? Hash
61
+ @shipping = OnlinePayments::SDK::Domain::Shipping.new_from_hash(hash['shipping'])
62
+ end
63
+ if hash.key? 'shoppingCart'
64
+ raise TypeError, "value '%s' is not a Hash" % [hash['shoppingCart']] unless hash['shoppingCart'].is_a? Hash
65
+ @shopping_cart = OnlinePayments::SDK::Domain::ShoppingCart.new_from_hash(hash['shoppingCart'])
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,54 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+
6
+ module OnlinePayments::SDK
7
+ module Domain
8
+
9
+ # @attr [Long] discount_amount
10
+ # @attr [String] product_code
11
+ # @attr [String] product_name
12
+ # @attr [Long] product_price
13
+ # @attr [String] product_type
14
+ # @attr [Long] quantity
15
+ # @attr [Long] tax_amount
16
+ # @attr [String] unit
17
+ class OrderLineDetails < OnlinePayments::SDK::DataObject
18
+ attr_accessor :discount_amount
19
+ attr_accessor :product_code
20
+ attr_accessor :product_name
21
+ attr_accessor :product_price
22
+ attr_accessor :product_type
23
+ attr_accessor :quantity
24
+ attr_accessor :tax_amount
25
+ attr_accessor :unit
26
+
27
+ # @return (Hash)
28
+ def to_h
29
+ hash = super
30
+ hash['discountAmount'] = @discount_amount unless @discount_amount.nil?
31
+ hash['productCode'] = @product_code unless @product_code.nil?
32
+ hash['productName'] = @product_name unless @product_name.nil?
33
+ hash['productPrice'] = @product_price unless @product_price.nil?
34
+ hash['productType'] = @product_type unless @product_type.nil?
35
+ hash['quantity'] = @quantity unless @quantity.nil?
36
+ hash['taxAmount'] = @tax_amount unless @tax_amount.nil?
37
+ hash['unit'] = @unit unless @unit.nil?
38
+ hash
39
+ end
40
+
41
+ def from_hash(hash)
42
+ super
43
+ @discount_amount = hash['discountAmount'] if hash.key? 'discountAmount'
44
+ @product_code = hash['productCode'] if hash.key? 'productCode'
45
+ @product_name = hash['productName'] if hash.key? 'productName'
46
+ @product_price = hash['productPrice'] if hash.key? 'productPrice'
47
+ @product_type = hash['productType'] if hash.key? 'productType'
48
+ @quantity = hash['quantity'] if hash.key? 'quantity'
49
+ @tax_amount = hash['taxAmount'] if hash.key? 'taxAmount'
50
+ @unit = hash['unit'] if hash.key? 'unit'
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+
6
+ module OnlinePayments::SDK
7
+ module Domain
8
+
9
+ # @attr [String] descriptor
10
+ # @attr [String] merchant_parameters
11
+ # @attr [String] merchant_reference
12
+ class OrderReferences < OnlinePayments::SDK::DataObject
13
+ attr_accessor :descriptor
14
+ attr_accessor :merchant_parameters
15
+ attr_accessor :merchant_reference
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['descriptor'] = @descriptor unless @descriptor.nil?
21
+ hash['merchantParameters'] = @merchant_parameters unless @merchant_parameters.nil?
22
+ hash['merchantReference'] = @merchant_reference unless @merchant_reference.nil?
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ @descriptor = hash['descriptor'] if hash.key? 'descriptor'
29
+ @merchant_parameters = hash['merchantParameters'] if hash.key? 'merchantParameters'
30
+ @merchant_reference = hash['merchantReference'] if hash.key? 'merchantReference'
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,49 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/api_error'
6
+
7
+ module OnlinePayments::SDK
8
+ module Domain
9
+
10
+ # @attr [Array<OnlinePayments::SDK::Domain::APIError>] errors
11
+ # @attr [true/false] is_cancellable
12
+ # @attr [String] status_category
13
+ # @attr [Integer] status_code
14
+ # @attr [String] status_code_change_date_time
15
+ class OrderStatusOutput < OnlinePayments::SDK::DataObject
16
+ attr_accessor :errors
17
+ attr_accessor :is_cancellable
18
+ attr_accessor :status_category
19
+ attr_accessor :status_code
20
+ attr_accessor :status_code_change_date_time
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['errors'] = @errors.collect(&:to_h) if @errors
26
+ hash['isCancellable'] = @is_cancellable unless @is_cancellable.nil?
27
+ hash['statusCategory'] = @status_category unless @status_category.nil?
28
+ hash['statusCode'] = @status_code unless @status_code.nil?
29
+ hash['statusCodeChangeDateTime'] = @status_code_change_date_time unless @status_code_change_date_time.nil?
30
+ hash
31
+ end
32
+
33
+ def from_hash(hash)
34
+ super
35
+ if hash.key? 'errors'
36
+ raise TypeError, "value '%s' is not an Array" % [hash['errors']] unless hash['errors'].is_a? Array
37
+ @errors = []
38
+ hash['errors'].each do |e|
39
+ @errors << OnlinePayments::SDK::Domain::APIError.new_from_hash(e)
40
+ end
41
+ end
42
+ @is_cancellable = hash['isCancellable'] if hash.key? 'isCancellable'
43
+ @status_category = hash['statusCategory'] if hash.key? 'statusCategory'
44
+ @status_code = hash['statusCode'] if hash.key? 'statusCode'
45
+ @status_code_change_date_time = hash['statusCodeChangeDateTime'] if hash.key? 'statusCodeChangeDateTime'
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,30 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+
6
+ module OnlinePayments::SDK
7
+ module Domain
8
+
9
+ # @attr [String] purchase_type
10
+ # @attr [String] transaction_type
11
+ class OrderTypeInformation < OnlinePayments::SDK::DataObject
12
+ attr_accessor :purchase_type
13
+ attr_accessor :transaction_type
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['purchaseType'] = @purchase_type unless @purchase_type.nil?
19
+ hash['transactionType'] = @transaction_type unless @transaction_type.nil?
20
+ hash
21
+ end
22
+
23
+ def from_hash(hash)
24
+ super
25
+ @purchase_type = hash['purchaseType'] if hash.key? 'purchaseType'
26
+ @transaction_type = hash['transactionType'] if hash.key? 'transactionType'
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+
6
+ module OnlinePayments::SDK
7
+ module Domain
8
+
9
+ # @attr [String] create_date
10
+ # @attr [Integer] number_of_card_on_file_creation_attempts_last24_hours
11
+ class PaymentAccountOnFile < OnlinePayments::SDK::DataObject
12
+ attr_accessor :create_date
13
+ attr_accessor :number_of_card_on_file_creation_attempts_last24_hours
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['createDate'] = @create_date unless @create_date.nil?
19
+ hash['numberOfCardOnFileCreationAttemptsLast24Hours'] = @number_of_card_on_file_creation_attempts_last24_hours unless @number_of_card_on_file_creation_attempts_last24_hours.nil?
20
+ hash
21
+ end
22
+
23
+ def from_hash(hash)
24
+ super
25
+ @create_date = hash['createDate'] if hash.key? 'createDate'
26
+ @number_of_card_on_file_creation_attempts_last24_hours = hash['numberOfCardOnFileCreationAttemptsLast24Hours'] if hash.key? 'numberOfCardOnFileCreationAttemptsLast24Hours'
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/amount_of_money'
6
+
7
+ module OnlinePayments::SDK
8
+ module Domain
9
+
10
+ # @attr [OnlinePayments::SDK::Domain::AmountOfMoney] amount_of_money
11
+ # @attr [String] country_code
12
+ # @attr [true/false] is_recurring
13
+ class PaymentContext < OnlinePayments::SDK::DataObject
14
+ attr_accessor :amount_of_money
15
+ attr_accessor :country_code
16
+ attr_accessor :is_recurring
17
+
18
+ # @return (Hash)
19
+ def to_h
20
+ hash = super
21
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
22
+ hash['countryCode'] = @country_code unless @country_code.nil?
23
+ hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
24
+ hash
25
+ end
26
+
27
+ def from_hash(hash)
28
+ super
29
+ if hash.key? 'amountOfMoney'
30
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
31
+ @amount_of_money = OnlinePayments::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
32
+ end
33
+ @country_code = hash['countryCode'] if hash.key? 'countryCode'
34
+ @is_recurring = hash['isRecurring'] if hash.key? 'isRecurring'
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+
6
+ module OnlinePayments::SDK
7
+ module Domain
8
+
9
+ # @attr [String] external_reference
10
+ # @attr [true/false] is_new_token
11
+ # @attr [String] token
12
+ # @attr [true/false] tokenization_succeeded
13
+ class PaymentCreationOutput < OnlinePayments::SDK::DataObject
14
+ attr_accessor :external_reference
15
+ attr_accessor :is_new_token
16
+ attr_accessor :token
17
+ attr_accessor :tokenization_succeeded
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['externalReference'] = @external_reference unless @external_reference.nil?
23
+ hash['isNewToken'] = @is_new_token unless @is_new_token.nil?
24
+ hash['token'] = @token unless @token.nil?
25
+ hash['tokenizationSucceeded'] = @tokenization_succeeded unless @tokenization_succeeded.nil?
26
+ hash
27
+ end
28
+
29
+ def from_hash(hash)
30
+ super
31
+ @external_reference = hash['externalReference'] if hash.key? 'externalReference'
32
+ @is_new_token = hash['isNewToken'] if hash.key? 'isNewToken'
33
+ @token = hash['token'] if hash.key? 'token'
34
+ @tokenization_succeeded = hash['tokenizationSucceeded'] if hash.key? 'tokenizationSucceeded'
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,65 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/hosted_checkout_specific_output'
6
+ require 'onlinepayments/sdk/domain/operation_output'
7
+ require 'onlinepayments/sdk/domain/payment_output'
8
+ require 'onlinepayments/sdk/domain/payment_status_output'
9
+
10
+ module OnlinePayments::SDK
11
+ module Domain
12
+
13
+ # @attr [Array<OnlinePayments::SDK::Domain::OperationOutput>] operations
14
+ # @attr [OnlinePayments::SDK::Domain::HostedCheckoutSpecificOutput] hosted_checkout_specific_output
15
+ # @attr [String] id
16
+ # @attr [OnlinePayments::SDK::Domain::PaymentOutput] payment_output
17
+ # @attr [String] status
18
+ # @attr [OnlinePayments::SDK::Domain::PaymentStatusOutput] status_output
19
+ class PaymentDetailsResponse < OnlinePayments::SDK::DataObject
20
+ attr_accessor :operations
21
+ attr_accessor :hosted_checkout_specific_output
22
+ attr_accessor :id
23
+ attr_accessor :payment_output
24
+ attr_accessor :status
25
+ attr_accessor :status_output
26
+
27
+ # @return (Hash)
28
+ def to_h
29
+ hash = super
30
+ hash['Operations'] = @operations.collect(&:to_h) if @operations
31
+ hash['hostedCheckoutSpecificOutput'] = @hosted_checkout_specific_output.to_h if @hosted_checkout_specific_output
32
+ hash['id'] = @id unless @id.nil?
33
+ hash['paymentOutput'] = @payment_output.to_h if @payment_output
34
+ hash['status'] = @status unless @status.nil?
35
+ hash['statusOutput'] = @status_output.to_h if @status_output
36
+ hash
37
+ end
38
+
39
+ def from_hash(hash)
40
+ super
41
+ if hash.key? 'Operations'
42
+ raise TypeError, "value '%s' is not an Array" % [hash['Operations']] unless hash['Operations'].is_a? Array
43
+ @operations = []
44
+ hash['Operations'].each do |e|
45
+ @operations << OnlinePayments::SDK::Domain::OperationOutput.new_from_hash(e)
46
+ end
47
+ end
48
+ if hash.key? 'hostedCheckoutSpecificOutput'
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['hostedCheckoutSpecificOutput']] unless hash['hostedCheckoutSpecificOutput'].is_a? Hash
50
+ @hosted_checkout_specific_output = OnlinePayments::SDK::Domain::HostedCheckoutSpecificOutput.new_from_hash(hash['hostedCheckoutSpecificOutput'])
51
+ end
52
+ @id = hash['id'] if hash.key? 'id'
53
+ if hash.key? 'paymentOutput'
54
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentOutput']] unless hash['paymentOutput'].is_a? Hash
55
+ @payment_output = OnlinePayments::SDK::Domain::PaymentOutput.new_from_hash(hash['paymentOutput'])
56
+ end
57
+ @status = hash['status'] if hash.key? 'status'
58
+ if hash.key? 'statusOutput'
59
+ raise TypeError, "value '%s' is not a Hash" % [hash['statusOutput']] unless hash['statusOutput'].is_a? Hash
60
+ @status_output = OnlinePayments::SDK::Domain::PaymentStatusOutput.new_from_hash(hash['statusOutput'])
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,45 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/api_error'
6
+ require 'onlinepayments/sdk/domain/create_payment_response'
7
+
8
+ module OnlinePayments::SDK
9
+ module Domain
10
+
11
+ # @attr [String] error_id
12
+ # @attr [Array<OnlinePayments::SDK::Domain::APIError>] errors
13
+ # @attr [OnlinePayments::SDK::Domain::CreatePaymentResponse] payment_result
14
+ class PaymentErrorResponse < OnlinePayments::SDK::DataObject
15
+ attr_accessor :error_id
16
+ attr_accessor :errors
17
+ attr_accessor :payment_result
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['errorId'] = @error_id unless @error_id.nil?
23
+ hash['errors'] = @errors.collect(&:to_h) if @errors
24
+ hash['paymentResult'] = @payment_result.to_h if @payment_result
25
+ hash
26
+ end
27
+
28
+ def from_hash(hash)
29
+ super
30
+ @error_id = hash['errorId'] if hash.key? 'errorId'
31
+ if hash.key? 'errors'
32
+ raise TypeError, "value '%s' is not an Array" % [hash['errors']] unless hash['errors'].is_a? Array
33
+ @errors = []
34
+ hash['errors'].each do |e|
35
+ @errors << OnlinePayments::SDK::Domain::APIError.new_from_hash(e)
36
+ end
37
+ end
38
+ if hash.key? 'paymentResult'
39
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentResult']] unless hash['paymentResult'].is_a? Hash
40
+ @payment_result = OnlinePayments::SDK::Domain::CreatePaymentResponse.new_from_hash(hash['paymentResult'])
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end