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,8 +1,11 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
4
+ require 'date'
5
+
5
6
  require 'onlinepayments/sdk/domain/card_payment_method_specific_input_base'
7
+ require 'onlinepayments/sdk/domain/data_object'
8
+ require 'onlinepayments/sdk/domain/feedbacks'
6
9
  require 'onlinepayments/sdk/domain/fraud_fields'
7
10
  require 'onlinepayments/sdk/domain/hosted_checkout_specific_input'
8
11
  require 'onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input'
@@ -12,93 +15,130 @@ require 'onlinepayments/sdk/domain/payment_link_specific_input'
12
15
  require 'onlinepayments/sdk/domain/redirect_payment_method_specific_input'
13
16
  require 'onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base'
14
17
 
15
- module OnlinePayments::SDK
16
- module Domain
17
-
18
- # @attr [OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInputBase] card_payment_method_specific_input
19
- # @attr [String] description
20
- # @attr [String] expiration_date
21
- # @attr [OnlinePayments::SDK::Domain::FraudFields] fraud_fields
22
- # @attr [OnlinePayments::SDK::Domain::HostedCheckoutSpecificInput] hosted_checkout_specific_input
23
- # @attr [OnlinePayments::SDK::Domain::MobilePaymentMethodHostedCheckoutSpecificInput] mobile_payment_method_specific_input
24
- # @attr [OnlinePayments::SDK::Domain::Order] order
25
- # @attr [OnlinePayments::SDK::Domain::PaymentLinkOrderInput] payment_link_order
26
- # @attr [OnlinePayments::SDK::Domain::PaymentLinkSpecificInput] payment_link_specific_input
27
- # @attr [String] recipient_name
28
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput] redirect_payment_method_specific_input
29
- # @attr [OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInputBase] sepa_direct_debit_payment_method_specific_input
30
- class CreatePaymentLinkRequest < OnlinePayments::SDK::DataObject
31
- attr_accessor :card_payment_method_specific_input
32
- attr_accessor :description
33
- attr_accessor :expiration_date
34
- attr_accessor :fraud_fields
35
- attr_accessor :hosted_checkout_specific_input
36
- attr_accessor :mobile_payment_method_specific_input
37
- attr_accessor :order
38
- attr_accessor :payment_link_order
39
- attr_accessor :payment_link_specific_input
40
- attr_accessor :recipient_name
41
- attr_accessor :redirect_payment_method_specific_input
42
- attr_accessor :sepa_direct_debit_payment_method_specific_input
43
-
44
- # @return (Hash)
45
- def to_h
46
- hash = super
47
- hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h if @card_payment_method_specific_input
48
- hash['description'] = @description unless @description.nil?
49
- hash['expirationDate'] = @expiration_date unless @expiration_date.nil?
50
- hash['fraudFields'] = @fraud_fields.to_h if @fraud_fields
51
- hash['hostedCheckoutSpecificInput'] = @hosted_checkout_specific_input.to_h if @hosted_checkout_specific_input
52
- hash['mobilePaymentMethodSpecificInput'] = @mobile_payment_method_specific_input.to_h if @mobile_payment_method_specific_input
53
- hash['order'] = @order.to_h if @order
54
- hash['paymentLinkOrder'] = @payment_link_order.to_h if @payment_link_order
55
- hash['paymentLinkSpecificInput'] = @payment_link_specific_input.to_h if @payment_link_specific_input
56
- hash['recipientName'] = @recipient_name unless @recipient_name.nil?
57
- hash['redirectPaymentMethodSpecificInput'] = @redirect_payment_method_specific_input.to_h if @redirect_payment_method_specific_input
58
- hash['sepaDirectDebitPaymentMethodSpecificInput'] = @sepa_direct_debit_payment_method_specific_input.to_h if @sepa_direct_debit_payment_method_specific_input
59
- hash
60
- end
18
+ module OnlinePayments
19
+ module SDK
20
+ module Domain
21
+ # @attr [OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInputBase] card_payment_method_specific_input
22
+ # @attr [String] description
23
+ # @attr [DateTime] expiration_date
24
+ # @attr [OnlinePayments::SDK::Domain::Feedbacks] feedbacks
25
+ # @attr [OnlinePayments::SDK::Domain::FraudFields] fraud_fields
26
+ # @attr [OnlinePayments::SDK::Domain::HostedCheckoutSpecificInput] hosted_checkout_specific_input
27
+ # @attr [true/false] is_reusable_link
28
+ # @attr [OnlinePayments::SDK::Domain::MobilePaymentMethodHostedCheckoutSpecificInput] mobile_payment_method_specific_input
29
+ # @attr [OnlinePayments::SDK::Domain::Order] order
30
+ # @attr [OnlinePayments::SDK::Domain::PaymentLinkOrderInput] payment_link_order
31
+ # @attr [OnlinePayments::SDK::Domain::PaymentLinkSpecificInput] payment_link_specific_input
32
+ # @attr [String] recipient_name
33
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput] redirect_payment_method_specific_input
34
+ # @attr [OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInputBase] sepa_direct_debit_payment_method_specific_input
35
+ class CreatePaymentLinkRequest < OnlinePayments::SDK::Domain::DataObject
61
36
 
