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,82 @@
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/card_payment_method_specific_output'
7
+ require 'onlinepayments/sdk/domain/mobile_payment_method_specific_output'
8
+ require 'onlinepayments/sdk/domain/payment_references'
9
+ require 'onlinepayments/sdk/domain/redirect_payment_method_specific_output'
10
+ require 'onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output'
11
+
12
+ module OnlinePayments::SDK
13
+ module Domain
14
+
15
+ # @attr [OnlinePayments::SDK::Domain::AmountOfMoney] amount_of_money
16
+ # @attr [Long] amount_paid
17
+ # @attr [OnlinePayments::SDK::Domain::CardPaymentMethodSpecificOutput] card_payment_method_specific_output
18
+ # @attr [String] merchant_parameters
19
+ # @attr [OnlinePayments::SDK::Domain::MobilePaymentMethodSpecificOutput] mobile_payment_method_specific_output
20
+ # @attr [String] payment_method
21
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificOutput] redirect_payment_method_specific_output
22
+ # @attr [OnlinePayments::SDK::Domain::PaymentReferences] references
23
+ # @attr [OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificOutput] sepa_direct_debit_payment_method_specific_output
24
+ class PaymentOutput < OnlinePayments::SDK::DataObject
25
+ attr_accessor :amount_of_money
26
+ attr_accessor :amount_paid
27
+ attr_accessor :card_payment_method_specific_output
28
+ attr_accessor :merchant_parameters
29
+ attr_accessor :mobile_payment_method_specific_output
30
+ attr_accessor :payment_method
31
+ attr_accessor :redirect_payment_method_specific_output
32
+ attr_accessor :references
33
+ attr_accessor :sepa_direct_debit_payment_method_specific_output
34
+
35
+ # @return (Hash)
36
+ def to_h
37
+ hash = super
38
+ hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
39
+ hash['amountPaid'] = @amount_paid unless @amount_paid.nil?
40
+ hash['cardPaymentMethodSpecificOutput'] = @card_payment_method_specific_output.to_h if @card_payment_method_specific_output
41
+ hash['merchantParameters'] = @merchant_parameters unless @merchant_parameters.nil?
42
+ hash['mobilePaymentMethodSpecificOutput'] = @mobile_payment_method_specific_output.to_h if @mobile_payment_method_specific_output
43
+ hash['paymentMethod'] = @payment_method unless @payment_method.nil?
44
+ hash['redirectPaymentMethodSpecificOutput'] = @redirect_payment_method_specific_output.to_h if @redirect_payment_method_specific_output
45
+ hash['references'] = @references.to_h if @references
46
+ hash['sepaDirectDebitPaymentMethodSpecificOutput'] = @sepa_direct_debit_payment_method_specific_output.to_h if @sepa_direct_debit_payment_method_specific_output
47
+ hash
48
+ end
49
+
50
+ def from_hash(hash)
51
+ super
52
+ if hash.key? 'amountOfMoney'
53
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
54
+ @amount_of_money = OnlinePayments::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
55
+ end
56
+ @amount_paid = hash['amountPaid'] if hash.key? 'amountPaid'
57
+ if hash.key? 'cardPaymentMethodSpecificOutput'
58
+ raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificOutput']] unless hash['cardPaymentMethodSpecificOutput'].is_a? Hash
59
+ @card_payment_method_specific_output = OnlinePayments::SDK::Domain::CardPaymentMethodSpecificOutput.new_from_hash(hash['cardPaymentMethodSpecificOutput'])
60
+ end
61
+ @merchant_parameters = hash['merchantParameters'] if hash.key? 'merchantParameters'
62
+ if hash.key? 'mobilePaymentMethodSpecificOutput'
63
+ raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificOutput']] unless hash['mobilePaymentMethodSpecificOutput'].is_a? Hash
64
+ @mobile_payment_method_specific_output = OnlinePayments::SDK::Domain::MobilePaymentMethodSpecificOutput.new_from_hash(hash['mobilePaymentMethodSpecificOutput'])
65
+ end
66
+ @payment_method = hash['paymentMethod'] if hash.key? 'paymentMethod'
67
+ if hash.key? 'redirectPaymentMethodSpecificOutput'
68
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectPaymentMethodSpecificOutput']] unless hash['redirectPaymentMethodSpecificOutput'].is_a? Hash
69
+ @redirect_payment_method_specific_output = OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificOutput.new_from_hash(hash['redirectPaymentMethodSpecificOutput'])
70
+ end
71
+ if hash.key? 'references'
72
+ raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
73
+ @references = OnlinePayments::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
74
+ end
75
+ if hash.key? 'sepaDirectDebitPaymentMethodSpecificOutput'
76
+ raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebitPaymentMethodSpecificOutput']] unless hash['sepaDirectDebitPaymentMethodSpecificOutput'].is_a? Hash
77
+ @sepa_direct_debit_payment_method_specific_output = OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificOutput.new_from_hash(hash['sepaDirectDebitPaymentMethodSpecificOutput'])
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,102 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/account_on_file'
6
+ require 'onlinepayments/sdk/domain/payment_product302_specific_data'
7
+ require 'onlinepayments/sdk/domain/payment_product320_specific_data'
8
+ require 'onlinepayments/sdk/domain/payment_product_display_hints'
9
+ require 'onlinepayments/sdk/domain/payment_product_field'
10
+
11
+ module OnlinePayments::SDK
12
+ module Domain
13
+
14
+ # @attr [Array<OnlinePayments::SDK::Domain::AccountOnFile>] accounts_on_file
15
+ # @attr [true/false] allows_recurring
16
+ # @attr [true/false] allows_tokenization
17
+ # @attr [OnlinePayments::SDK::Domain::PaymentProductDisplayHints] display_hints
18
+ # @attr [Array<OnlinePayments::SDK::Domain::PaymentProductDisplayHints>] display_hints_list
19
+ # @attr [Array<OnlinePayments::SDK::Domain::PaymentProductField>] fields
20
+ # @attr [Integer] id
21
+ # @attr [String] payment_method
22
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct302SpecificData] payment_product302_specific_data
23
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct320SpecificData] payment_product320_specific_data
24
+ # @attr [String] payment_product_group
25
+ # @attr [true/false] uses_redirection_to3rd_party
26
+ class PaymentProduct < OnlinePayments::SDK::DataObject
27
+ attr_accessor :accounts_on_file
28
+ attr_accessor :allows_recurring
29
+ attr_accessor :allows_tokenization
30
+ attr_accessor :display_hints
31
+ attr_accessor :display_hints_list
32
+ attr_accessor :fields
33
+ attr_accessor :id
34
+ attr_accessor :payment_method
35
+ attr_accessor :payment_product302_specific_data
36
+ attr_accessor :payment_product320_specific_data
37
+ attr_accessor :payment_product_group
38
+ attr_accessor :uses_redirection_to3rd_party
39
+
40
+ # @return (Hash)
41
+ def to_h
42
+ hash = super
43
+ hash['accountsOnFile'] = @accounts_on_file.collect(&:to_h) if @accounts_on_file
44
+ hash['allowsRecurring'] = @allows_recurring unless @allows_recurring.nil?
45
+ hash['allowsTokenization'] = @allows_tokenization unless @allows_tokenization.nil?
46
+ hash['displayHints'] = @display_hints.to_h if @display_hints
47
+ hash['displayHintsList'] = @display_hints_list.collect(&:to_h) if @display_hints_list
48
+ hash['fields'] = @fields.collect(&:to_h) if @fields
49
+ hash['id'] = @id unless @id.nil?
50
+ hash['paymentMethod'] = @payment_method unless @payment_method.nil?
51
+ hash['paymentProduct302SpecificData'] = @payment_product302_specific_data.to_h if @payment_product302_specific_data
52
+ hash['paymentProduct320SpecificData'] = @payment_product320_specific_data.to_h if @payment_product320_specific_data
53
+ hash['paymentProductGroup'] = @payment_product_group unless @payment_product_group.nil?
54
+ hash['usesRedirectionTo3rdParty'] = @uses_redirection_to3rd_party unless @uses_redirection_to3rd_party.nil?
55
+ hash
56
+ end
57
+
58
+ def from_hash(hash)
59
+ super
60
+ if hash.key? 'accountsOnFile'
61
+ raise TypeError, "value '%s' is not an Array" % [hash['accountsOnFile']] unless hash['accountsOnFile'].is_a? Array
62
+ @accounts_on_file = []
63
+ hash['accountsOnFile'].each do |e|
64
+ @accounts_on_file << OnlinePayments::SDK::Domain::AccountOnFile.new_from_hash(e)
65
+ end
66
+ end
67
+ @allows_recurring = hash['allowsRecurring'] if hash.key? 'allowsRecurring'
68
+ @allows_tokenization = hash['allowsTokenization'] if hash.key? 'allowsTokenization'
69
+ if hash.key? 'displayHints'
70
+ raise TypeError, "value '%s' is not a Hash" % [hash['displayHints']] unless hash['displayHints'].is_a? Hash
71
+ @display_hints = OnlinePayments::SDK::Domain::PaymentProductDisplayHints.new_from_hash(hash['displayHints'])
72
+ end
73
+ if hash.key? 'displayHintsList'
74
+ raise TypeError, "value '%s' is not an Array" % [hash['displayHintsList']] unless hash['displayHintsList'].is_a? Array
75
+ @display_hints_list = []
76
+ hash['displayHintsList'].each do |e|
77
+ @display_hints_list << OnlinePayments::SDK::Domain::PaymentProductDisplayHints.new_from_hash(e)
78
+ end
79
+ end
80
+ if hash.key? 'fields'
81
+ raise TypeError, "value '%s' is not an Array" % [hash['fields']] unless hash['fields'].is_a? Array
82
+ @fields = []
83
+ hash['fields'].each do |e|
84
+ @fields << OnlinePayments::SDK::Domain::PaymentProductField.new_from_hash(e)
85
+ end
86
+ end
87
+ @id = hash['id'] if hash.key? 'id'
88
+ @payment_method = hash['paymentMethod'] if hash.key? 'paymentMethod'
89
+ if hash.key? 'paymentProduct302SpecificData'
90
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct302SpecificData']] unless hash['paymentProduct302SpecificData'].is_a? Hash
91
+ @payment_product302_specific_data = OnlinePayments::SDK::Domain::PaymentProduct302SpecificData.new_from_hash(hash['paymentProduct302SpecificData'])
92
+ end
93
+ if hash.key? 'paymentProduct320SpecificData'
94
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct320SpecificData']] unless hash['paymentProduct320SpecificData'].is_a? Hash
95
+ @payment_product320_specific_data = OnlinePayments::SDK::Domain::PaymentProduct320SpecificData.new_from_hash(hash['paymentProduct320SpecificData'])
96
+ end
97
+ @payment_product_group = hash['paymentProductGroup'] if hash.key? 'paymentProductGroup'
98
+ @uses_redirection_to3rd_party = hash['usesRedirectionTo3rdParty'] if hash.key? 'usesRedirectionTo3rdParty'
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,30 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/payment_product130_specific_three_d_secure'
6
+
7
+ module OnlinePayments::SDK
8
+ module Domain
9
+
10
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct130SpecificThreeDSecure] three_d_secure
11
+ class PaymentProduct130SpecificInput < 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::PaymentProduct130SpecificThreeDSecure.new_from_hash(hash['threeDSecure'])
26
+ end
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
+
6
+ module OnlinePayments::SDK
7
+ module Domain
8
+
9
+ # @attr [true/false] acquirer_exemption
10
+ # @attr [String] merchant_score
11
+ # @attr [Integer] number_of_items
12
+ # @attr [String] usecase
13
+ class PaymentProduct130SpecificThreeDSecure < OnlinePayments::SDK::DataObject
14
+ attr_accessor :acquirer_exemption
15
+ attr_accessor :merchant_score
16
+ attr_accessor :number_of_items
17
+ attr_accessor :usecase
18
+
19
+ # @return (Hash)
20
+ def to_h
21
+ hash = super
22
+ hash['acquirerExemption'] = @acquirer_exemption unless @acquirer_exemption.nil?
23
+ hash['merchantScore'] = @merchant_score unless @merchant_score.nil?
24
+ hash['numberOfItems'] = @number_of_items unless @number_of_items.nil?
25
+ hash['usecase'] = @usecase unless @usecase.nil?
26
+ hash
27
+ end
28
+
29
+ def from_hash(hash)
30
+ super
31
+ @acquirer_exemption = hash['acquirerExemption'] if hash.key? 'acquirerExemption'
32
+ @merchant_score = hash['merchantScore'] if hash.key? 'merchantScore'
33
+ @number_of_items = hash['numberOfItems'] if hash.key? 'numberOfItems'
34
+ @usecase = hash['usecase'] if hash.key? 'usecase'
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,32 @@
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 [Array<String>] networks
10
+ class PaymentProduct302SpecificData < OnlinePayments::SDK::DataObject
11
+ attr_accessor :networks
12
+
13
+ # @return (Hash)
14
+ def to_h
15
+ hash = super
16
+ hash['networks'] = @networks unless @networks.nil?
17
+ hash
18
+ end
19
+
20
+ def from_hash(hash)
21
+ super
22
+ if hash.key? 'networks'
23
+ raise TypeError, "value '%s' is not an Array" % [hash['networks']] unless hash['networks'].is_a? Array
24
+ @networks = []
25
+ hash['networks'].each do |e|
26
+ @networks << e
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,36 @@
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] gateway
10
+ # @attr [Array<String>] networks
11
+ class PaymentProduct320SpecificData < OnlinePayments::SDK::DataObject
12
+ attr_accessor :gateway
13
+ attr_accessor :networks
14
+
15
+ # @return (Hash)
16
+ def to_h
17
+ hash = super
18
+ hash['gateway'] = @gateway unless @gateway.nil?
19
+ hash['networks'] = @networks unless @networks.nil?
20
+ hash
21
+ end
22
+
23
+ def from_hash(hash)
24
+ super
25
+ @gateway = hash['gateway'] if hash.key? 'gateway'
26
+ if hash.key? 'networks'
27
+ raise TypeError, "value '%s' is not an Array" % [hash['networks']] unless hash['networks'].is_a? Array
28
+ @networks = []
29
+ hash['networks'].each do |e|
30
+ @networks << e
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,26 @@
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] brand
10
+ class PaymentProduct5100SpecificInput < OnlinePayments::SDK::DataObject
11
+ attr_accessor :brand
12
+
13
+ # @return (Hash)
14
+ def to_h
15
+ hash = super
16
+ hash['brand'] = @brand unless @brand.nil?
17
+ hash
18
+ end
19
+
20
+ def from_hash(hash)
21
+ super
22
+ @brand = hash['brand'] if hash.key? 'brand'
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
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] brand
10
+ class PaymentProduct5402SpecificOutput < OnlinePayments::SDK::DataObject
11
+ attr_accessor :brand
12
+
13
+ # @return (Hash)
14
+ def to_h
15
+ hash = super
16
+ hash['brand'] = @brand unless @brand.nil?
17
+ hash
18
+ end
19
+
20
+ def from_hash(hash)
21
+ super
22
+ @brand = hash['brand'] if hash.key? 'brand'
23
+ end
24
+ end
25
+ end
26
+ 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] payment_end_date
10
+ # @attr [String] payment_reference
11
+ # @attr [String] payment_start_date
12
+ class PaymentProduct5500SpecificOutput < OnlinePayments::SDK::DataObject
13
+ attr_accessor :payment_end_date
14
+ attr_accessor :payment_reference
15
+ attr_accessor :payment_start_date
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['paymentEndDate'] = @payment_end_date unless @payment_end_date.nil?
21
+ hash['paymentReference'] = @payment_reference unless @payment_reference.nil?
22
+ hash['paymentStartDate'] = @payment_start_date unless @payment_start_date.nil?
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ @payment_end_date = hash['paymentEndDate'] if hash.key? 'paymentEndDate'
29
+ @payment_reference = hash['paymentReference'] if hash.key? 'paymentReference'
30
+ @payment_start_date = hash['paymentStartDate'] if hash.key? 'paymentStartDate'
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,26 @@
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] mandate_reference
10
+ class PaymentProduct771SpecificOutput < OnlinePayments::SDK::DataObject
11
+ attr_accessor :mandate_reference
12
+
13
+ # @return (Hash)
14
+ def to_h
15
+ hash = super
16
+ hash['mandateReference'] = @mandate_reference unless @mandate_reference.nil?
17
+ hash
18
+ end
19
+
20
+ def from_hash(hash)
21
+ super
22
+ @mandate_reference = hash['mandateReference'] if hash.key? 'mandateReference'
23
+ end
24
+ end
25
+ end
26
+ 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 [String] account_id
10
+ # @attr [String] company_name
11
+ # @attr [String] country_code
12
+ # @attr [String] customer_account_status
13
+ # @attr [String] customer_address_status
14
+ # @attr [String] first_name
15
+ # @attr [String] payer_id
16
+ # @attr [String] surname
17
+ class PaymentProduct840CustomerAccount < OnlinePayments::SDK::DataObject
18
+ attr_accessor :account_id
19
+ attr_accessor :company_name
20
+ attr_accessor :country_code
21
+ attr_accessor :customer_account_status
22
+ attr_accessor :customer_address_status
23
+ attr_accessor :first_name
24
+ attr_accessor :payer_id
25
+ attr_accessor :surname
26
+
27
+ # @return (Hash)
28
+ def to_h
29
+ hash = super
30
+ hash['accountId'] = @account_id unless @account_id.nil?
31
+ hash['companyName'] = @company_name unless @company_name.nil?
32
+ hash['countryCode'] = @country_code unless @country_code.nil?
33
+ hash['customerAccountStatus'] = @customer_account_status unless @customer_account_status.nil?
34
+ hash['customerAddressStatus'] = @customer_address_status unless @customer_address_status.nil?
35
+ hash['firstName'] = @first_name unless @first_name.nil?
36
+ hash['payerId'] = @payer_id unless @payer_id.nil?
37
+ hash['surname'] = @surname unless @surname.nil?
38
+ hash
39
+ end
40
+
41
+ def from_hash(hash)
42
+ super
43
+ @account_id = hash['accountId'] if hash.key? 'accountId'
44
+ @company_name = hash['companyName'] if hash.key? 'companyName'
45
+ @country_code = hash['countryCode'] if hash.key? 'countryCode'
46
+ @customer_account_status = hash['customerAccountStatus'] if hash.key? 'customerAccountStatus'
47
+ @customer_address_status = hash['customerAddressStatus'] if hash.key? 'customerAddressStatus'
48
+ @first_name = hash['firstName'] if hash.key? 'firstName'
49
+ @payer_id = hash['payerId'] if hash.key? 'payerId'
50
+ @surname = hash['surname'] if hash.key? 'surname'
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,53 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/address'
6
+ require 'onlinepayments/sdk/domain/payment_product840_customer_account'
7
+ require 'onlinepayments/sdk/domain/protection_eligibility'
8
+
9
+ module OnlinePayments::SDK
10
+ module Domain
11
+
12
+ # @attr [OnlinePayments::SDK::Domain::Address] billing_address
13
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct840CustomerAccount] customer_account
14
+ # @attr [OnlinePayments::SDK::Domain::Address] customer_address
15
+ # @attr [OnlinePayments::SDK::Domain::ProtectionEligibility] protection_eligibility
16
+ class PaymentProduct840SpecificOutput < OnlinePayments::SDK::DataObject
17
+ attr_accessor :billing_address
18
+ attr_accessor :customer_account
19
+ attr_accessor :customer_address
20
+ attr_accessor :protection_eligibility
21
+
22
+ # @return (Hash)
23
+ def to_h
24
+ hash = super
25
+ hash['billingAddress'] = @billing_address.to_h if @billing_address
26
+ hash['customerAccount'] = @customer_account.to_h if @customer_account
27
+ hash['customerAddress'] = @customer_address.to_h if @customer_address
28
+ hash['protectionEligibility'] = @protection_eligibility.to_h if @protection_eligibility
29
+ hash
30
+ end
31
+
32
+ def from_hash(hash)
33
+ super
34
+ if hash.key? 'billingAddress'
35
+ raise TypeError, "value '%s' is not a Hash" % [hash['billingAddress']] unless hash['billingAddress'].is_a? Hash
36
+ @billing_address = OnlinePayments::SDK::Domain::Address.new_from_hash(hash['billingAddress'])
37
+ end
38
+ if hash.key? 'customerAccount'
39
+ raise TypeError, "value '%s' is not a Hash" % [hash['customerAccount']] unless hash['customerAccount'].is_a? Hash
40
+ @customer_account = OnlinePayments::SDK::Domain::PaymentProduct840CustomerAccount.new_from_hash(hash['customerAccount'])
41
+ end
42
+ if hash.key? 'customerAddress'
43
+ raise TypeError, "value '%s' is not a Hash" % [hash['customerAddress']] unless hash['customerAddress'].is_a? Hash
44
+ @customer_address = OnlinePayments::SDK::Domain::Address.new_from_hash(hash['customerAddress'])
45
+ end
46
+ if hash.key? 'protectionEligibility'
47
+ raise TypeError, "value '%s' is not a Hash" % [hash['protectionEligibility']] unless hash['protectionEligibility'].is_a? Hash
48
+ @protection_eligibility = OnlinePayments::SDK::Domain::ProtectionEligibility.new_from_hash(hash['protectionEligibility'])
49
+ end
50
+ end
51
+ end
52
+ end
53
+ 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 [Integer] display_order
10
+ # @attr [String] label
11
+ # @attr [String] logo
12
+ class PaymentProductDisplayHints < OnlinePayments::SDK::DataObject
13
+ attr_accessor :display_order
14
+ attr_accessor :label
15
+ attr_accessor :logo
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['displayOrder'] = @display_order unless @display_order.nil?
21
+ hash['label'] = @label unless @label.nil?
22
+ hash['logo'] = @logo unless @logo.nil?
23
+ hash
24
+ end
25
+
26
+ def from_hash(hash)
27
+ super
28
+ @display_order = hash['displayOrder'] if hash.key? 'displayOrder'
29
+ @label = hash['label'] if hash.key? 'label'
30
+ @logo = hash['logo'] if hash.key? 'logo'
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/payment_product_field_data_restrictions'
6
+ require 'onlinepayments/sdk/domain/payment_product_field_display_hints'
7
+
8
+ module OnlinePayments::SDK
9
+ module Domain
10
+
11
+ # @attr [OnlinePayments::SDK::Domain::PaymentProductFieldDataRestrictions] data_restrictions
12
+ # @attr [OnlinePayments::SDK::Domain::PaymentProductFieldDisplayHints] display_hints
13
+ # @attr [String] id
14
+ # @attr [String] type
15
+ class PaymentProductField < OnlinePayments::SDK::DataObject
16
+ attr_accessor :data_restrictions
17
+ attr_accessor :display_hints
18
+ attr_accessor :id
19
+ attr_accessor :type
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['dataRestrictions'] = @data_restrictions.to_h if @data_restrictions
25
+ hash['displayHints'] = @display_hints.to_h if @display_hints
26
+ hash['id'] = @id unless @id.nil?
27
+ hash['type'] = @type unless @type.nil?
28
+ hash
29
+ end
30
+
31
+ def from_hash(hash)
32
+ super
33
+ if hash.key? 'dataRestrictions'
34
+ raise TypeError, "value '%s' is not a Hash" % [hash['dataRestrictions']] unless hash['dataRestrictions'].is_a? Hash
35
+ @data_restrictions = OnlinePayments::SDK::Domain::PaymentProductFieldDataRestrictions.new_from_hash(hash['dataRestrictions'])
36
+ end
37
+ if hash.key? 'displayHints'
38
+ raise TypeError, "value '%s' is not a Hash" % [hash['displayHints']] unless hash['displayHints'].is_a? Hash
39
+ @display_hints = OnlinePayments::SDK::Domain::PaymentProductFieldDisplayHints.new_from_hash(hash['displayHints'])
40
+ end
41
+ @id = hash['id'] if hash.key? 'id'
42
+ @type = hash['type'] if hash.key? 'type'
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # This class was auto-generated.
3
+ #
4
+ require 'onlinepayments/sdk/data_object'
5
+ require 'onlinepayments/sdk/domain/payment_product_field_validators'
6
+
7
+ module OnlinePayments::SDK
8
+ module Domain
9
+
10
+ # @attr [true/false] is_required
11
+ # @attr [OnlinePayments::SDK::Domain::PaymentProductFieldValidators] validators
12
+ class PaymentProductFieldDataRestrictions < OnlinePayments::SDK::DataObject
13
+ attr_accessor :is_required
14
+ attr_accessor :validators
15
+
16
+ # @return (Hash)
17
+ def to_h
18
+ hash = super
19
+ hash['isRequired'] = @is_required unless @is_required.nil?
20
+ hash['validators'] = @validators.to_h if @validators
21
+ hash
22
+ end
23
+
24
+ def from_hash(hash)
25
+ super
26
+ @is_required = hash['isRequired'] if hash.key? 'isRequired'
27
+ if hash.key? 'validators'
28
+ raise TypeError, "value '%s' is not a Hash" % [hash['validators']] unless hash['validators'].is_a? Hash
29
+ @validators = OnlinePayments::SDK::Domain::PaymentProductFieldValidators.new_from_hash(hash['validators'])
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end