onlinepayments-sdk-ruby 4.23.0 → 5.1.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 (414) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -0
  3. data/LICENSE.txt +0 -0
  4. data/README.md +5 -6
  5. data/Rakefile +0 -0
  6. data/lib/onlinepayments/sdk/api_exception.rb +47 -35
  7. data/lib/onlinepayments/sdk/api_resource.rb +49 -97
  8. data/lib/onlinepayments/sdk/authentication/authenticator.rb +19 -0
  9. data/lib/onlinepayments/sdk/authentication/authorization_type.rb +15 -0
  10. data/lib/onlinepayments/sdk/authentication/v1hmac_authenticator.rb +109 -0
  11. data/lib/onlinepayments/sdk/authentication.rb +1 -0
  12. data/lib/onlinepayments/sdk/authorization_exception.rb +14 -8
  13. data/lib/onlinepayments/sdk/call_context.rb +30 -21
  14. data/lib/onlinepayments/sdk/client.rb +36 -18
  15. data/lib/onlinepayments/sdk/communication/communication_exception.rb +19 -0
  16. data/lib/onlinepayments/sdk/communication/connection.rb +48 -0
  17. data/lib/onlinepayments/sdk/communication/default_connection.rb +427 -0
  18. data/lib/onlinepayments/sdk/communication/metadata_provider.rb +160 -0
  19. data/lib/onlinepayments/sdk/communication/multipart_form_data_object.rb +52 -0
  20. data/lib/onlinepayments/sdk/communication/multipart_form_data_request.rb +13 -0
  21. data/lib/onlinepayments/sdk/communication/not_found_exception.rb +19 -0
  22. data/lib/onlinepayments/sdk/communication/param_request.rb +14 -0
  23. data/lib/onlinepayments/sdk/communication/pooled_connection.rb +26 -0
  24. data/lib/onlinepayments/sdk/communication/request_header.rb +62 -0
  25. data/lib/onlinepayments/sdk/communication/request_param.rb +28 -0
  26. data/lib/onlinepayments/sdk/communication/response_exception.rb +56 -0
  27. data/lib/onlinepayments/sdk/communication/response_header.rb +78 -0
  28. data/lib/onlinepayments/sdk/communication.rb +1 -0
  29. data/lib/onlinepayments/sdk/communicator.rb +475 -268
  30. data/lib/onlinepayments/sdk/communicator_configuration.rb +162 -53
  31. data/lib/onlinepayments/sdk/declined_payment_exception.rb +28 -21
  32. data/lib/onlinepayments/sdk/declined_payout_exception.rb +28 -23
  33. data/lib/onlinepayments/sdk/declined_refund_exception.rb +28 -23
  34. data/lib/onlinepayments/sdk/declined_transaction_exception.rb +16 -10
  35. data/lib/onlinepayments/sdk/domain/account_on_file.rb +44 -35
  36. data/lib/onlinepayments/sdk/domain/account_on_file_attribute.rb +42 -28
  37. data/lib/onlinepayments/sdk/domain/account_on_file_display_hints.rb +29 -24
  38. data/lib/onlinepayments/sdk/domain/acquirer_information.rb +27 -22
  39. data/lib/onlinepayments/sdk/domain/acquirer_selection_information.rb +34 -24
  40. data/lib/onlinepayments/sdk/domain/additional_order_input.rb +43 -38
  41. data/lib/onlinepayments/sdk/domain/address.rb +65 -43
  42. data/lib/onlinepayments/sdk/domain/address_personal.rb +78 -52
  43. data/lib/onlinepayments/sdk/domain/airline_data.rb +204 -123
  44. data/lib/onlinepayments/sdk/domain/airline_flight_leg.rb +158 -95
  45. data/lib/onlinepayments/sdk/domain/airline_passenger.rb +59 -39
  46. data/lib/onlinepayments/sdk/domain/amount_breakdown.rb +27 -20
  47. data/lib/onlinepayments/sdk/domain/amount_of_money.rb +27 -20
  48. data/lib/onlinepayments/sdk/domain/api_error.rb +73 -47
  49. data/lib/onlinepayments/sdk/domain/apple_pay_line_item.rb +72 -0
  50. data/lib/onlinepayments/sdk/domain/apple_pay_recurring_payment_request.rb +61 -0
  51. data/lib/onlinepayments/sdk/domain/bank_account_iban.rb +20 -16
  52. data/lib/onlinepayments/sdk/domain/browser_data.rb +51 -35
  53. data/lib/onlinepayments/sdk/domain/calculate_surcharge_request.rb +27 -24
  54. data/lib/onlinepayments/sdk/domain/calculate_surcharge_response.rb +22 -20
  55. data/lib/onlinepayments/sdk/domain/cancel_payment_request.rb +27 -22
  56. data/lib/onlinepayments/sdk/domain/cancel_payment_response.rb +20 -18
  57. data/lib/onlinepayments/sdk/domain/capture.rb +41 -32
  58. data/lib/onlinepayments/sdk/domain/capture_output.rb +106 -78
  59. data/lib/onlinepayments/sdk/domain/capture_payment_request.rb +43 -26
  60. data/lib/onlinepayments/sdk/domain/capture_response.rb +41 -32
  61. data/lib/onlinepayments/sdk/domain/capture_status_output.rb +20 -16
  62. data/lib/onlinepayments/sdk/domain/captures_response.rb +22 -20
  63. data/lib/onlinepayments/sdk/domain/card.rb +41 -28
  64. data/lib/onlinepayments/sdk/domain/card_essentials.rb +41 -28
  65. data/lib/onlinepayments/sdk/domain/card_fraud_results.rb +34 -24
  66. data/lib/onlinepayments/sdk/domain/card_info.rb +27 -20
  67. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input.rb +199 -128
  68. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input_base.rb +149 -104
  69. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.rb +36 -28
  70. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_output.rb +142 -100
  71. data/lib/onlinepayments/sdk/domain/card_payout_method_specific_input.rb +41 -30
  72. data/lib/onlinepayments/sdk/domain/card_recurrence_details.rb +20 -16
  73. data/lib/onlinepayments/sdk/domain/card_source.rb +41 -30
  74. data/lib/onlinepayments/sdk/domain/card_without_cvv.rb +34 -24
  75. data/lib/onlinepayments/sdk/domain/company_information.rb +20 -16
  76. data/lib/onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.rb +20 -18
  77. data/lib/onlinepayments/sdk/domain/complete_payment_request.rb +27 -24
  78. data/lib/onlinepayments/sdk/domain/complete_payment_response.rb +35 -31
  79. data/lib/onlinepayments/sdk/domain/contact_details.rb +51 -35
  80. data/lib/onlinepayments/sdk/domain/create_hosted_checkout_request.rb +76 -59
  81. data/lib/onlinepayments/sdk/domain/create_hosted_checkout_response.rb +60 -43
  82. data/lib/onlinepayments/sdk/domain/create_hosted_tokenization_request.rb +57 -42
  83. data/lib/onlinepayments/sdk/domain/create_hosted_tokenization_response.rb +57 -44
  84. data/lib/onlinepayments/sdk/domain/create_mandate_request.rb +71 -48
  85. data/lib/onlinepayments/sdk/domain/create_mandate_response.rb +27 -24
  86. data/lib/onlinepayments/sdk/domain/create_mandate_with_return_url.rb +71 -48
  87. data/lib/onlinepayments/sdk/domain/create_payment_link_request.rb +127 -87
  88. data/lib/onlinepayments/sdk/domain/create_payment_request.rb +82 -60
  89. data/lib/onlinepayments/sdk/domain/create_payment_response.rb +35 -31
  90. data/lib/onlinepayments/sdk/domain/create_payout_request.rb +61 -40
  91. data/lib/onlinepayments/sdk/domain/create_token_request.rb +27 -22
  92. data/lib/onlinepayments/sdk/domain/created_payment_output.rb +27 -22
  93. data/lib/onlinepayments/sdk/domain/created_token_response.rb +50 -38
  94. data/lib/onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.rb +29 -26
  95. data/lib/onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.rb +27 -20
  96. data/lib/onlinepayments/sdk/domain/currency_conversion.rb +27 -22
  97. data/lib/onlinepayments/sdk/domain/currency_conversion_input.rb +27 -20
  98. data/lib/onlinepayments/sdk/domain/currency_conversion_request.rb +27 -24
  99. data/lib/onlinepayments/sdk/domain/currency_conversion_response.rb +34 -28
  100. data/lib/onlinepayments/sdk/domain/currency_conversion_result.rb +27 -20
  101. data/lib/onlinepayments/sdk/domain/currency_conversion_specific_input.rb +20 -16
  102. data/lib/onlinepayments/sdk/domain/customer.rb +87 -68
  103. data/lib/onlinepayments/sdk/domain/customer_account.rb +77 -55
  104. data/lib/onlinepayments/sdk/domain/customer_account_authentication.rb +34 -20
  105. data/lib/onlinepayments/sdk/domain/customer_bank_account.rb +34 -24
  106. data/lib/onlinepayments/sdk/domain/customer_device.rb +64 -44
  107. data/lib/onlinepayments/sdk/domain/customer_device_output.rb +20 -16
  108. data/lib/onlinepayments/sdk/domain/customer_output.rb +20 -18
  109. data/lib/onlinepayments/sdk/domain/customer_payment_activity.rb +34 -24
  110. data/lib/onlinepayments/sdk/domain/customer_token.rb +35 -31
  111. data/lib/onlinepayments/sdk/domain/data_object.rb +32 -0
  112. data/lib/onlinepayments/sdk/domain/dcc_card_source.rb +41 -30
  113. data/lib/onlinepayments/sdk/domain/dcc_proposal.rb +51 -41
  114. data/lib/onlinepayments/sdk/domain/decrypted_payment_data.rb +51 -35
  115. data/lib/onlinepayments/sdk/domain/directory_entry.rb +34 -24
  116. data/lib/onlinepayments/sdk/domain/discount.rb +20 -16
  117. data/lib/onlinepayments/sdk/domain/empty_validator.rb +7 -6
  118. data/lib/onlinepayments/sdk/domain/error_response.rb +29 -24
  119. data/lib/onlinepayments/sdk/domain/external_cardholder_authentication_data.rb +86 -55
  120. data/lib/onlinepayments/sdk/domain/external_token_linked.rb +35 -24
  121. data/lib/onlinepayments/sdk/domain/feedbacks.rb +42 -0
  122. data/lib/onlinepayments/sdk/domain/fixed_list_validator.rb +22 -20
  123. data/lib/onlinepayments/sdk/domain/fraud_fields.rb +37 -28
  124. data/lib/onlinepayments/sdk/domain/fraud_results.rb +20 -16
  125. data/lib/onlinepayments/sdk/domain/g_pay_three_d_secure.rb +50 -36
  126. data/lib/onlinepayments/sdk/domain/get_hosted_checkout_response.rb +27 -22
  127. data/lib/onlinepayments/sdk/domain/get_hosted_tokenization_response.rb +27 -22
  128. data/lib/onlinepayments/sdk/domain/get_iin_details_request.rb +27 -22
  129. data/lib/onlinepayments/sdk/domain/get_iin_details_response.rb +52 -38
  130. data/lib/onlinepayments/sdk/domain/get_mandate_response.rb +20 -18
  131. data/lib/onlinepayments/sdk/domain/get_payment_product_groups_response.rb +22 -20
  132. data/lib/onlinepayments/sdk/domain/get_payment_products_response.rb +22 -20
  133. data/lib/onlinepayments/sdk/domain/get_privacy_policy_response.rb +20 -16
  134. data/lib/onlinepayments/sdk/domain/gift_card_purchase.rb +27 -22
  135. data/lib/onlinepayments/sdk/domain/hosted_checkout_specific_input.rb +83 -56
  136. data/lib/onlinepayments/sdk/domain/hosted_checkout_specific_output.rb +27 -20
  137. data/lib/onlinepayments/sdk/domain/iin_detail.rb +34 -24
  138. data/lib/onlinepayments/sdk/domain/label_template_element.rb +27 -20
  139. data/lib/onlinepayments/sdk/domain/length_validator.rb +27 -20
  140. data/lib/onlinepayments/sdk/domain/line_item.rb +44 -31
  141. data/lib/onlinepayments/sdk/domain/line_item_invoice_data.rb +20 -16
  142. data/lib/onlinepayments/sdk/domain/loan_recipient.rb +51 -35
  143. data/lib/onlinepayments/sdk/domain/lodging_data.rb +20 -16
  144. data/lib/onlinepayments/sdk/domain/mandate_address.rb +51 -35
  145. data/lib/onlinepayments/sdk/domain/mandate_address_response.rb +51 -35
  146. data/lib/onlinepayments/sdk/domain/mandate_contact_details.rb +20 -16
  147. data/lib/onlinepayments/sdk/domain/mandate_customer.rb +52 -44
  148. data/lib/onlinepayments/sdk/domain/mandate_customer_response.rb +52 -44
  149. data/lib/onlinepayments/sdk/domain/mandate_merchant_action.rb +27 -22
  150. data/lib/onlinepayments/sdk/domain/mandate_personal_information.rb +27 -22
  151. data/lib/onlinepayments/sdk/domain/mandate_personal_information_response.rb +27 -22
  152. data/lib/onlinepayments/sdk/domain/mandate_personal_name.rb +27 -20
  153. data/lib/onlinepayments/sdk/domain/mandate_personal_name_response.rb +27 -20
  154. data/lib/onlinepayments/sdk/domain/mandate_redirect_data.rb +27 -20
  155. data/lib/onlinepayments/sdk/domain/mandate_response.rb +64 -44
  156. data/lib/onlinepayments/sdk/domain/merchant_action.rb +54 -30
  157. data/lib/onlinepayments/sdk/domain/mobile_payment_data.rb +27 -20
  158. data/lib/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.rb +43 -26
  159. data/lib/onlinepayments/sdk/domain/mobile_payment_method_specific_input.rb +71 -50
  160. data/lib/onlinepayments/sdk/domain/mobile_payment_method_specific_output.rb +58 -45
  161. data/lib/onlinepayments/sdk/domain/mobile_payment_product302_specific_input.rb +32 -0
  162. data/lib/onlinepayments/sdk/domain/mobile_payment_product320_specific_input.rb +20 -18
  163. data/lib/onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.rb +51 -0
  164. data/lib/onlinepayments/sdk/domain/multiple_payment_information.rb +27 -20
  165. data/lib/onlinepayments/sdk/domain/omnichannel_payout_specific_input.rb +20 -16
  166. data/lib/onlinepayments/sdk/domain/operation_output.rb +67 -45
  167. data/lib/onlinepayments/sdk/domain/operation_payment_references.rb +30 -0
  168. data/lib/onlinepayments/sdk/domain/order.rb +75 -66
  169. data/lib/onlinepayments/sdk/domain/order_line_details.rb +79 -47
  170. data/lib/onlinepayments/sdk/domain/order_references.rb +34 -24
  171. data/lib/onlinepayments/sdk/domain/order_status_output.rb +52 -38
  172. data/lib/onlinepayments/sdk/domain/order_type_information.rb +27 -20
  173. data/lib/onlinepayments/sdk/domain/other_details.rb +37 -0
  174. data/lib/onlinepayments/sdk/domain/payment_account_on_file.rb +27 -20
  175. data/lib/onlinepayments/sdk/domain/payment_context.rb +34 -26
  176. data/lib/onlinepayments/sdk/domain/payment_creation_output.rb +41 -28
  177. data/lib/onlinepayments/sdk/domain/payment_details_response.rb +60 -49
  178. data/lib/onlinepayments/sdk/domain/payment_error_response.rb +37 -31
  179. data/lib/onlinepayments/sdk/domain/payment_link_event.rb +34 -24
  180. data/lib/onlinepayments/sdk/domain/payment_link_order_input.rb +34 -28
  181. data/lib/onlinepayments/sdk/domain/payment_link_order_output.rb +34 -28
  182. data/lib/onlinepayments/sdk/domain/payment_link_response.rb +81 -51
  183. data/lib/onlinepayments/sdk/domain/payment_link_specific_input.rb +36 -24
  184. data/lib/onlinepayments/sdk/domain/payment_output.rb +115 -94
  185. data/lib/onlinepayments/sdk/domain/payment_product.rb +117 -85
  186. data/lib/onlinepayments/sdk/domain/payment_product130_specific_input.rb +20 -18
  187. data/lib/onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.rb +41 -28
  188. data/lib/onlinepayments/sdk/domain/payment_product3012.rb +27 -20
  189. data/lib/onlinepayments/sdk/domain/payment_product3012_specific_input.rb +51 -0
  190. data/lib/onlinepayments/sdk/domain/payment_product302_specific_data.rb +22 -20
  191. data/lib/onlinepayments/sdk/domain/payment_product3203_specific_output.rb +27 -24
  192. data/lib/onlinepayments/sdk/domain/payment_product3208_specific_input.rb +20 -16
  193. data/lib/onlinepayments/sdk/domain/payment_product3208_specific_output.rb +20 -16
  194. data/lib/onlinepayments/sdk/domain/payment_product3209_specific_input.rb +20 -16
  195. data/lib/onlinepayments/sdk/domain/payment_product3209_specific_output.rb +20 -16
  196. data/lib/onlinepayments/sdk/domain/payment_product320_specific_data.rb +29 -24
  197. data/lib/onlinepayments/sdk/domain/payment_product5001_specific_output.rb +48 -16
  198. data/lib/onlinepayments/sdk/domain/payment_product5100_specific_input.rb +20 -16
  199. data/lib/onlinepayments/sdk/domain/payment_product5402_specific_output.rb +20 -16
  200. data/lib/onlinepayments/sdk/domain/payment_product5404.rb +27 -20
  201. data/lib/onlinepayments/sdk/domain/payment_product5407.rb +27 -20
  202. data/lib/onlinepayments/sdk/domain/payment_product5500_specific_output.rb +41 -24
  203. data/lib/onlinepayments/sdk/domain/payment_product771_specific_output.rb +20 -16
  204. data/lib/onlinepayments/sdk/domain/payment_product840_customer_account.rb +72 -47
  205. data/lib/onlinepayments/sdk/domain/payment_product840_specific_output.rb +43 -38
  206. data/lib/onlinepayments/sdk/domain/payment_product_display_hints.rb +34 -24
  207. data/lib/onlinepayments/sdk/domain/payment_product_field.rb +41 -32
  208. data/lib/onlinepayments/sdk/domain/payment_product_field_data_restrictions.rb +27 -22
  209. data/lib/onlinepayments/sdk/domain/payment_product_field_display_element.rb +41 -28
  210. data/lib/onlinepayments/sdk/domain/payment_product_field_display_hints.rb +84 -56
  211. data/lib/onlinepayments/sdk/domain/payment_product_field_form_element.rb +30 -24
  212. data/lib/onlinepayments/sdk/domain/payment_product_field_tooltip.rb +28 -20
  213. data/lib/onlinepayments/sdk/domain/payment_product_field_validators.rb +83 -73
  214. data/lib/onlinepayments/sdk/domain/payment_product_filter.rb +32 -29
  215. data/lib/onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.rb +22 -20
  216. data/lib/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.rb +27 -24
  217. data/lib/onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.rb +27 -24
  218. data/lib/onlinepayments/sdk/domain/payment_product_group.rb +44 -37
  219. data/lib/onlinepayments/sdk/domain/payment_product_networks_response.rb +22 -20
  220. data/lib/onlinepayments/sdk/domain/payment_references.rb +27 -20
  221. data/lib/onlinepayments/sdk/domain/payment_response.rb +51 -41
  222. data/lib/onlinepayments/sdk/domain/payment_status_output.rb +66 -46
  223. data/lib/onlinepayments/sdk/domain/payout_error_response.rb +37 -31
  224. data/lib/onlinepayments/sdk/domain/payout_output.rb +27 -22
  225. data/lib/onlinepayments/sdk/domain/payout_response.rb +41 -32
  226. data/lib/onlinepayments/sdk/domain/payout_result.rb +41 -32
  227. data/lib/onlinepayments/sdk/domain/payout_status_output.rb +34 -24
  228. data/lib/onlinepayments/sdk/domain/personal_information.rb +34 -26
  229. data/lib/onlinepayments/sdk/domain/personal_information_token.rb +20 -18
  230. data/lib/onlinepayments/sdk/domain/personal_name.rb +34 -24
  231. data/lib/onlinepayments/sdk/domain/personal_name_token.rb +27 -20
  232. data/lib/onlinepayments/sdk/domain/product_directory.rb +22 -20
  233. data/lib/onlinepayments/sdk/domain/protection_eligibility.rb +27 -20
  234. data/lib/onlinepayments/sdk/domain/range_validator.rb +27 -20
  235. data/lib/onlinepayments/sdk/domain/rate_details.rb +51 -35
  236. data/lib/onlinepayments/sdk/domain/reattempt_instructions.rb +46 -0
  237. data/lib/onlinepayments/sdk/domain/reattempt_instructions_conditions.rb +37 -0
  238. data/lib/onlinepayments/sdk/domain/redirect_data.rb +27 -20
  239. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_input.rb +166 -88
  240. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_output.rb +95 -75
  241. data/lib/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.rb +20 -16
  242. data/lib/onlinepayments/sdk/domain/redirect_payment_product3204_specific_input.rb +30 -0
  243. data/lib/onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.rb +44 -0
  244. data/lib/onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.rb +20 -16
  245. data/lib/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.rb +27 -16
  246. data/lib/onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.rb +72 -0
  247. data/lib/onlinepayments/sdk/domain/redirect_payment_product5402_specific_input.rb +30 -0
  248. data/lib/onlinepayments/sdk/domain/redirect_payment_product5403_specific_input.rb +30 -0
  249. data/lib/onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.rb +20 -18
  250. data/lib/onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.rb +27 -22
  251. data/lib/onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.rb +32 -0
  252. data/lib/onlinepayments/sdk/domain/redirect_payment_product809_specific_input.rb +20 -16
  253. data/lib/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.rb +41 -20
  254. data/lib/onlinepayments/sdk/domain/redirection_data.rb +20 -16
  255. data/lib/onlinepayments/sdk/domain/refund_card_method_specific_output.rb +34 -26
  256. data/lib/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.rb +34 -26
  257. data/lib/onlinepayments/sdk/domain/refund_error_response.rb +37 -31
  258. data/lib/onlinepayments/sdk/domain/refund_mobile_method_specific_output.rb +34 -24
  259. data/lib/onlinepayments/sdk/domain/refund_output.rb +89 -64
  260. data/lib/onlinepayments/sdk/domain/refund_payment_product840_customer_account.rb +34 -24
  261. data/lib/onlinepayments/sdk/domain/refund_payment_product840_specific_output.rb +20 -18
  262. data/lib/onlinepayments/sdk/domain/refund_redirect_method_specific_output.rb +27 -20
  263. data/lib/onlinepayments/sdk/domain/refund_request.rb +43 -24
  264. data/lib/onlinepayments/sdk/domain/refund_response.rb +41 -32
  265. data/lib/onlinepayments/sdk/domain/refunds_response.rb +22 -20
  266. data/lib/onlinepayments/sdk/domain/regular_expression_validator.rb +20 -16
  267. data/lib/onlinepayments/sdk/domain/send_test_request.rb +30 -0
  268. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.rb +27 -22
  269. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.rb +27 -22
  270. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.rb +34 -28
  271. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.rb +27 -22
  272. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.rb +27 -22
  273. data/lib/onlinepayments/sdk/domain/session_request.rb +22 -20
  274. data/lib/onlinepayments/sdk/domain/session_response.rb +53 -39
  275. data/lib/onlinepayments/sdk/domain/shipping.rb +76 -52
  276. data/lib/onlinepayments/sdk/domain/shipping_method.rb +41 -28
  277. data/lib/onlinepayments/sdk/domain/shopping_cart.rb +62 -48
  278. data/lib/onlinepayments/sdk/domain/shopping_cart_extension.rb +51 -43
  279. data/lib/onlinepayments/sdk/domain/show_form_data.rb +35 -31
  280. data/lib/onlinepayments/sdk/domain/show_instructions_data.rb +30 -0
  281. data/lib/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.rb +60 -39
  282. data/lib/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.rb +20 -16
  283. data/lib/onlinepayments/sdk/domain/subsequent_payment_request.rb +35 -31
  284. data/lib/onlinepayments/sdk/domain/subsequent_payment_response.rb +20 -18
  285. data/lib/onlinepayments/sdk/domain/surcharge.rb +59 -48
  286. data/lib/onlinepayments/sdk/domain/surcharge_calculation_card.rb +27 -20
  287. data/lib/onlinepayments/sdk/domain/surcharge_for_payment_link.rb +20 -16
  288. data/lib/onlinepayments/sdk/domain/surcharge_rate.rb +41 -28
  289. data/lib/onlinepayments/sdk/domain/surcharge_specific_input.rb +27 -22
  290. data/lib/onlinepayments/sdk/domain/surcharge_specific_output.rb +34 -28
  291. data/lib/onlinepayments/sdk/domain/test_connection.rb +20 -16
  292. data/lib/onlinepayments/sdk/domain/three_d_secure.rb +98 -63
  293. data/lib/onlinepayments/sdk/domain/three_d_secure_base.rb +78 -52
  294. data/lib/onlinepayments/sdk/domain/three_d_secure_data.rb +34 -24
  295. data/lib/onlinepayments/sdk/domain/three_d_secure_results.rb +107 -67
  296. data/lib/onlinepayments/sdk/domain/token_card.rb +27 -22
  297. data/lib/onlinepayments/sdk/domain/token_card_data.rb +27 -18
  298. data/lib/onlinepayments/sdk/domain/token_card_specific_input.rb +20 -18
  299. data/lib/onlinepayments/sdk/domain/token_data.rb +27 -18
  300. data/lib/onlinepayments/sdk/domain/token_e_wallet.rb +28 -22
  301. data/lib/onlinepayments/sdk/domain/token_response.rb +58 -45
  302. data/lib/onlinepayments/sdk/domain/transaction.rb +20 -18
  303. data/lib/onlinepayments/sdk/domain/uploadable_file.rb +33 -0
  304. data/lib/onlinepayments/sdk/domain/validate_credentials_request.rb +37 -0
  305. data/lib/onlinepayments/sdk/domain/validate_credentials_response.rb +30 -0
  306. data/lib/onlinepayments/sdk/domain/value_mapping_element.rb +29 -24
  307. data/lib/onlinepayments/sdk/domain.rb +4 -0
  308. data/lib/onlinepayments/sdk/exception_factory.rb +76 -0
  309. data/lib/onlinepayments/sdk/factory.rb +163 -118
  310. data/lib/onlinepayments/sdk/idempotence_exception.rb +23 -19
  311. data/lib/onlinepayments/sdk/json/default_marshaller.rb +34 -0
  312. data/lib/onlinepayments/sdk/json/marshaller.rb +27 -0
  313. data/lib/onlinepayments/sdk/json/marshaller_syntax_exception.rb +9 -0
  314. data/lib/onlinepayments/sdk/json.rb +1 -0
  315. data/lib/onlinepayments/sdk/logging/communicator_logger.rb +18 -16
  316. data/lib/onlinepayments/sdk/logging/log_message_builder.rb +80 -47
  317. data/lib/onlinepayments/sdk/logging/logging_capable.rb +1 -1
  318. data/lib/onlinepayments/sdk/logging/obfuscation/body_obfuscator.rb +113 -0
  319. data/lib/onlinepayments/sdk/logging/obfuscation/header_obfuscator.rb +54 -0
  320. data/lib/onlinepayments/sdk/logging/obfuscation/obfuscation_capable.rb +21 -0
  321. data/lib/onlinepayments/sdk/logging/obfuscation/obfuscation_rule.rb +47 -0
  322. data/lib/onlinepayments/sdk/logging/obfuscation.rb +1 -0
  323. data/lib/onlinepayments/sdk/logging/request_log_message_builder.rb +40 -29
  324. data/lib/onlinepayments/sdk/logging/response_log_message_builder.rb +30 -23
  325. data/lib/onlinepayments/sdk/logging/ruby_communicator_logger.rb +49 -45
  326. data/lib/onlinepayments/sdk/logging/stdout_communicator_logger.rb +20 -23
  327. data/lib/onlinepayments/sdk/logging.rb +1 -10
  328. data/lib/onlinepayments/sdk/merchant/captures/captures_client.rb +57 -0
  329. data/lib/onlinepayments/sdk/merchant/captures.rb +4 -0
  330. data/lib/onlinepayments/sdk/merchant/complete/complete_client.rb +60 -0
  331. data/lib/onlinepayments/sdk/merchant/complete.rb +4 -0
  332. data/lib/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.rb +72 -71
  333. data/lib/onlinepayments/sdk/merchant/hostedcheckout.rb +4 -0
  334. data/lib/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.rb +72 -71
  335. data/lib/onlinepayments/sdk/merchant/hostedtokenization.rb +4 -0
  336. data/lib/onlinepayments/sdk/merchant/mandates/mandates_client.rb +165 -164
  337. data/lib/onlinepayments/sdk/merchant/mandates.rb +4 -0
  338. data/lib/onlinepayments/sdk/merchant/merchant_client.rb +116 -64
  339. data/lib/onlinepayments/sdk/merchant/paymentlinks/payment_links_client.rb +102 -101
  340. data/lib/onlinepayments/sdk/merchant/paymentlinks.rb +4 -0
  341. data/lib/onlinepayments/sdk/merchant/payments/payments_client.rb +233 -332
  342. data/lib/onlinepayments/sdk/merchant/payments.rb +4 -0
  343. data/lib/onlinepayments/sdk/merchant/payouts/payouts_client.rb +73 -71
  344. data/lib/onlinepayments/sdk/merchant/payouts.rb +4 -0
  345. data/lib/onlinepayments/sdk/merchant/privacypolicy/get_privacy_policy_params.rb +32 -0
  346. data/lib/onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.rb +54 -0
  347. data/lib/onlinepayments/sdk/merchant/privacypolicy.rb +4 -0
  348. data/lib/onlinepayments/sdk/merchant/productgroups/get_product_group_params.rb +50 -47
  349. data/lib/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.rb +50 -47
  350. data/lib/onlinepayments/sdk/merchant/productgroups/product_groups_client.rb +72 -72
  351. data/lib/onlinepayments/sdk/merchant/productgroups.rb +4 -0
  352. data/lib/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.rb +27 -25
  353. data/lib/onlinepayments/sdk/merchant/products/get_payment_product_params.rb +50 -47
  354. data/lib/onlinepayments/sdk/merchant/products/get_payment_products_params.rb +50 -47
  355. data/lib/onlinepayments/sdk/merchant/products/get_product_directory_params.rb +21 -19
  356. data/lib/onlinepayments/sdk/merchant/products/products_client.rb +134 -136
  357. data/lib/onlinepayments/sdk/merchant/products.rb +4 -0
  358. data/lib/onlinepayments/sdk/merchant/refunds/refunds_client.rb +57 -0
  359. data/lib/onlinepayments/sdk/merchant/refunds.rb +4 -0
  360. data/lib/onlinepayments/sdk/merchant/services/services_client.rb +124 -155
  361. data/lib/onlinepayments/sdk/merchant/services.rb +4 -0
  362. data/lib/onlinepayments/sdk/merchant/sessions/sessions_client.rb +42 -41
  363. data/lib/onlinepayments/sdk/merchant/sessions.rb +4 -0
  364. data/lib/onlinepayments/sdk/merchant/tokens/tokens_client.rb +101 -100
  365. data/lib/onlinepayments/sdk/merchant/tokens.rb +4 -0
  366. data/lib/onlinepayments/sdk/merchant/webhooks/webhooks_client.rb +83 -0
  367. data/lib/onlinepayments/sdk/merchant/webhooks.rb +4 -0
  368. data/lib/onlinepayments/sdk/merchant.rb +4 -0
  369. data/lib/onlinepayments/sdk/platform_exception.rb +19 -0
  370. data/lib/onlinepayments/sdk/proxy_configuration.rb +60 -60
  371. data/lib/onlinepayments/sdk/reference_exception.rb +14 -9
  372. data/lib/onlinepayments/sdk/validation_exception.rb +14 -9
  373. data/lib/onlinepayments/sdk/webhooks/api_version_mismatch_exception.rb +17 -15
  374. data/lib/onlinepayments/sdk/webhooks/in_memory_secret_key_store.rb +46 -43
  375. data/lib/onlinepayments/sdk/webhooks/secret_key_not_available_exception.rb +16 -12
  376. data/lib/onlinepayments/sdk/webhooks/secret_key_store.rb +13 -11
  377. data/lib/onlinepayments/sdk/webhooks/signature_validation_exception.rb +15 -14
  378. data/lib/onlinepayments/sdk/webhooks/signature_validator.rb +81 -0
  379. data/lib/onlinepayments/sdk/webhooks/webhooks_event.rb +84 -53
  380. data/lib/onlinepayments/sdk/webhooks/webhooks_helper.rb +28 -90
  381. data/lib/onlinepayments/sdk/webhooks.rb +1 -11
  382. data/lib/onlinepayments/sdk.rb +4 -26
  383. data/onlinepayments-sdk-ruby.gemspec +3 -2
  384. metadata +95 -35
  385. data/lib/onlinepayments/sdk/authenticator.rb +0 -16
  386. data/lib/onlinepayments/sdk/communication_exception.rb +0 -16
  387. data/lib/onlinepayments/sdk/connection.rb +0 -41
  388. data/lib/onlinepayments/sdk/data_object.rb +0 -31
  389. data/lib/onlinepayments/sdk/defaultimpl/authorization_type.rb +0 -24
  390. data/lib/onlinepayments/sdk/defaultimpl/default_authenticator.rb +0 -108
  391. data/lib/onlinepayments/sdk/defaultimpl/default_connection.rb +0 -365
  392. data/lib/onlinepayments/sdk/defaultimpl/default_marshaller.rb +0 -32
  393. data/lib/onlinepayments/sdk/defaultimpl.rb +0 -6
  394. data/lib/onlinepayments/sdk/endpoint_configuration.rb +0 -127
  395. data/lib/onlinepayments/sdk/exceptions.rb +0 -8
  396. data/lib/onlinepayments/sdk/logging/logging_util.rb +0 -286
  397. data/lib/onlinepayments/sdk/marshaller.rb +0 -24
  398. data/lib/onlinepayments/sdk/marshaller_syntax_exception.rb +0 -6
  399. data/lib/onlinepayments/sdk/merchant/services/get_privacy_policy_params.rb +0 -30
  400. data/lib/onlinepayments/sdk/meta_data_provider.rb +0 -150
  401. data/lib/onlinepayments/sdk/modules.rb +0 -62
  402. data/lib/onlinepayments/sdk/multipart_form_data_object.rb +0 -44
  403. data/lib/onlinepayments/sdk/multipart_form_data_request.rb +0 -9
  404. data/lib/onlinepayments/sdk/not_found_exception.rb +0 -16
  405. data/lib/onlinepayments/sdk/param_request.rb +0 -11
  406. data/lib/onlinepayments/sdk/payment_platform_exception.rb +0 -15
  407. data/lib/onlinepayments/sdk/pooled_connection.rb +0 -21
  408. data/lib/onlinepayments/sdk/request_header.rb +0 -50
  409. data/lib/onlinepayments/sdk/request_param.rb +0 -23
  410. data/lib/onlinepayments/sdk/response_exception.rb +0 -47
  411. data/lib/onlinepayments/sdk/response_header.rb +0 -42
  412. data/lib/onlinepayments/sdk/uploadable_file.rb +0 -30
  413. data/lib/onlinepayments/sdk/webhooks/webhooks.rb +0 -22
  414. data/lib/onlinepayments/sdk/webhooks/webhooks_helper_builder.rb +0 -25