62
- def from_hash(hash)
63
- super
64
- if hash.key? 'cardPaymentMethodSpecificInput'
65
- raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificInput']] unless hash['cardPaymentMethodSpecificInput'].is_a? Hash
66
- @card_payment_method_specific_input = OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInputBase.new_from_hash(hash['cardPaymentMethodSpecificInput'])
67
- end
68
- @description = hash['description'] if hash.key? 'description'
69
- @expiration_date = hash['expirationDate'] if hash.key? 'expirationDate'
70
- if hash.key? 'fraudFields'
71
- raise TypeError, "value '%s' is not a Hash" % [hash['fraudFields']] unless hash['fraudFields'].is_a? Hash
72
- @fraud_fields = OnlinePayments::SDK::Domain::FraudFields.new_from_hash(hash['fraudFields'])
73
- end
74
- if hash.key? 'hostedCheckoutSpecificInput'
75
- raise TypeError, "value '%s' is not a Hash" % [hash['hostedCheckoutSpecificInput']] unless hash['hostedCheckoutSpecificInput'].is_a? Hash
76
- @hosted_checkout_specific_input = OnlinePayments::SDK::Domain::HostedCheckoutSpecificInput.new_from_hash(hash['hostedCheckoutSpecificInput'])
77
- end
78
- if hash.key? 'mobilePaymentMethodSpecificInput'
79
- raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']] unless hash['mobilePaymentMethodSpecificInput'].is_a? Hash
80
- @mobile_payment_method_specific_input = OnlinePayments::SDK::Domain::MobilePaymentMethodHostedCheckoutSpecificInput.new_from_hash(hash['mobilePaymentMethodSpecificInput'])
81
- end
82
- if hash.key? 'order'
83
- raise TypeError, "value '%s' is not a Hash" % [hash['order']] unless hash['order'].is_a? Hash
84
- @order = OnlinePayments::SDK::Domain::Order.new_from_hash(hash['order'])
85
- end
86
- if hash.key? 'paymentLinkOrder'
87
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentLinkOrder']] unless hash['paymentLinkOrder'].is_a? Hash
88
- @payment_link_order = OnlinePayments::SDK::Domain::PaymentLinkOrderInput.new_from_hash(hash['paymentLinkOrder'])
89
- end
90
- if hash.key? 'paymentLinkSpecificInput'
91
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentLinkSpecificInput']] unless hash['paymentLinkSpecificInput'].is_a? Hash
92
- @payment_link_specific_input = OnlinePayments::SDK::Domain::PaymentLinkSpecificInput.new_from_hash(hash['paymentLinkSpecificInput'])
93
- end
94
- @recipient_name = hash['recipientName'] if hash.key? 'recipientName'
95
- if hash.key? 'redirectPaymentMethodSpecificInput'
96
- raise TypeError, "value '%s' is not a Hash" % [hash['redirectPaymentMethodSpecificInput']] unless hash['redirectPaymentMethodSpecificInput'].is_a? Hash
97
- @redirect_payment_method_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput.new_from_hash(hash['redirectPaymentMethodSpecificInput'])
37
+ attr_accessor :card_payment_method_specific_input
38
+
39
+ # @deprecated A note related to the created payment link. Use paymentLinkSpecificInput/description instead.
40
+ attr_accessor :description
41
+
42
+ # @deprecated The date after which the payment link will not be usable to complete the payment. The date sent cannot be more than 6 months in the future or a past date. It must also contain the UTC offset. Use paymentLinkSpecificInput/expirationDate instead.
43
+ attr_accessor :expiration_date
44
+
45
+ attr_accessor :feedbacks
46
+
47
+ attr_accessor :fraud_fields
48
+
49
+ attr_accessor :hosted_checkout_specific_input
50
+
51
+ attr_accessor :is_reusable_link
52
+
53
+ attr_accessor :mobile_payment_method_specific_input
54
+
55
+ attr_accessor :order
56
+
57
+ attr_accessor :payment_link_order
58
+
59
+ attr_accessor :payment_link_specific_input
60
+
61
+ # @deprecated The payment link recipient name. Use paymentLinkSpecificInput/recipientName instead.
62
+ attr_accessor :recipient_name
63
+
64
+ attr_accessor :redirect_payment_method_specific_input
65
+
66
+ attr_accessor :sepa_direct_debit_payment_method_specific_input
67
+
68
+ # @return (Hash)
69
+ def to_h
70
+ hash = super
71
+ hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h unless @card_payment_method_specific_input.nil?
72
+ hash['description'] = @description unless @description.nil?
73
+ hash['expirationDate'] = @expiration_date.iso8601(3) unless @expiration_date.nil?
74
+ hash['feedbacks'] = @feedbacks.to_h unless @feedbacks.nil?
75
+ hash['fraudFields'] = @fraud_fields.to_h unless @fraud_fields.nil?
76
+ hash['hostedCheckoutSpecificInput'] = @hosted_checkout_specific_input.to_h unless @hosted_checkout_specific_input.nil?
77
+ hash['isReusableLink'] = @is_reusable_link unless @is_reusable_link.nil?
78
+ hash['mobilePaymentMethodSpecificInput'] = @mobile_payment_method_specific_input.to_h unless @mobile_payment_method_specific_input.nil?
79
+ hash['order'] = @order.to_h unless @order.nil?
80
+ hash['paymentLinkOrder'] = @payment_link_order.to_h unless @payment_link_order.nil?
81
+ hash['paymentLinkSpecificInput'] = @payment_link_specific_input.to_h unless @payment_link_specific_input.nil?
82
+ hash['recipientName'] = @recipient_name unless @recipient_name.nil?
83
+ hash['redirectPaymentMethodSpecificInput'] = @redirect_payment_method_specific_input.to_h unless @redirect_payment_method_specific_input.nil?
84
+ hash['sepaDirectDebitPaymentMethodSpecificInput'] = @sepa_direct_debit_payment_method_specific_input.to_h unless @sepa_direct_debit_payment_method_specific_input.nil?
85
+ hash
98
86
  end
99
- if hash.key? 'sepaDirectDebitPaymentMethodSpecificInput'
100
- raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebitPaymentMethodSpecificInput']] unless hash['sepaDirectDebitPaymentMethodSpecificInput'].is_a? Hash
101
- @sepa_direct_debit_payment_method_specific_input = OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInputBase.new_from_hash(hash['sepaDirectDebitPaymentMethodSpecificInput'])
87
+
88
+ def from_hash(hash)
89
+ super
90
+ if hash.has_key? 'cardPaymentMethodSpecificInput'
91
+ raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificInput']] unless hash['cardPaymentMethodSpecificInput'].is_a? Hash
92
+ @card_payment_method_specific_input = OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInputBase.new_from_hash(hash['cardPaymentMethodSpecificInput'])
93
+ end
94
+ if hash.has_key? 'description'
95
+ @description = hash['description']
96
+ end
97
+ if hash.has_key? 'expirationDate'
98
+ @expiration_date = DateTime.parse(hash['expirationDate'])
99
+ end
100
+ if hash.has_key? 'feedbacks'
101
+ raise TypeError, "value '%s' is not a Hash" % [hash['feedbacks']] unless hash['feedbacks'].is_a? Hash
102
+ @feedbacks = OnlinePayments::SDK::Domain::Feedbacks.new_from_hash(hash['feedbacks'])
103
+ end
104
+ if hash.has_key? 'fraudFields'
105
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudFields']] unless hash['fraudFields'].is_a? Hash
106
+ @fraud_fields = OnlinePayments::SDK::Domain::FraudFields.new_from_hash(hash['fraudFields'])
107
+ end
108
+ if hash.has_key? 'hostedCheckoutSpecificInput'
109
+ raise TypeError, "value '%s' is not a Hash" % [hash['hostedCheckoutSpecificInput']] unless hash['hostedCheckoutSpecificInput'].is_a? Hash
110
+ @hosted_checkout_specific_input = OnlinePayments::SDK::Domain::HostedCheckoutSpecificInput.new_from_hash(hash['hostedCheckoutSpecificInput'])
111
+ end
112
+ if hash.has_key? 'isReusableLink'
113
+ @is_reusable_link = hash['isReusableLink']
114
+ end
115
+ if hash.has_key? 'mobilePaymentMethodSpecificInput'
116
+ raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']] unless hash['mobilePaymentMethodSpecificInput'].is_a? Hash
117
+ @mobile_payment_method_specific_input = OnlinePayments::SDK::Domain::MobilePaymentMethodHostedCheckoutSpecificInput.new_from_hash(hash['mobilePaymentMethodSpecificInput'])
118
+ end
119
+ if hash.has_key? 'order'
120
+ raise TypeError, "value '%s' is not a Hash" % [hash['order']] unless hash['order'].is_a? Hash
121
+ @order = OnlinePayments::SDK::Domain::Order.new_from_hash(hash['order'])
122
+ end
123
+ if hash.has_key? 'paymentLinkOrder'
124
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentLinkOrder']] unless hash['paymentLinkOrder'].is_a? Hash
125
+ @payment_link_order = OnlinePayments::SDK::Domain::PaymentLinkOrderInput.new_from_hash(hash['paymentLinkOrder'])
126
+ end
127
+ if hash.has_key? 'paymentLinkSpecificInput'
128
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentLinkSpecificInput']] unless hash['paymentLinkSpecificInput'].is_a? Hash
129
+ @payment_link_specific_input = OnlinePayments::SDK::Domain::PaymentLinkSpecificInput.new_from_hash(hash['paymentLinkSpecificInput'])
130
+ end
131
+ if hash.has_key? 'recipientName'
132
+ @recipient_name = hash['recipientName']
133
+ end
134
+ if hash.has_key? 'redirectPaymentMethodSpecificInput'
135
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectPaymentMethodSpecificInput']] unless hash['redirectPaymentMethodSpecificInput'].is_a? Hash
136
+ @redirect_payment_method_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput.new_from_hash(hash['redirectPaymentMethodSpecificInput'])
137
+ end
138
+ if hash.has_key? 'sepaDirectDebitPaymentMethodSpecificInput'
139
+ raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebitPaymentMethodSpecificInput']] unless hash['sepaDirectDebitPaymentMethodSpecificInput'].is_a? Hash
140
+ @sepa_direct_debit_payment_method_specific_input = OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInputBase.new_from_hash(hash['sepaDirectDebitPaymentMethodSpecificInput'])
141
+ end
102
142
  end