@@ -1,41 +1,57 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
5
-
6
- module OnlinePayments::SDK
7
- module Domain
8
-
9
- # @attr [Float] exchange_rate
10
- # @attr [Float] inverted_exchange_rate
11
- # @attr [Float] mark_up_rate
12
- # @attr [String] quotation_date_time
13
- # @attr [String] source
14
- class RateDetails < OnlinePayments::SDK::DataObject
15
- attr_accessor :exchange_rate
16
- attr_accessor :inverted_exchange_rate
17
- attr_accessor :mark_up_rate
18
- attr_accessor :quotation_date_time
19
- attr_accessor :source
20
-
21
- # @return (Hash)
22
- def to_h
23
- hash = super
24
- hash['exchangeRate'] = @exchange_rate unless @exchange_rate.nil?
25
- hash['invertedExchangeRate'] = @inverted_exchange_rate unless @inverted_exchange_rate.nil?
26
- hash['markUpRate'] = @mark_up_rate unless @mark_up_rate.nil?
27
- hash['quotationDateTime'] = @quotation_date_time unless @quotation_date_time.nil?
28
- hash['source'] = @source unless @source.nil?
29
- hash
30
- end
4
+ require 'onlinepayments/sdk/domain/data_object'
5
+
6
+ module OnlinePayments
7
+ module SDK
8
+ module Domain
9
+ # @attr [float] exchange_rate
10
+ # @attr [float] inverted_exchange_rate
11
+ # @attr [float] mark_up_rate
12
+ # @attr [String] quotation_date_time
13
+ # @attr [String] source
14
+ class RateDetails < OnlinePayments::SDK::Domain::DataObject
15
+
16
+ attr_accessor :exchange_rate
17
+
18
+ attr_accessor :inverted_exchange_rate
19
+
20
+ attr_accessor :mark_up_rate
21
+
22
+ attr_accessor :quotation_date_time
23
+
24
+ attr_accessor :source
25
+
26
+ # @return (Hash)
27
+ def to_h
28
+ hash = super
29
+ hash['exchangeRate'] = @exchange_rate unless @exchange_rate.nil?
30
+ hash['invertedExchangeRate'] = @inverted_exchange_rate unless @inverted_exchange_rate.nil?
31
+ hash['markUpRate'] = @mark_up_rate unless @mark_up_rate.nil?
32
+ hash['quotationDateTime'] = @quotation_date_time unless @quotation_date_time.nil?
33
+ hash['source'] = @source unless @source.nil?
34
+ hash
35
+ end
31
36
 