103
143
  end
104
144
  end
@@ -1,76 +1,98 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
5
4
  require 'onlinepayments/sdk/domain/card_payment_method_specific_input'
5
+ require 'onlinepayments/sdk/domain/data_object'
6
+ require 'onlinepayments/sdk/domain/feedbacks'
6
7
  require 'onlinepayments/sdk/domain/fraud_fields'
7
8
  require 'onlinepayments/sdk/domain/mobile_payment_method_specific_input'
8
9
  require 'onlinepayments/sdk/domain/order'
9
10
  require 'onlinepayments/sdk/domain/redirect_payment_method_specific_input'
10
11
  require 'onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input'
11
12
 
12
- module OnlinePayments::SDK
13
- module Domain
13
+ module OnlinePayments
14
+ module SDK
15
+ module Domain
16
+ # @attr [OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInput] card_payment_method_specific_input
17
+ # @attr [String] encrypted_customer_input
18
+ # @attr [OnlinePayments::SDK::Domain::Feedbacks] feedbacks
19
+ # @attr [OnlinePayments::SDK::Domain::FraudFields] fraud_fields
20
+ # @attr [String] hosted_tokenization_id
21
+ # @attr [OnlinePayments::SDK::Domain::MobilePaymentMethodSpecificInput] mobile_payment_method_specific_input
22
+ # @attr [OnlinePayments::SDK::Domain::Order] order
23
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput] redirect_payment_method_specific_input
24
+ # @attr [OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInput] sepa_direct_debit_payment_method_specific_input
25
+ class CreatePaymentRequest < OnlinePayments::SDK::Domain::DataObject
14
26
 
15
- # @attr [OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInput] card_payment_method_specific_input
16
- # @attr [String] encrypted_customer_input
17
- # @attr [OnlinePayments::SDK::Domain::FraudFields] fraud_fields
18
- # @attr [String] hosted_tokenization_id
19
- # @attr [OnlinePayments::SDK::Domain::MobilePaymentMethodSpecificInput] mobile_payment_method_specific_input
20
- # @attr [OnlinePayments::SDK::Domain::Order] order
21
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput] redirect_payment_method_specific_input
22
- # @attr [OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInput] sepa_direct_debit_payment_method_specific_input
23
- class CreatePaymentRequest < OnlinePayments::SDK::DataObject
24
- attr_accessor :card_payment_method_specific_input
25
- attr_accessor :encrypted_customer_input
26
- attr_accessor :fraud_fields
27
- attr_accessor :hosted_tokenization_id
28
- attr_accessor :mobile_payment_method_specific_input
29
- attr_accessor :order
30
- attr_accessor :redirect_payment_method_specific_input
31
- attr_accessor :sepa_direct_debit_payment_method_specific_input
27
+ attr_accessor :card_payment_method_specific_input
32
28
 
33
- # @return (Hash)
34
- def to_h
35
- hash = super
36
- hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h if @card_payment_method_specific_input
37
- hash['encryptedCustomerInput'] = @encrypted_customer_input unless @encrypted_customer_input.nil?
38
- hash['fraudFields'] = @fraud_fields.to_h if @fraud_fields
39
- hash['hostedTokenizationId'] = @hosted_tokenization_id unless @hosted_tokenization_id.nil?
40
- hash['mobilePaymentMethodSpecificInput'] = @mobile_payment_method_specific_input.to_h if @mobile_payment_method_specific_input
41
- hash['order'] = @order.to_h if @order
42
- hash['redirectPaymentMethodSpecificInput'] = @redirect_payment_method_specific_input.to_h if @redirect_payment_method_specific_input
43
- hash['sepaDirectDebitPaymentMethodSpecificInput'] = @sepa_direct_debit_payment_method_specific_input.to_h if @sepa_direct_debit_payment_method_specific_input
44
- hash
45
- end
29
+ attr_accessor :encrypted_customer_input
46
30
 
47
- def from_hash(hash)
48
- super
49
- if hash.key? 'cardPaymentMethodSpecificInput'
50
- raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificInput']] unless hash['cardPaymentMethodSpecificInput'].is_a? Hash
51
- @card_payment_method_specific_input = OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInput.new_from_hash(hash['cardPaymentMethodSpecificInput'])
52
- end
53
- @encrypted_customer_input = hash['encryptedCustomerInput'] if hash.key? 'encryptedCustomerInput'
54
- if hash.key? 'fraudFields'
55
- raise TypeError, "value '%s' is not a Hash" % [hash['fraudFields']] unless hash['fraudFields'].is_a? Hash
56
- @fraud_fields = OnlinePayments::SDK::Domain::FraudFields.new_from_hash(hash['fraudFields'])
57
- end
58
- @hosted_tokenization_id = hash['hostedTokenizationId'] if hash.key? 'hostedTokenizationId'
59
- if hash.key? 'mobilePaymentMethodSpecificInput'
60
- raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']] unless hash['mobilePaymentMethodSpecificInput'].is_a? Hash
61
- @mobile_payment_method_specific_input = OnlinePayments::SDK::Domain::MobilePaymentMethodSpecificInput.new_from_hash(hash['mobilePaymentMethodSpecificInput'])
62
- end
63
- if hash.key? 'order'
64
- raise TypeError, "value '%s' is not a Hash" % [hash['order']] unless hash['order'].is_a? Hash
65
- @order = OnlinePayments::SDK::Domain::Order.new_from_hash(hash['order'])
66
- end
67
- if hash.key? 'redirectPaymentMethodSpecificInput'
68
- raise TypeError, "value '%s' is not a Hash" % [hash['redirectPaymentMethodSpecificInput']] unless hash['redirectPaymentMethodSpecificInput'].is_a? Hash
69
- @redirect_payment_method_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput.new_from_hash(hash['redirectPaymentMethodSpecificInput'])
31
+ attr_accessor :feedbacks
32
+
33
+ attr_accessor :fraud_fields
34
+
35
+ attr_accessor :hosted_tokenization_id
36
+
37
+ attr_accessor :mobile_payment_method_specific_input
38
+
39
+ attr_accessor :order
40
+
41
+ attr_accessor :redirect_payment_method_specific_input
42
+
43
+ attr_accessor :sepa_direct_debit_payment_method_specific_input
44
+
45
+ # @return (Hash)
46
+ def to_h
47
+ hash = super
48
+ hash['cardPaymentMethodSpecificInput'] = @card_payment_method_specific_input.to_h unless @card_payment_method_specific_input.nil?
49
+ hash['encryptedCustomerInput'] = @encrypted_customer_input unless @encrypted_customer_input.nil?
50
+ hash['feedbacks'] = @feedbacks.to_h unless @feedbacks.nil?
51
+ hash['fraudFields'] = @fraud_fields.to_h unless @fraud_fields.nil?
52
+ hash['hostedTokenizationId'] = @hosted_tokenization_id unless @hosted_tokenization_id.nil?
53
+ hash['mobilePaymentMethodSpecificInput'] = @mobile_payment_method_specific_input.to_h unless @mobile_payment_method_specific_input.nil?
54
+ hash['order'] = @order.to_h unless @order.nil?
55
+ hash['redirectPaymentMethodSpecificInput'] = @redirect_payment_method_specific_input.to_h unless @redirect_payment_method_specific_input.nil?
56
+ hash['sepaDirectDebitPaymentMethodSpecificInput'] = @sepa_direct_debit_payment_method_specific_input.to_h unless @sepa_direct_debit_payment_method_specific_input.nil?
57
+ hash
70
58
  end