32
- def from_hash(hash)
33
- super
34
- @exchange_rate = hash['exchangeRate'] if hash.key? 'exchangeRate'
35
- @inverted_exchange_rate = hash['invertedExchangeRate'] if hash.key? 'invertedExchangeRate'
36
- @mark_up_rate = hash['markUpRate'] if hash.key? 'markUpRate'
37
- @quotation_date_time = hash['quotationDateTime'] if hash.key? 'quotationDateTime'
38
- @source = hash['source'] if hash.key? 'source'
37
+ def from_hash(hash)
38
+ super
39
+ if hash.has_key? 'exchangeRate'
40
+ @exchange_rate = hash['exchangeRate']
41
+ end
42
+ if hash.has_key? 'invertedExchangeRate'
43
+ @inverted_exchange_rate = hash['invertedExchangeRate']
44
+ end
45
+ if hash.has_key? 'markUpRate'
46
+ @mark_up_rate = hash['markUpRate']
47
+ end
48
+ if hash.has_key? 'quotationDateTime'
49
+ @quotation_date_time = hash['quotationDateTime']
50
+ end
51
+ if hash.has_key? 'source'
52
+ @source = hash['source']
53
+ end
54
+ end
39
55
  end
40
56
  end
41
57
  end
@@ -0,0 +1,46 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'onlinepayments/sdk/domain/data_object'
5
+ require 'onlinepayments/sdk/domain/reattempt_instructions_conditions'
6
+
7
+ module OnlinePayments
8
+ module SDK
9
+ module Domain
10
+ # @attr [OnlinePayments::SDK::Domain::ReattemptInstructionsConditions] conditions
11
+ # @attr [Integer] frozen_period
12
+ # @attr [String] indicator
13
+ class ReattemptInstructions < OnlinePayments::SDK::Domain::DataObject
14
+
15
+ attr_accessor :conditions
16
+
17
+ attr_accessor :frozen_period
18
+
19
+ attr_accessor :indicator
20
+
21
+ # @return (Hash)
22
+ def to_h
23
+ hash = super
24
+ hash['conditions'] = @conditions.to_h unless @conditions.nil?
25
+ hash['frozenPeriod'] = @frozen_period unless @frozen_period.nil?
26
+ hash['indicator'] = @indicator unless @indicator.nil?
27
+ hash
28
+ end
29
+
30
+ def from_hash(hash)
31
+ super
32
+ if hash.has_key? 'conditions'
33
+ raise TypeError, "value '%s' is not a Hash" % [hash['conditions']] unless hash['conditions'].is_a? Hash
34
+ @conditions = OnlinePayments::SDK::Domain::ReattemptInstructionsConditions.new_from_hash(hash['conditions'])
35
+ end
36
+ if hash.has_key? 'frozenPeriod'
37
+ @frozen_period = hash['frozenPeriod']
38
+ end
39
+ if hash.has_key? 'indicator'
40
+ @indicator = hash['indicator']
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,37 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'onlinepayments/sdk/domain/data_object'
5
+
6
+ module OnlinePayments
7
+ module SDK
8
+ module Domain
9
+ # @attr [Integer] max_attempts
10
+ # @attr [Integer] max_delay
11
+ class ReattemptInstructionsConditions < OnlinePayments::SDK::Domain::DataObject
12
+
13
+ attr_accessor :max_attempts
14
+
15
+ attr_accessor :max_delay
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['maxAttempts'] = @max_attempts unless @max_attempts.nil?
21
+ hash['maxDelay'] = @max_delay unless @max_delay.nil?
22
+ hash
23
+ end
24
+
25
+ def from_hash(hash)
26
+ super
27
+ if hash.has_key? 'maxAttempts'
28
+ @max_attempts = hash['maxAttempts']
29
+ end
30
+ if hash.has_key? 'maxDelay'
31
+ @max_delay = hash['maxDelay']
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,29 +1,36 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
4
+ require 'onlinepayments/sdk/domain/data_object'
5
5
 