71
- if hash.key? 'sepaDirectDebitPaymentMethodSpecificInput'
72
- raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebitPaymentMethodSpecificInput']] unless hash['sepaDirectDebitPaymentMethodSpecificInput'].is_a? Hash
73
- @sepa_direct_debit_payment_method_specific_input = OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInput.new_from_hash(hash['sepaDirectDebitPaymentMethodSpecificInput'])
59
+
60
+ def from_hash(hash)
61
+ super
62
+ if hash.has_key? 'cardPaymentMethodSpecificInput'
63
+ raise TypeError, "value '%s' is not a Hash" % [hash['cardPaymentMethodSpecificInput']] unless hash['cardPaymentMethodSpecificInput'].is_a? Hash
64
+ @card_payment_method_specific_input = OnlinePayments::SDK::Domain::CardPaymentMethodSpecificInput.new_from_hash(hash['cardPaymentMethodSpecificInput'])
65
+ end
66
+ if hash.has_key? 'encryptedCustomerInput'
67
+ @encrypted_customer_input = hash['encryptedCustomerInput']
68
+ end
69
+ if hash.has_key? 'feedbacks'
70
+ raise TypeError, "value '%s' is not a Hash" % [hash['feedbacks']] unless hash['feedbacks'].is_a? Hash
71
+ @feedbacks = OnlinePayments::SDK::Domain::Feedbacks.new_from_hash(hash['feedbacks'])
72
+ end
73
+ if hash.has_key? 'fraudFields'
74
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudFields']] unless hash['fraudFields'].is_a? Hash
75
+ @fraud_fields = OnlinePayments::SDK::Domain::FraudFields.new_from_hash(hash['fraudFields'])
76
+ end
77
+ if hash.has_key? 'hostedTokenizationId'
78
+ @hosted_tokenization_id = hash['hostedTokenizationId']
79
+ end
80
+ if hash.has_key? 'mobilePaymentMethodSpecificInput'
81
+ raise TypeError, "value '%s' is not a Hash" % [hash['mobilePaymentMethodSpecificInput']] unless hash['mobilePaymentMethodSpecificInput'].is_a? Hash
82
+ @mobile_payment_method_specific_input = OnlinePayments::SDK::Domain::MobilePaymentMethodSpecificInput.new_from_hash(hash['mobilePaymentMethodSpecificInput'])
83
+ end
84
+ if hash.has_key? 'order'
85
+ raise TypeError, "value '%s' is not a Hash" % [hash['order']] unless hash['order'].is_a? Hash
86
+ @order = OnlinePayments::SDK::Domain::Order.new_from_hash(hash['order'])
87
+ end
88
+ if hash.has_key? 'redirectPaymentMethodSpecificInput'
89
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectPaymentMethodSpecificInput']] unless hash['redirectPaymentMethodSpecificInput'].is_a? Hash
90
+ @redirect_payment_method_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentMethodSpecificInput.new_from_hash(hash['redirectPaymentMethodSpecificInput'])
91
+ end
92
+ if hash.has_key? 'sepaDirectDebitPaymentMethodSpecificInput'
93
+ raise TypeError, "value '%s' is not a Hash" % [hash['sepaDirectDebitPaymentMethodSpecificInput']] unless hash['sepaDirectDebitPaymentMethodSpecificInput'].is_a? Hash
94
+ @sepa_direct_debit_payment_method_specific_input = OnlinePayments::SDK::Domain::SepaDirectDebitPaymentMethodSpecificInput.new_from_hash(hash['sepaDirectDebitPaymentMethodSpecificInput'])
95
+ end
74
96
  end
75
97
  end
76
98
  end
@@ -1,44 +1,48 @@
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/merchant_action'
6
6
  require 'onlinepayments/sdk/domain/payment_creation_output'
7
7
  require 'onlinepayments/sdk/domain/payment_response'
8
8
 
9
- module OnlinePayments::SDK
10
- module Domain
9
+ module OnlinePayments
10
+ module SDK
11
+ module Domain
12
+ # @attr [OnlinePayments::SDK::Domain::PaymentCreationOutput] creation_output
13
+ # @attr [OnlinePayments::SDK::Domain::MerchantAction] merchant_action
14
+ # @attr [OnlinePayments::SDK::Domain::PaymentResponse] payment
15
+ class CreatePaymentResponse < OnlinePayments::SDK::Domain::DataObject
11
16
 
12
- # @attr [OnlinePayments::SDK::Domain::PaymentCreationOutput] creation_output
13
- # @attr [OnlinePayments::SDK::Domain::MerchantAction] merchant_action
14
- # @attr [OnlinePayments::SDK::Domain::PaymentResponse] payment
15
- class CreatePaymentResponse < OnlinePayments::SDK::DataObject
16
- attr_accessor :creation_output
17
- attr_accessor :merchant_action
18
- attr_accessor :payment
17
+ attr_accessor :creation_output
19
18
 
20
- # @return (Hash)
21
- def to_h
22
- hash = super
23
- hash['creationOutput'] = @creation_output.to_h if @creation_output
24
- hash['merchantAction'] = @merchant_action.to_h if @merchant_action
25
- hash['payment'] = @payment.to_h if @payment
26
- hash
27
- end
19
+ attr_accessor :merchant_action
28
20
 
29
- def from_hash(hash)
30
- super
31
- if hash.key? 'creationOutput'
32
- raise TypeError, "value '%s' is not a Hash" % [hash['creationOutput']] unless hash['creationOutput'].is_a? Hash
33
- @creation_output = OnlinePayments::SDK::Domain::PaymentCreationOutput.new_from_hash(hash['creationOutput'])
34
- end
35
- if hash.key? 'merchantAction'
36
- raise TypeError, "value '%s' is not a Hash" % [hash['merchantAction']] unless hash['merchantAction'].is_a? Hash
37
- @merchant_action = OnlinePayments::SDK::Domain::MerchantAction.new_from_hash(hash['merchantAction'])
21
+ attr_accessor :payment
22
+
23
+ # @return (Hash)
24
+ def to_h
25
+ hash = super
26
+ hash['creationOutput'] = @creation_output.to_h unless @creation_output.nil?
27
+ hash['merchantAction'] = @merchant_action.to_h unless @merchant_action.nil?
28
+ hash['payment'] = @payment.to_h unless @payment.nil?
29
+ hash
38
30
  end
39
- if hash.key? 'payment'
40
- raise TypeError, "value '%s' is not a Hash" % [hash['payment']] unless hash['payment'].is_a? Hash
41
- @payment = OnlinePayments::SDK::Domain::PaymentResponse.new_from_hash(hash['payment'])
31
+
32
+ def from_hash(hash)
33
+ super
34
+ if hash.has_key? 'creationOutput'
35
+ raise TypeError, "value '%s' is not a Hash" % [hash['creationOutput']] unless hash['creationOutput'].is_a? Hash
36
+ @creation_output = OnlinePayments::SDK::Domain::PaymentCreationOutput.new_from_hash(hash['creationOutput'])
37
+ end
38
+ if hash.has_key? 'merchantAction'
39
+ raise TypeError, "value '%s' is not a Hash" % [hash['merchantAction']] unless hash['merchantAction'].is_a? Hash
40
+ @merchant_action = OnlinePayments::SDK::Domain::MerchantAction.new_from_hash(hash['merchantAction'])
41
+ end
42
+ if hash.has_key? 'payment'
43
+ raise TypeError, "value '%s' is not a Hash" % [hash['payment']] unless hash['payment'].is_a? Hash
44
+ @payment = OnlinePayments::SDK::Domain::PaymentResponse.new_from_hash(hash['payment'])
45
+ end
42
46
  end
43
47
  end
44
48
  end
@@ -1,52 +1,73 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
5
4
  require 'onlinepayments/sdk/domain/amount_of_money'
6
5
  require 'onlinepayments/sdk/domain/card_payout_method_specific_input'
6
+ require 'onlinepayments/sdk/domain/data_object'
7
+ require 'onlinepayments/sdk/domain/feedbacks'
7
8
  require 'onlinepayments/sdk/domain/omnichannel_payout_specific_input'
8
9
  require 'onlinepayments/sdk/domain/payment_references'
9
10
 
10
- module OnlinePayments::SDK
11
- module Domain
12
-
13
- # @attr [OnlinePayments::SDK::Domain::AmountOfMoney] amount_of_money
14
- # @attr [OnlinePayments::SDK::Domain::CardPayoutMethodSpecificInput] card_payout_method_specific_input
15
- # @attr [OnlinePayments::SDK::Domain::OmnichannelPayoutSpecificInput] omnichannel_payout_specific_input
16
- # @attr [OnlinePayments::SDK::Domain::PaymentReferences] references
17
- class CreatePayoutRequest < OnlinePayments::SDK::DataObject
18
- attr_accessor :amount_of_money
19
- attr_accessor :card_payout_method_specific_input
20
- attr_accessor :omnichannel_payout_specific_input
21
- attr_accessor :references
22
-
23
- # @return (Hash)
24
- def to_h
25
- hash = super
26
- hash['amountOfMoney'] = @amount_of_money.to_h if @amount_of_money
27
- hash['cardPayoutMethodSpecificInput'] = @card_payout_method_specific_input.to_h if @card_payout_method_specific_input
28
- hash['omnichannelPayoutSpecificInput'] = @omnichannel_payout_specific_input.to_h if @omnichannel_payout_specific_input
29
- hash['references'] = @references.to_h if @references
30
- hash
31
- end
11
+ module OnlinePayments
12
+ module SDK
13
+ module Domain
14
+ # @attr [OnlinePayments::SDK::Domain::AmountOfMoney] amount_of_money
15
+ # @attr [OnlinePayments::SDK::Domain::CardPayoutMethodSpecificInput] card_payout_method_specific_input
16
+ # @attr [String] descriptor
17
+ # @attr [OnlinePayments::SDK::Domain::Feedbacks] feedbacks
18
+ # @attr [OnlinePayments::SDK::Domain::OmnichannelPayoutSpecificInput] omnichannel_payout_specific_input
19
+ # @attr [OnlinePayments::SDK::Domain::PaymentReferences] references
20
+ class CreatePayoutRequest < OnlinePayments::SDK::Domain::DataObject
32
21
 