6
- module OnlinePayments::SDK
7
- module Domain
6
+ module OnlinePayments
7
+ module SDK
8
+ module Domain
9
+ # @attr [String] returnmac
10
+ # @attr [String] redirect_url
11
+ class RedirectData < OnlinePayments::SDK::Domain::DataObject
8
12
 
9
- # @attr [String] returnmac
10
- # @attr [String] redirect_url
11
- class RedirectData < OnlinePayments::SDK::DataObject
12
- attr_accessor :returnmac
13
- attr_accessor :redirect_url
13
+ attr_accessor :returnmac
14
14
 
15
- # @return (Hash)
16
- def to_h
17
- hash = super
18
- hash['RETURNMAC'] = @returnmac unless @returnmac.nil?
19
- hash['redirectURL'] = @redirect_url unless @redirect_url.nil?
20
- hash
21
- end
15
+ attr_accessor :redirect_url
16
+
17
+ # @return (Hash)
18
+ def to_h
19
+ hash = super
20
+ hash['RETURNMAC'] = @returnmac unless @returnmac.nil?
21
+ hash['redirectURL'] = @redirect_url unless @redirect_url.nil?
22
+ hash
23
+ end
22
24
 
23
- def from_hash(hash)
24
- super
25
- @returnmac = hash['RETURNMAC'] if hash.key? 'RETURNMAC'
26
- @redirect_url = hash['redirectURL'] if hash.key? 'redirectURL'
25
+ def from_hash(hash)
26
+ super
27
+ if hash.has_key? 'RETURNMAC'
28
+ @returnmac = hash['RETURNMAC']
29
+ end
30
+ if hash.has_key? 'redirectURL'
31
+ @redirect_url = hash['redirectURL']
32
+ end
33
+ end
27
34
  end
28
35
  end
29
36
  end
@@ -1,105 +1,183 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
4
+ require 'onlinepayments/sdk/domain/data_object'
5
5
  require 'onlinepayments/sdk/domain/redirect_payment_product3203_specific_input'
6
+ require 'onlinepayments/sdk/domain/redirect_payment_product3204_specific_input'
7
+ require 'onlinepayments/sdk/domain/redirect_payment_product3302_specific_input'
6
8
  require 'onlinepayments/sdk/domain/redirect_payment_product3306_specific_input'
7
9
  require 'onlinepayments/sdk/domain/redirect_payment_product5001_specific_input'
10
+ require 'onlinepayments/sdk/domain/redirect_payment_product5300_specific_input'
11
+ require 'onlinepayments/sdk/domain/redirect_payment_product5402_specific_input'
12
+ require 'onlinepayments/sdk/domain/redirect_payment_product5403_specific_input'
8
13
  require 'onlinepayments/sdk/domain/redirect_payment_product5406_specific_input'
9
14
  require 'onlinepayments/sdk/domain/redirect_payment_product5408_specific_input'
15
+ require 'onlinepayments/sdk/domain/redirect_payment_product5410_specific_input'
10
16
  require 'onlinepayments/sdk/domain/redirect_payment_product809_specific_input'