33
- def from_hash(hash)
34
- super
35
- if hash.key? 'amountOfMoney'
36
- raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
37
- @amount_of_money = OnlinePayments::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
38
- end
39
- if hash.key? 'cardPayoutMethodSpecificInput'
40
- raise TypeError, "value '%s' is not a Hash" % [hash['cardPayoutMethodSpecificInput']] unless hash['cardPayoutMethodSpecificInput'].is_a? Hash
41
- @card_payout_method_specific_input = OnlinePayments::SDK::Domain::CardPayoutMethodSpecificInput.new_from_hash(hash['cardPayoutMethodSpecificInput'])
42
- end
43
- if hash.key? 'omnichannelPayoutSpecificInput'
44
- raise TypeError, "value '%s' is not a Hash" % [hash['omnichannelPayoutSpecificInput']] unless hash['omnichannelPayoutSpecificInput'].is_a? Hash
45
- @omnichannel_payout_specific_input = OnlinePayments::SDK::Domain::OmnichannelPayoutSpecificInput.new_from_hash(hash['omnichannelPayoutSpecificInput'])
22
+ attr_accessor :amount_of_money
23
+
24
+ attr_accessor :card_payout_method_specific_input
25
+
26
+ attr_accessor :descriptor
27
+
28
+ attr_accessor :feedbacks
29
+
30
+ attr_accessor :omnichannel_payout_specific_input
31
+
32
+ attr_accessor :references
33
+
34
+ # @return (Hash)
35
+ def to_h
36
+ hash = super
37
+ hash['amountOfMoney'] = @amount_of_money.to_h unless @amount_of_money.nil?
38
+ hash['cardPayoutMethodSpecificInput'] = @card_payout_method_specific_input.to_h unless @card_payout_method_specific_input.nil?
39
+ hash['descriptor'] = @descriptor unless @descriptor.nil?
40
+ hash['feedbacks'] = @feedbacks.to_h unless @feedbacks.nil?
41
+ hash['omnichannelPayoutSpecificInput'] = @omnichannel_payout_specific_input.to_h unless @omnichannel_payout_specific_input.nil?
42
+ hash['references'] = @references.to_h unless @references.nil?
43
+ hash
46
44
  end
47
- if hash.key? 'references'
48
- raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
49
- @references = OnlinePayments::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
45
+
46
+ def from_hash(hash)
47
+ super
48
+ if hash.has_key? 'amountOfMoney'
49
+ raise TypeError, "value '%s' is not a Hash" % [hash['amountOfMoney']] unless hash['amountOfMoney'].is_a? Hash
50
+ @amount_of_money = OnlinePayments::SDK::Domain::AmountOfMoney.new_from_hash(hash['amountOfMoney'])
51
+ end
52
+ if hash.has_key? 'cardPayoutMethodSpecificInput'
53
+ raise TypeError, "value '%s' is not a Hash" % [hash['cardPayoutMethodSpecificInput']] unless hash['cardPayoutMethodSpecificInput'].is_a? Hash
54
+ @card_payout_method_specific_input = OnlinePayments::SDK::Domain::CardPayoutMethodSpecificInput.new_from_hash(hash['cardPayoutMethodSpecificInput'])
55
+ end
56
+ if hash.has_key? 'descriptor'
57
+ @descriptor = hash['descriptor']
58
+ end
59
+ if hash.has_key? 'feedbacks'
60
+ raise TypeError, "value '%s' is not a Hash" % [hash['feedbacks']] unless hash['feedbacks'].is_a? Hash
61
+ @feedbacks = OnlinePayments::SDK::Domain::Feedbacks.new_from_hash(hash['feedbacks'])
62
+ end
63
+ if hash.has_key? 'omnichannelPayoutSpecificInput'
64
+ raise TypeError, "value '%s' is not a Hash" % [hash['omnichannelPayoutSpecificInput']] unless hash['omnichannelPayoutSpecificInput'].is_a? Hash
65
+ @omnichannel_payout_specific_input = OnlinePayments::SDK::Domain::OmnichannelPayoutSpecificInput.new_from_hash(hash['omnichannelPayoutSpecificInput'])
66
+ end
67
+ if hash.has_key? 'references'
68
+ raise TypeError, "value '%s' is not a Hash" % [hash['references']] unless hash['references'].is_a? Hash
69
+ @references = OnlinePayments::SDK::Domain::PaymentReferences.new_from_hash(hash['references'])
70
+ end
50
71
  end
51
72
  end
52
73
  end