11
17
  require 'onlinepayments/sdk/domain/redirect_payment_product840_specific_input'
12
18
  require 'onlinepayments/sdk/domain/redirection_data'
13
19
 
14
- module OnlinePayments::SDK
15
- module Domain
16
-
17
- # @attr [String] payment_option
18
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3203SpecificInput] payment_product3203_specific_input
19
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput] payment_product3306_specific_input
20
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput] payment_product5001_specific_input
21
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput] payment_product5406_specific_input
22
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput] payment_product5408_specific_input
23
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput] payment_product809_specific_input
24
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput] payment_product840_specific_input
25
- # @attr [Integer] payment_product_id
26
- # @attr [OnlinePayments::SDK::Domain::RedirectionData] redirection_data
27
- # @attr [true/false] requires_approval
28
- # @attr [String] token
29
- # @attr [true/false] tokenize
30
- class RedirectPaymentMethodSpecificInput < OnlinePayments::SDK::DataObject
31
- attr_accessor :payment_option
32
- attr_accessor :payment_product3203_specific_input
33
- attr_accessor :payment_product3306_specific_input
34
- attr_accessor :payment_product5001_specific_input
35
- attr_accessor :payment_product5406_specific_input
36
- attr_accessor :payment_product5408_specific_input
37
- attr_accessor :payment_product809_specific_input
38
- attr_accessor :payment_product840_specific_input
39
- attr_accessor :payment_product_id
40
- attr_accessor :redirection_data
41
- attr_accessor :requires_approval
42
- attr_accessor :token
43
- attr_accessor :tokenize
44
-
45
- # @return (Hash)
46
- def to_h
47
- hash = super
48
- hash['paymentOption'] = @payment_option unless @payment_option.nil?
49
- hash['paymentProduct3203SpecificInput'] = @payment_product3203_specific_input.to_h if @payment_product3203_specific_input
50
- hash['paymentProduct3306SpecificInput'] = @payment_product3306_specific_input.to_h if @payment_product3306_specific_input
51
- hash['paymentProduct5001SpecificInput'] = @payment_product5001_specific_input.to_h if @payment_product5001_specific_input
52
- hash['paymentProduct5406SpecificInput'] = @payment_product5406_specific_input.to_h if @payment_product5406_specific_input
53
- hash['paymentProduct5408SpecificInput'] = @payment_product5408_specific_input.to_h if @payment_product5408_specific_input
54
- hash['paymentProduct809SpecificInput'] = @payment_product809_specific_input.to_h if @payment_product809_specific_input
55
- hash['paymentProduct840SpecificInput'] = @payment_product840_specific_input.to_h if @payment_product840_specific_input
56
- hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
57
- hash['redirectionData'] = @redirection_data.to_h if @redirection_data
58
- hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
59
- hash['token'] = @token unless @token.nil?
60
- hash['tokenize'] = @tokenize unless @tokenize.nil?
61
- hash
62
- end
20
+ module OnlinePayments
21
+ module SDK
22
+ module Domain
23
+ # @attr [String] payment_option
24
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3203SpecificInput] payment_product3203_specific_input
25
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3204SpecificInput] payment_product3204_specific_input
26
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3302SpecificInput] payment_product3302_specific_input
27
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput] payment_product3306_specific_input
28
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput] payment_product5001_specific_input
29
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5300SpecificInput] payment_product5300_specific_input
30
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5402SpecificInput] payment_product5402_specific_input
31
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5403SpecificInput] payment_product5403_specific_input
32
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput] payment_product5406_specific_input
33
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput] payment_product5408_specific_input
34
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5410SpecificInput] payment_product5410_specific_input
35
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput] payment_product809_specific_input
36
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput] payment_product840_specific_input
37
+ # @attr [Integer] payment_product_id
38
+ # @attr [OnlinePayments::SDK::Domain::RedirectionData] redirection_data
39
+ # @attr [true/false] requires_approval
40
+ # @attr [String] token
41
+ # @attr [true/false] tokenize
42
+ class RedirectPaymentMethodSpecificInput < OnlinePayments::SDK::Domain::DataObject
63
43
 
64
- def from_hash(hash)
65
- super
66
- @payment_option = hash['paymentOption'] if hash.key? 'paymentOption'
67
- if hash.key? 'paymentProduct3203SpecificInput'
68
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3203SpecificInput']] unless hash['paymentProduct3203SpecificInput'].is_a? Hash
69
- @payment_product3203_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3203SpecificInput.new_from_hash(hash['paymentProduct3203SpecificInput'])
70
- end
71
- if hash.key? 'paymentProduct3306SpecificInput'
72
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3306SpecificInput']] unless hash['paymentProduct3306SpecificInput'].is_a? Hash
73
- @payment_product3306_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput.new_from_hash(hash['paymentProduct3306SpecificInput'])
74
- end
75
- if hash.key? 'paymentProduct5001SpecificInput'
76
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5001SpecificInput']] unless hash['paymentProduct5001SpecificInput'].is_a? Hash
77
- @payment_product5001_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput.new_from_hash(hash['paymentProduct5001SpecificInput'])
78
- end
79
- if hash.key? 'paymentProduct5406SpecificInput'
80
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5406SpecificInput']] unless hash['paymentProduct5406SpecificInput'].is_a? Hash
81
- @payment_product5406_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput.new_from_hash(hash['paymentProduct5406SpecificInput'])
82
- end
83
- if hash.key? 'paymentProduct5408SpecificInput'
84
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5408SpecificInput']] unless hash['paymentProduct5408SpecificInput'].is_a? Hash
85
- @payment_product5408_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput.new_from_hash(hash['paymentProduct5408SpecificInput'])
86
- end
87
- if hash.key? 'paymentProduct809SpecificInput'
88
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct809SpecificInput']] unless hash['paymentProduct809SpecificInput'].is_a? Hash
89
- @payment_product809_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput.new_from_hash(hash['paymentProduct809SpecificInput'])
90
- end
91
- if hash.key? 'paymentProduct840SpecificInput'
92
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificInput']] unless hash['paymentProduct840SpecificInput'].is_a? Hash
93
- @payment_product840_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput.new_from_hash(hash['paymentProduct840SpecificInput'])
44
+ attr_accessor :payment_option
45
+
46
+ attr_accessor :payment_product3203_specific_input
47
+
48
+ attr_accessor :payment_product3204_specific_input
49
+
50
+ attr_accessor :payment_product3302_specific_input
51
+
52
+ attr_accessor :payment_product3306_specific_input
53
+
54
+ attr_accessor :payment_product5001_specific_input
55
+
56
+ attr_accessor :payment_product5300_specific_input
57
+
58
+ attr_accessor :payment_product5402_specific_input
59
+
60
+ attr_accessor :payment_product5403_specific_input
61
+
62
+ attr_accessor :payment_product5406_specific_input
63
+
64
+ attr_accessor :payment_product5408_specific_input
65
+
66
+ attr_accessor :payment_product5410_specific_input
67
+
68
+ attr_accessor :payment_product809_specific_input
69
+
70
+ attr_accessor :payment_product840_specific_input
71
+
72
+ attr_accessor :payment_product_id
73
+
74
+ attr_accessor :redirection_data
75
+
76
+ attr_accessor :requires_approval
77
+
78
+ attr_accessor :token
79
+
80
+ attr_accessor :tokenize
81
+
82
+ # @return (Hash)
83
+ def to_h
84
+ hash = super
85
+ hash['paymentOption'] = @payment_option unless @payment_option.nil?
86
+ hash['paymentProduct3203SpecificInput'] = @payment_product3203_specific_input.to_h unless @payment_product3203_specific_input.nil?
87
+ hash['paymentProduct3204SpecificInput'] = @payment_product3204_specific_input.to_h unless @payment_product3204_specific_input.nil?
88
+ hash['paymentProduct3302SpecificInput'] = @payment_product3302_specific_input.to_h unless @payment_product3302_specific_input.nil?
89
+ hash['paymentProduct3306SpecificInput'] = @payment_product3306_specific_input.to_h unless @payment_product3306_specific_input.nil?
90
+ hash['paymentProduct5001SpecificInput'] = @payment_product5001_specific_input.to_h unless @payment_product5001_specific_input.nil?
91
+ hash['paymentProduct5300SpecificInput'] = @payment_product5300_specific_input.to_h unless @payment_product5300_specific_input.nil?
92
+ hash['paymentProduct5402SpecificInput'] = @payment_product5402_specific_input.to_h unless @payment_product5402_specific_input.nil?
93
+ hash['paymentProduct5403SpecificInput'] = @payment_product5403_specific_input.to_h unless @payment_product5403_specific_input.nil?
94
+ hash['paymentProduct5406SpecificInput'] = @payment_product5406_specific_input.to_h unless @payment_product5406_specific_input.nil?
95
+ hash['paymentProduct5408SpecificInput'] = @payment_product5408_specific_input.to_h unless @payment_product5408_specific_input.nil?
96
+ hash['paymentProduct5410SpecificInput'] = @payment_product5410_specific_input.to_h unless @payment_product5410_specific_input.nil?
97
+ hash['paymentProduct809SpecificInput'] = @payment_product809_specific_input.to_h unless @payment_product809_specific_input.nil?
98
+ hash['paymentProduct840SpecificInput'] = @payment_product840_specific_input.to_h unless @payment_product840_specific_input.nil?
99
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
100
+ hash['redirectionData'] = @redirection_data.to_h unless @redirection_data.nil?
101
+ hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
102
+ hash['token'] = @token unless @token.nil?
103
+ hash['tokenize'] = @tokenize unless @tokenize.nil?
104
+ hash
94
105
  end
95
- @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
96
- if hash.key? 'redirectionData'
97
- raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
98
- @redirection_data = OnlinePayments::SDK::Domain::RedirectionData.new_from_hash(hash['redirectionData'])
106
+
107
+ def from_hash(hash)
108
+ super
109
+ if hash.has_key? 'paymentOption'
110
+ @payment_option = hash['paymentOption']
111
+ end
112
+ if hash.has_key? 'paymentProduct3203SpecificInput'
113
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3203SpecificInput']] unless hash['paymentProduct3203SpecificInput'].is_a? Hash
114
+ @payment_product3203_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3203SpecificInput.new_from_hash(hash['paymentProduct3203SpecificInput'])
115
+ end
116
+ if hash.has_key? 'paymentProduct3204SpecificInput'
117
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3204SpecificInput']] unless hash['paymentProduct3204SpecificInput'].is_a? Hash
118
+ @payment_product3204_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3204SpecificInput.new_from_hash(hash['paymentProduct3204SpecificInput'])
119
+ end
120
+ if hash.has_key? 'paymentProduct3302SpecificInput'
121
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3302SpecificInput']] unless hash['paymentProduct3302SpecificInput'].is_a? Hash
122
+ @payment_product3302_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3302SpecificInput.new_from_hash(hash['paymentProduct3302SpecificInput'])
123
+ end
124
+ if hash.has_key? 'paymentProduct3306SpecificInput'
125
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3306SpecificInput']] unless hash['paymentProduct3306SpecificInput'].is_a? Hash
126
+ @payment_product3306_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput.new_from_hash(hash['paymentProduct3306SpecificInput'])
127
+ end
128
+ if hash.has_key? 'paymentProduct5001SpecificInput'
129
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5001SpecificInput']] unless hash['paymentProduct5001SpecificInput'].is_a? Hash
130
+ @payment_product5001_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput.new_from_hash(hash['paymentProduct5001SpecificInput'])
131
+ end
132
+ if hash.has_key? 'paymentProduct5300SpecificInput'
133
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5300SpecificInput']] unless hash['paymentProduct5300SpecificInput'].is_a? Hash
134
+ @payment_product5300_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5300SpecificInput.new_from_hash(hash['paymentProduct5300SpecificInput'])
135
+ end
136
+ if hash.has_key? 'paymentProduct5402SpecificInput'
137
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5402SpecificInput']] unless hash['paymentProduct5402SpecificInput'].is_a? Hash
138
+ @payment_product5402_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5402SpecificInput.new_from_hash(hash['paymentProduct5402SpecificInput'])
139
+ end
140
+ if hash.has_key? 'paymentProduct5403SpecificInput'
141
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5403SpecificInput']] unless hash['paymentProduct5403SpecificInput'].is_a? Hash
142
+ @payment_product5403_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5403SpecificInput.new_from_hash(hash['paymentProduct5403SpecificInput'])
143
+ end
144
+ if hash.has_key? 'paymentProduct5406SpecificInput'
145
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5406SpecificInput']] unless hash['paymentProduct5406SpecificInput'].is_a? Hash
146
+ @payment_product5406_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput.new_from_hash(hash['paymentProduct5406SpecificInput'])
147
+ end
148
+ if hash.has_key? 'paymentProduct5408SpecificInput'
149
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5408SpecificInput']] unless hash['paymentProduct5408SpecificInput'].is_a? Hash
150
+ @payment_product5408_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput.new_from_hash(hash['paymentProduct5408SpecificInput'])
151
+ end
152
+ if hash.has_key? 'paymentProduct5410SpecificInput'
153
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5410SpecificInput']] unless hash['paymentProduct5410SpecificInput'].is_a? Hash
154
+ @payment_product5410_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5410SpecificInput.new_from_hash(hash['paymentProduct5410SpecificInput'])
155
+ end
156
+ if hash.has_key? 'paymentProduct809SpecificInput'
157
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct809SpecificInput']] unless hash['paymentProduct809SpecificInput'].is_a? Hash
158
+ @payment_product809_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput.new_from_hash(hash['paymentProduct809SpecificInput'])
159
+ end
160
+ if hash.has_key? 'paymentProduct840SpecificInput'
161
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificInput']] unless hash['paymentProduct840SpecificInput'].is_a? Hash
162
+ @payment_product840_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput.new_from_hash(hash['paymentProduct840SpecificInput'])
163
+ end
164
+ if hash.has_key? 'paymentProductId'
165
+ @payment_product_id = hash['paymentProductId']
166
+ end
167
+ if hash.has_key? 'redirectionData'
168
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
169
+ @redirection_data = OnlinePayments::SDK::Domain::RedirectionData.new_from_hash(hash['redirectionData'])
170
+ end
171
+ if hash.has_key? 'requiresApproval'
172
+ @requires_approval = hash['requiresApproval']
173
+ end
174
+ if hash.has_key? 'token'
175
+ @token = hash['token']
176
+ end
177
+ if hash.has_key? 'tokenize'
178
+ @tokenize = hash['tokenize']
179
+ end
99
180
  end
100
- @requires_approval = hash['requiresApproval'] if hash.key? 'requiresApproval'
101
- @token = hash['token'] if hash.key? 'token'
102
- @tokenize = hash['tokenize'] if hash.key? 'tokenize'
103
181
  end
104
182
  end
105
183
  end