onlinepayments-sdk-ruby 4.22.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) 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 -48
  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 -32
  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 -136
  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 +133 -108
  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 -67
  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 -50
  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 +120 -87
  88. data/lib/onlinepayments/sdk/domain/create_payment_request.rb +82 -72
  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 +30 -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 +58 -0
  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 +66 -0
  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 +39 -0
  152. data/lib/onlinepayments/sdk/domain/mandate_personal_name.rb +27 -20
  153. data/lib/onlinepayments/sdk/domain/mandate_personal_name_response.rb +37 -0
  154. data/lib/onlinepayments/sdk/domain/mandate_redirect_data.rb +27 -20
  155. data/lib/onlinepayments/sdk/domain/mandate_response.rb +66 -42
  156. data/lib/onlinepayments/sdk/domain/merchant_action.rb +43 -28
  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 +56 -51
  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 +37 -0
  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 +74 -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 +41 -28
  190. data/lib/onlinepayments/sdk/domain/payment_product302_specific_data.rb +22 -20
  191. data/lib/onlinepayments/sdk/domain/payment_product3203_specific_output.rb +40 -0
  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/redirect_data.rb +27 -20
  237. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_input.rb +140 -81
  238. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_output.rb +96 -68
  239. data/lib/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.rb +30 -0
  240. data/lib/onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.rb +44 -0
  241. data/lib/onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.rb +20 -16
  242. data/lib/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.rb +20 -16
  243. data/lib/onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.rb +74 -0
  244. data/lib/onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.rb +20 -18
  245. data/lib/onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.rb +27 -22
  246. data/lib/onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.rb +32 -0
  247. data/lib/onlinepayments/sdk/domain/redirect_payment_product809_specific_input.rb +20 -16
  248. data/lib/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.rb +41 -20
  249. data/lib/onlinepayments/sdk/domain/redirection_data.rb +20 -16
  250. data/lib/onlinepayments/sdk/domain/refund_card_method_specific_output.rb +34 -26
  251. data/lib/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.rb +34 -26
  252. data/lib/onlinepayments/sdk/domain/refund_error_response.rb +37 -31
  253. data/lib/onlinepayments/sdk/domain/refund_mobile_method_specific_output.rb +34 -24
  254. data/lib/onlinepayments/sdk/domain/refund_output.rb +89 -64
  255. data/lib/onlinepayments/sdk/domain/refund_payment_product840_customer_account.rb +34 -24
  256. data/lib/onlinepayments/sdk/domain/refund_payment_product840_specific_output.rb +20 -18
  257. data/lib/onlinepayments/sdk/domain/refund_redirect_method_specific_output.rb +27 -20
  258. data/lib/onlinepayments/sdk/domain/refund_request.rb +43 -24
  259. data/lib/onlinepayments/sdk/domain/refund_response.rb +41 -32
  260. data/lib/onlinepayments/sdk/domain/refunds_response.rb +22 -20
  261. data/lib/onlinepayments/sdk/domain/regular_expression_validator.rb +20 -16
  262. data/lib/onlinepayments/sdk/domain/send_test_request.rb +30 -0
  263. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.rb +27 -22
  264. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.rb +27 -22
  265. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.rb +34 -28
  266. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.rb +27 -22
  267. data/lib/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.rb +27 -22
  268. data/lib/onlinepayments/sdk/domain/session_request.rb +22 -20
  269. data/lib/onlinepayments/sdk/domain/session_response.rb +53 -39
  270. data/lib/onlinepayments/sdk/domain/shipping.rb +76 -52
  271. data/lib/onlinepayments/sdk/domain/shipping_method.rb +41 -28
  272. data/lib/onlinepayments/sdk/domain/shopping_cart.rb +62 -48
  273. data/lib/onlinepayments/sdk/domain/shopping_cart_extension.rb +51 -43
  274. data/lib/onlinepayments/sdk/domain/show_form_data.rb +35 -39
  275. data/lib/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.rb +60 -35
  276. data/lib/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.rb +20 -16
  277. data/lib/onlinepayments/sdk/domain/subsequent_payment_request.rb +35 -31
  278. data/lib/onlinepayments/sdk/domain/subsequent_payment_response.rb +20 -18
  279. data/lib/onlinepayments/sdk/domain/surcharge.rb +59 -48
  280. data/lib/onlinepayments/sdk/domain/surcharge_calculation_card.rb +27 -20
  281. data/lib/onlinepayments/sdk/domain/surcharge_for_payment_link.rb +20 -16
  282. data/lib/onlinepayments/sdk/domain/surcharge_rate.rb +41 -28
  283. data/lib/onlinepayments/sdk/domain/surcharge_specific_input.rb +27 -22
  284. data/lib/onlinepayments/sdk/domain/surcharge_specific_output.rb +34 -28
  285. data/lib/onlinepayments/sdk/domain/test_connection.rb +20 -16
  286. data/lib/onlinepayments/sdk/domain/three_d_secure.rb +98 -87
  287. data/lib/onlinepayments/sdk/domain/three_d_secure_base.rb +75 -69
  288. data/lib/onlinepayments/sdk/domain/three_d_secure_data.rb +34 -24
  289. data/lib/onlinepayments/sdk/domain/three_d_secure_results.rb +107 -67
  290. data/lib/onlinepayments/sdk/domain/token_card.rb +27 -22
  291. data/lib/onlinepayments/sdk/domain/token_card_data.rb +27 -18
  292. data/lib/onlinepayments/sdk/domain/token_card_specific_input.rb +20 -18
  293. data/lib/onlinepayments/sdk/domain/token_data.rb +27 -18
  294. data/lib/onlinepayments/sdk/domain/token_e_wallet.rb +28 -22
  295. data/lib/onlinepayments/sdk/domain/token_response.rb +58 -45
  296. data/lib/onlinepayments/sdk/domain/transaction.rb +20 -18
  297. data/lib/onlinepayments/sdk/domain/uploadable_file.rb +33 -0
  298. data/lib/onlinepayments/sdk/domain/validate_credentials_request.rb +37 -0
  299. data/lib/onlinepayments/sdk/domain/validate_credentials_response.rb +30 -0
  300. data/lib/onlinepayments/sdk/domain/value_mapping_element.rb +29 -24
  301. data/lib/onlinepayments/sdk/domain.rb +4 -0
  302. data/lib/onlinepayments/sdk/exception_factory.rb +76 -0
  303. data/lib/onlinepayments/sdk/factory.rb +163 -118
  304. data/lib/onlinepayments/sdk/idempotence_exception.rb +23 -19
  305. data/lib/onlinepayments/sdk/json/default_marshaller.rb +34 -0
  306. data/lib/onlinepayments/sdk/json/marshaller.rb +27 -0
  307. data/lib/onlinepayments/sdk/json/marshaller_syntax_exception.rb +9 -0
  308. data/lib/onlinepayments/sdk/json.rb +1 -0
  309. data/lib/onlinepayments/sdk/logging/communicator_logger.rb +18 -16
  310. data/lib/onlinepayments/sdk/logging/log_message_builder.rb +80 -47
  311. data/lib/onlinepayments/sdk/logging/logging_capable.rb +1 -1
  312. data/lib/onlinepayments/sdk/logging/obfuscation/body_obfuscator.rb +113 -0
  313. data/lib/onlinepayments/sdk/logging/obfuscation/header_obfuscator.rb +54 -0
  314. data/lib/onlinepayments/sdk/logging/obfuscation/obfuscation_capable.rb +21 -0
  315. data/lib/onlinepayments/sdk/logging/obfuscation/obfuscation_rule.rb +47 -0
  316. data/lib/onlinepayments/sdk/logging/obfuscation.rb +1 -0
  317. data/lib/onlinepayments/sdk/logging/request_log_message_builder.rb +40 -29
  318. data/lib/onlinepayments/sdk/logging/response_log_message_builder.rb +30 -23
  319. data/lib/onlinepayments/sdk/logging/ruby_communicator_logger.rb +49 -45
  320. data/lib/onlinepayments/sdk/logging/stdout_communicator_logger.rb +20 -23
  321. data/lib/onlinepayments/sdk/logging.rb +1 -10
  322. data/lib/onlinepayments/sdk/merchant/captures/captures_client.rb +57 -0
  323. data/lib/onlinepayments/sdk/merchant/captures.rb +4 -0
  324. data/lib/onlinepayments/sdk/merchant/complete/complete_client.rb +60 -0
  325. data/lib/onlinepayments/sdk/merchant/complete.rb +4 -0
  326. data/lib/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.rb +72 -71
  327. data/lib/onlinepayments/sdk/merchant/hostedcheckout.rb +4 -0
  328. data/lib/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.rb +72 -71
  329. data/lib/onlinepayments/sdk/merchant/hostedtokenization.rb +4 -0
  330. data/lib/onlinepayments/sdk/merchant/mandates/mandates_client.rb +165 -164
  331. data/lib/onlinepayments/sdk/merchant/mandates.rb +4 -0
  332. data/lib/onlinepayments/sdk/merchant/merchant_client.rb +116 -64
  333. data/lib/onlinepayments/sdk/merchant/paymentlinks/payment_links_client.rb +102 -101
  334. data/lib/onlinepayments/sdk/merchant/paymentlinks.rb +4 -0
  335. data/lib/onlinepayments/sdk/merchant/payments/payments_client.rb +233 -332
  336. data/lib/onlinepayments/sdk/merchant/payments.rb +4 -0
  337. data/lib/onlinepayments/sdk/merchant/payouts/payouts_client.rb +73 -71
  338. data/lib/onlinepayments/sdk/merchant/payouts.rb +4 -0
  339. data/lib/onlinepayments/sdk/merchant/privacypolicy/get_privacy_policy_params.rb +32 -0
  340. data/lib/onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.rb +54 -0
  341. data/lib/onlinepayments/sdk/merchant/privacypolicy.rb +4 -0
  342. data/lib/onlinepayments/sdk/merchant/productgroups/get_product_group_params.rb +50 -47
  343. data/lib/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.rb +50 -47
  344. data/lib/onlinepayments/sdk/merchant/productgroups/product_groups_client.rb +72 -72
  345. data/lib/onlinepayments/sdk/merchant/productgroups.rb +4 -0
  346. data/lib/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.rb +27 -25
  347. data/lib/onlinepayments/sdk/merchant/products/get_payment_product_params.rb +50 -47
  348. data/lib/onlinepayments/sdk/merchant/products/get_payment_products_params.rb +50 -47
  349. data/lib/onlinepayments/sdk/merchant/products/get_product_directory_params.rb +21 -19
  350. data/lib/onlinepayments/sdk/merchant/products/products_client.rb +134 -136
  351. data/lib/onlinepayments/sdk/merchant/products.rb +4 -0
  352. data/lib/onlinepayments/sdk/merchant/refunds/refunds_client.rb +57 -0
  353. data/lib/onlinepayments/sdk/merchant/refunds.rb +4 -0
  354. data/lib/onlinepayments/sdk/merchant/services/services_client.rb +124 -155
  355. data/lib/onlinepayments/sdk/merchant/services.rb +4 -0
  356. data/lib/onlinepayments/sdk/merchant/sessions/sessions_client.rb +42 -41
  357. data/lib/onlinepayments/sdk/merchant/sessions.rb +4 -0
  358. data/lib/onlinepayments/sdk/merchant/tokens/tokens_client.rb +101 -100
  359. data/lib/onlinepayments/sdk/merchant/tokens.rb +4 -0
  360. data/lib/onlinepayments/sdk/merchant/webhooks/webhooks_client.rb +83 -0
  361. data/lib/onlinepayments/sdk/merchant/webhooks.rb +4 -0
  362. data/lib/onlinepayments/sdk/merchant.rb +4 -0
  363. data/lib/onlinepayments/sdk/platform_exception.rb +19 -0
  364. data/lib/onlinepayments/sdk/proxy_configuration.rb +60 -60
  365. data/lib/onlinepayments/sdk/reference_exception.rb +14 -9
  366. data/lib/onlinepayments/sdk/validation_exception.rb +14 -9
  367. data/lib/onlinepayments/sdk/webhooks/api_version_mismatch_exception.rb +17 -15
  368. data/lib/onlinepayments/sdk/webhooks/in_memory_secret_key_store.rb +46 -43
  369. data/lib/onlinepayments/sdk/webhooks/secret_key_not_available_exception.rb +16 -12
  370. data/lib/onlinepayments/sdk/webhooks/secret_key_store.rb +13 -11
  371. data/lib/onlinepayments/sdk/webhooks/signature_validation_exception.rb +15 -14
  372. data/lib/onlinepayments/sdk/webhooks/signature_validator.rb +81 -0
  373. data/lib/onlinepayments/sdk/webhooks/webhooks_event.rb +84 -53
  374. data/lib/onlinepayments/sdk/webhooks/webhooks_helper.rb +28 -90
  375. data/lib/onlinepayments/sdk/webhooks.rb +1 -11
  376. data/lib/onlinepayments/sdk.rb +4 -26
  377. data/onlinepayments-sdk-ruby.gemspec +3 -2
  378. metadata +95 -40
  379. data/lib/onlinepayments/sdk/authenticator.rb +0 -16
  380. data/lib/onlinepayments/sdk/communication_exception.rb +0 -16
  381. data/lib/onlinepayments/sdk/connection.rb +0 -41
  382. data/lib/onlinepayments/sdk/data_object.rb +0 -31
  383. data/lib/onlinepayments/sdk/defaultimpl/authorization_type.rb +0 -24
  384. data/lib/onlinepayments/sdk/defaultimpl/default_authenticator.rb +0 -108
  385. data/lib/onlinepayments/sdk/defaultimpl/default_connection.rb +0 -365
  386. data/lib/onlinepayments/sdk/defaultimpl/default_marshaller.rb +0 -32
  387. data/lib/onlinepayments/sdk/defaultimpl.rb +0 -6
  388. data/lib/onlinepayments/sdk/domain/network_token_essentials.rb +0 -38
  389. data/lib/onlinepayments/sdk/domain/page_customization.rb +0 -26
  390. data/lib/onlinepayments/sdk/domain/payment_product5002_specific_input.rb +0 -34
  391. data/lib/onlinepayments/sdk/domain/payment_product840.rb +0 -26
  392. data/lib/onlinepayments/sdk/domain/three_ds_whitelist.rb +0 -30
  393. data/lib/onlinepayments/sdk/endpoint_configuration.rb +0 -127
  394. data/lib/onlinepayments/sdk/exceptions.rb +0 -8
  395. data/lib/onlinepayments/sdk/logging/logging_util.rb +0 -286
  396. data/lib/onlinepayments/sdk/marshaller.rb +0 -24
  397. data/lib/onlinepayments/sdk/marshaller_syntax_exception.rb +0 -6
  398. data/lib/onlinepayments/sdk/merchant/services/get_privacy_policy_params.rb +0 -30
  399. data/lib/onlinepayments/sdk/meta_data_provider.rb +0 -150
  400. data/lib/onlinepayments/sdk/modules.rb +0 -62
  401. data/lib/onlinepayments/sdk/multipart_form_data_object.rb +0 -44
  402. data/lib/onlinepayments/sdk/multipart_form_data_request.rb +0 -9
  403. data/lib/onlinepayments/sdk/not_found_exception.rb +0 -16
  404. data/lib/onlinepayments/sdk/param_request.rb +0 -11
  405. data/lib/onlinepayments/sdk/payment_platform_exception.rb +0 -15
  406. data/lib/onlinepayments/sdk/pooled_connection.rb +0 -21
  407. data/lib/onlinepayments/sdk/request_header.rb +0 -50
  408. data/lib/onlinepayments/sdk/request_param.rb +0 -23
  409. data/lib/onlinepayments/sdk/response_exception.rb +0 -47
  410. data/lib/onlinepayments/sdk/response_header.rb +0 -42
  411. data/lib/onlinepayments/sdk/uploadable_file.rb +0 -30
  412. data/lib/onlinepayments/sdk/webhooks/webhooks.rb +0 -22
  413. 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
@@ -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,97 +1,156 @@
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
+ require 'onlinepayments/sdk/domain/redirect_payment_product3203_specific_input'
6
+ require 'onlinepayments/sdk/domain/redirect_payment_product3302_specific_input'
5
7
  require 'onlinepayments/sdk/domain/redirect_payment_product3306_specific_input'
6
8
  require 'onlinepayments/sdk/domain/redirect_payment_product5001_specific_input'
9
+ require 'onlinepayments/sdk/domain/redirect_payment_product5300_specific_input'
7
10
  require 'onlinepayments/sdk/domain/redirect_payment_product5406_specific_input'
8
11
  require 'onlinepayments/sdk/domain/redirect_payment_product5408_specific_input'
12
+ require 'onlinepayments/sdk/domain/redirect_payment_product5410_specific_input'
9
13
  require 'onlinepayments/sdk/domain/redirect_payment_product809_specific_input'
10
14
  require 'onlinepayments/sdk/domain/redirect_payment_product840_specific_input'
11
15
  require 'onlinepayments/sdk/domain/redirection_data'
12
16
 
13
- module OnlinePayments::SDK
14
- module Domain
15
-
16
- # @attr [String] payment_option
17
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput] payment_product3306_specific_input
18
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput] payment_product5001_specific_input
19
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput] payment_product5406_specific_input
20
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput] payment_product5408_specific_input
21
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput] payment_product809_specific_input
22
- # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput] payment_product840_specific_input
23
- # @attr [Integer] payment_product_id
24
- # @attr [OnlinePayments::SDK::Domain::RedirectionData] redirection_data
25
- # @attr [true/false] requires_approval
26
- # @attr [String] token
27
- # @attr [true/false] tokenize
28
- class RedirectPaymentMethodSpecificInput < OnlinePayments::SDK::DataObject
29
- attr_accessor :payment_option
30
- attr_accessor :payment_product3306_specific_input
31
- attr_accessor :payment_product5001_specific_input
32
- attr_accessor :payment_product5406_specific_input
33
- attr_accessor :payment_product5408_specific_input
34
- attr_accessor :payment_product809_specific_input
35
- attr_accessor :payment_product840_specific_input
36
- attr_accessor :payment_product_id
37
- attr_accessor :redirection_data
38
- attr_accessor :requires_approval
39
- attr_accessor :token
40
- attr_accessor :tokenize
41
-
42
- # @return (Hash)
43
- def to_h
44
- hash = super
45
- hash['paymentOption'] = @payment_option unless @payment_option.nil?
46
- hash['paymentProduct3306SpecificInput'] = @payment_product3306_specific_input.to_h if @payment_product3306_specific_input
47
- hash['paymentProduct5001SpecificInput'] = @payment_product5001_specific_input.to_h if @payment_product5001_specific_input
48
- hash['paymentProduct5406SpecificInput'] = @payment_product5406_specific_input.to_h if @payment_product5406_specific_input
49
- hash['paymentProduct5408SpecificInput'] = @payment_product5408_specific_input.to_h if @payment_product5408_specific_input
50
- hash['paymentProduct809SpecificInput'] = @payment_product809_specific_input.to_h if @payment_product809_specific_input
51
- hash['paymentProduct840SpecificInput'] = @payment_product840_specific_input.to_h if @payment_product840_specific_input
52
- hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
53
- hash['redirectionData'] = @redirection_data.to_h if @redirection_data
54
- hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
55
- hash['token'] = @token unless @token.nil?
56
- hash['tokenize'] = @tokenize unless @tokenize.nil?
57
- hash
58
- end
17
+ module OnlinePayments
18
+ module SDK
19
+ module Domain
20
+ # @attr [String] payment_option
21
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3203SpecificInput] payment_product3203_specific_input
22
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3302SpecificInput] payment_product3302_specific_input
23
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput] payment_product3306_specific_input
24
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput] payment_product5001_specific_input
25
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5300SpecificInput] payment_product5300_specific_input
26
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput] payment_product5406_specific_input
27
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput] payment_product5408_specific_input
28
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct5410SpecificInput] payment_product5410_specific_input
29
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput] payment_product809_specific_input
30
+ # @attr [OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput] payment_product840_specific_input
31
+ # @attr [Integer] payment_product_id
32
+ # @attr [OnlinePayments::SDK::Domain::RedirectionData] redirection_data
33
+ # @attr [true/false] requires_approval
34
+ # @attr [String] token
35
+ # @attr [true/false] tokenize
36
+ class RedirectPaymentMethodSpecificInput < OnlinePayments::SDK::Domain::DataObject
59
37
 
60
- def from_hash(hash)
61
- super
62
- @payment_option = hash['paymentOption'] if hash.key? 'paymentOption'
63
- if hash.key? 'paymentProduct3306SpecificInput'
64
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3306SpecificInput']] unless hash['paymentProduct3306SpecificInput'].is_a? Hash
65
- @payment_product3306_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput.new_from_hash(hash['paymentProduct3306SpecificInput'])
66
- end
67
- if hash.key? 'paymentProduct5001SpecificInput'
68
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5001SpecificInput']] unless hash['paymentProduct5001SpecificInput'].is_a? Hash
69
- @payment_product5001_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput.new_from_hash(hash['paymentProduct5001SpecificInput'])
70
- end
71
- if hash.key? 'paymentProduct5406SpecificInput'
72
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5406SpecificInput']] unless hash['paymentProduct5406SpecificInput'].is_a? Hash
73
- @payment_product5406_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput.new_from_hash(hash['paymentProduct5406SpecificInput'])
74
- end
75
- if hash.key? 'paymentProduct5408SpecificInput'
76
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5408SpecificInput']] unless hash['paymentProduct5408SpecificInput'].is_a? Hash
77
- @payment_product5408_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput.new_from_hash(hash['paymentProduct5408SpecificInput'])
78
- end
79
- if hash.key? 'paymentProduct809SpecificInput'
80
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct809SpecificInput']] unless hash['paymentProduct809SpecificInput'].is_a? Hash
81
- @payment_product809_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput.new_from_hash(hash['paymentProduct809SpecificInput'])
82
- end
83
- if hash.key? 'paymentProduct840SpecificInput'
84
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificInput']] unless hash['paymentProduct840SpecificInput'].is_a? Hash
85
- @payment_product840_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput.new_from_hash(hash['paymentProduct840SpecificInput'])
38
+ attr_accessor :payment_option
39
+
40
+ attr_accessor :payment_product3203_specific_input
41
+
42
+ attr_accessor :payment_product3302_specific_input
43
+
44
+ attr_accessor :payment_product3306_specific_input
45
+
46
+ attr_accessor :payment_product5001_specific_input
47
+
48
+ attr_accessor :payment_product5300_specific_input
49
+
50
+ attr_accessor :payment_product5406_specific_input
51
+
52
+ attr_accessor :payment_product5408_specific_input
53
+
54
+ attr_accessor :payment_product5410_specific_input
55
+
56
+ attr_accessor :payment_product809_specific_input
57
+
58
+ attr_accessor :payment_product840_specific_input
59
+
60
+ attr_accessor :payment_product_id
61
+
62
+ attr_accessor :redirection_data
63
+
64
+ attr_accessor :requires_approval
65
+
66
+ attr_accessor :token
67
+
68
+ attr_accessor :tokenize
69
+
70
+ # @return (Hash)
71
+ def to_h
72
+ hash = super
73
+ hash['paymentOption'] = @payment_option unless @payment_option.nil?
74
+ hash['paymentProduct3203SpecificInput'] = @payment_product3203_specific_input.to_h unless @payment_product3203_specific_input.nil?
75
+ hash['paymentProduct3302SpecificInput'] = @payment_product3302_specific_input.to_h unless @payment_product3302_specific_input.nil?
76
+ hash['paymentProduct3306SpecificInput'] = @payment_product3306_specific_input.to_h unless @payment_product3306_specific_input.nil?
77
+ hash['paymentProduct5001SpecificInput'] = @payment_product5001_specific_input.to_h unless @payment_product5001_specific_input.nil?
78
+ hash['paymentProduct5300SpecificInput'] = @payment_product5300_specific_input.to_h unless @payment_product5300_specific_input.nil?
79
+ hash['paymentProduct5406SpecificInput'] = @payment_product5406_specific_input.to_h unless @payment_product5406_specific_input.nil?
80
+ hash['paymentProduct5408SpecificInput'] = @payment_product5408_specific_input.to_h unless @payment_product5408_specific_input.nil?
81
+ hash['paymentProduct5410SpecificInput'] = @payment_product5410_specific_input.to_h unless @payment_product5410_specific_input.nil?
82
+ hash['paymentProduct809SpecificInput'] = @payment_product809_specific_input.to_h unless @payment_product809_specific_input.nil?
83
+ hash['paymentProduct840SpecificInput'] = @payment_product840_specific_input.to_h unless @payment_product840_specific_input.nil?
84
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
85
+ hash['redirectionData'] = @redirection_data.to_h unless @redirection_data.nil?
86
+ hash['requiresApproval'] = @requires_approval unless @requires_approval.nil?
87
+ hash['token'] = @token unless @token.nil?
88
+ hash['tokenize'] = @tokenize unless @tokenize.nil?
89
+ hash
86
90
  end
87
- @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
88
- if hash.key? 'redirectionData'
89
- raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
90
- @redirection_data = OnlinePayments::SDK::Domain::RedirectionData.new_from_hash(hash['redirectionData'])
91
+
92
+ def from_hash(hash)
93
+ super
94
+ if hash.has_key? 'paymentOption'
95
+ @payment_option = hash['paymentOption']
96
+ end
97
+ if hash.has_key? 'paymentProduct3203SpecificInput'
98
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3203SpecificInput']] unless hash['paymentProduct3203SpecificInput'].is_a? Hash
99
+ @payment_product3203_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3203SpecificInput.new_from_hash(hash['paymentProduct3203SpecificInput'])
100
+ end
101
+ if hash.has_key? 'paymentProduct3302SpecificInput'
102
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3302SpecificInput']] unless hash['paymentProduct3302SpecificInput'].is_a? Hash
103
+ @payment_product3302_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3302SpecificInput.new_from_hash(hash['paymentProduct3302SpecificInput'])
104
+ end
105
+ if hash.has_key? 'paymentProduct3306SpecificInput'
106
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3306SpecificInput']] unless hash['paymentProduct3306SpecificInput'].is_a? Hash
107
+ @payment_product3306_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct3306SpecificInput.new_from_hash(hash['paymentProduct3306SpecificInput'])
108
+ end
109
+ if hash.has_key? 'paymentProduct5001SpecificInput'
110
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5001SpecificInput']] unless hash['paymentProduct5001SpecificInput'].is_a? Hash
111
+ @payment_product5001_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5001SpecificInput.new_from_hash(hash['paymentProduct5001SpecificInput'])
112
+ end
113
+ if hash.has_key? 'paymentProduct5300SpecificInput'
114
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5300SpecificInput']] unless hash['paymentProduct5300SpecificInput'].is_a? Hash
115
+ @payment_product5300_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5300SpecificInput.new_from_hash(hash['paymentProduct5300SpecificInput'])
116
+ end
117
+ if hash.has_key? 'paymentProduct5406SpecificInput'
118
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5406SpecificInput']] unless hash['paymentProduct5406SpecificInput'].is_a? Hash
119
+ @payment_product5406_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5406SpecificInput.new_from_hash(hash['paymentProduct5406SpecificInput'])
120
+ end
121
+ if hash.has_key? 'paymentProduct5408SpecificInput'
122
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5408SpecificInput']] unless hash['paymentProduct5408SpecificInput'].is_a? Hash
123
+ @payment_product5408_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5408SpecificInput.new_from_hash(hash['paymentProduct5408SpecificInput'])
124
+ end
125
+ if hash.has_key? 'paymentProduct5410SpecificInput'
126
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5410SpecificInput']] unless hash['paymentProduct5410SpecificInput'].is_a? Hash
127
+ @payment_product5410_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct5410SpecificInput.new_from_hash(hash['paymentProduct5410SpecificInput'])
128
+ end
129
+ if hash.has_key? 'paymentProduct809SpecificInput'
130
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct809SpecificInput']] unless hash['paymentProduct809SpecificInput'].is_a? Hash
131
+ @payment_product809_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct809SpecificInput.new_from_hash(hash['paymentProduct809SpecificInput'])
132
+ end
133
+ if hash.has_key? 'paymentProduct840SpecificInput'
134
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificInput']] unless hash['paymentProduct840SpecificInput'].is_a? Hash
135
+ @payment_product840_specific_input = OnlinePayments::SDK::Domain::RedirectPaymentProduct840SpecificInput.new_from_hash(hash['paymentProduct840SpecificInput'])
136
+ end
137
+ if hash.has_key? 'paymentProductId'
138
+ @payment_product_id = hash['paymentProductId']
139
+ end
140
+ if hash.has_key? 'redirectionData'
141
+ raise TypeError, "value '%s' is not a Hash" % [hash['redirectionData']] unless hash['redirectionData'].is_a? Hash
142
+ @redirection_data = OnlinePayments::SDK::Domain::RedirectionData.new_from_hash(hash['redirectionData'])
143
+ end
144
+ if hash.has_key? 'requiresApproval'
145
+ @requires_approval = hash['requiresApproval']
146
+ end
147
+ if hash.has_key? 'token'
148
+ @token = hash['token']
149
+ end
150
+ if hash.has_key? 'tokenize'
151
+ @tokenize = hash['tokenize']
152
+ end
91
153
  end
92
- @requires_approval = hash['requiresApproval'] if hash.key? 'requiresApproval'
93
- @token = hash['token'] if hash.key? 'token'
94
- @tokenize = hash['tokenize'] if hash.key? 'tokenize'
95
154
  end
96
155
  end
97
156
  end
@@ -1,85 +1,113 @@
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/customer_bank_account'
5
+ require 'onlinepayments/sdk/domain/data_object'
6
6
  require 'onlinepayments/sdk/domain/fraud_results'
7
+ require 'onlinepayments/sdk/domain/payment_product3203_specific_output'
7
8
  require 'onlinepayments/sdk/domain/payment_product5001_specific_output'
8
9
  require 'onlinepayments/sdk/domain/payment_product5402_specific_output'
9
10
  require 'onlinepayments/sdk/domain/payment_product5500_specific_output'
10
11
  require 'onlinepayments/sdk/domain/payment_product840_specific_output'
11
12
 
12
- module OnlinePayments::SDK
13
- module Domain
13
+ module OnlinePayments
14
+ module SDK
15
+ module Domain
16
+ # @attr [String] authorisation_code
17
+ # @attr [OnlinePayments::SDK::Domain::CustomerBankAccount] customer_bank_account
18
+ # @attr [OnlinePayments::SDK::Domain::FraudResults] fraud_results
19
+ # @attr [String] payment_option
20
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3203SpecificOutput] payment_product3203_specific_output
21
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct5001SpecificOutput] payment_product5001_specific_output
22
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct5402SpecificOutput] payment_product5402_specific_output
23
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct5500SpecificOutput] payment_product5500_specific_output
24
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct840SpecificOutput] payment_product840_specific_output
25
+ # @attr [Integer] payment_product_id
26
+ # @attr [String] token
27
+ class RedirectPaymentMethodSpecificOutput < OnlinePayments::SDK::Domain::DataObject
14
28
 
15
- # @attr [String] authorisation_code
16
- # @attr [OnlinePayments::SDK::Domain::CustomerBankAccount] customer_bank_account
17
- # @attr [OnlinePayments::SDK::Domain::FraudResults] fraud_results
18
- # @attr [String] payment_option
19
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5001SpecificOutput] payment_product5001_specific_output
20
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5402SpecificOutput] payment_product5402_specific_output
21
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5500SpecificOutput] payment_product5500_specific_output
22
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct840SpecificOutput] payment_product840_specific_output
23
- # @attr [Integer] payment_product_id
24
- # @attr [String] token
25
- class RedirectPaymentMethodSpecificOutput < OnlinePayments::SDK::DataObject
26
- attr_accessor :authorisation_code
27
- attr_accessor :customer_bank_account
28
- attr_accessor :fraud_results
29
- attr_accessor :payment_option
30
- attr_accessor :payment_product5001_specific_output
31
- attr_accessor :payment_product5402_specific_output
32
- attr_accessor :payment_product5500_specific_output
33
- attr_accessor :payment_product840_specific_output
34
- attr_accessor :payment_product_id
35
- attr_accessor :token
29
+ attr_accessor :authorisation_code
36
30
 
37
- # @return (Hash)
38
- def to_h
39
- hash = super
40
- hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
41
- hash['customerBankAccount'] = @customer_bank_account.to_h if @customer_bank_account
42
- hash['fraudResults'] = @fraud_results.to_h if @fraud_results
43
- hash['paymentOption'] = @payment_option unless @payment_option.nil?
44
- hash['paymentProduct5001SpecificOutput'] = @payment_product5001_specific_output.to_h if @payment_product5001_specific_output
45
- hash['paymentProduct5402SpecificOutput'] = @payment_product5402_specific_output.to_h if @payment_product5402_specific_output
46
- hash['paymentProduct5500SpecificOutput'] = @payment_product5500_specific_output.to_h if @payment_product5500_specific_output
47
- hash['paymentProduct840SpecificOutput'] = @payment_product840_specific_output.to_h if @payment_product840_specific_output
48
- hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
49
- hash['token'] = @token unless @token.nil?
50
- hash
51
- end
31
+ attr_accessor :customer_bank_account
52
32
 
53
- def from_hash(hash)
54
- super
55
- @authorisation_code = hash['authorisationCode'] if hash.key? 'authorisationCode'
56
- if hash.key? 'customerBankAccount'
57
- raise TypeError, "value '%s' is not a Hash" % [hash['customerBankAccount']] unless hash['customerBankAccount'].is_a? Hash
58
- @customer_bank_account = OnlinePayments::SDK::Domain::CustomerBankAccount.new_from_hash(hash['customerBankAccount'])
59
- end
60
- if hash.key? 'fraudResults'
61
- raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
62
- @fraud_results = OnlinePayments::SDK::Domain::FraudResults.new_from_hash(hash['fraudResults'])
63
- end
64
- @payment_option = hash['paymentOption'] if hash.key? 'paymentOption'
65
- if hash.key? 'paymentProduct5001SpecificOutput'
66
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5001SpecificOutput']] unless hash['paymentProduct5001SpecificOutput'].is_a? Hash
67
- @payment_product5001_specific_output = OnlinePayments::SDK::Domain::PaymentProduct5001SpecificOutput.new_from_hash(hash['paymentProduct5001SpecificOutput'])
68
- end
69
- if hash.key? 'paymentProduct5402SpecificOutput'
70
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5402SpecificOutput']] unless hash['paymentProduct5402SpecificOutput'].is_a? Hash
71
- @payment_product5402_specific_output = OnlinePayments::SDK::Domain::PaymentProduct5402SpecificOutput.new_from_hash(hash['paymentProduct5402SpecificOutput'])
72
- end
73
- if hash.key? 'paymentProduct5500SpecificOutput'
74
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5500SpecificOutput']] unless hash['paymentProduct5500SpecificOutput'].is_a? Hash
75
- @payment_product5500_specific_output = OnlinePayments::SDK::Domain::PaymentProduct5500SpecificOutput.new_from_hash(hash['paymentProduct5500SpecificOutput'])
33
+ attr_accessor :fraud_results
34
+
35
+ attr_accessor :payment_option
36
+
37
+ attr_accessor :payment_product3203_specific_output
38
+
39
+ attr_accessor :payment_product5001_specific_output
40
+
41
+ attr_accessor :payment_product5402_specific_output
42
+
43
+ attr_accessor :payment_product5500_specific_output
44
+
45
+ attr_accessor :payment_product840_specific_output
46
+
47
+ attr_accessor :payment_product_id
48
+
49
+ attr_accessor :token
50
+
51
+ # @return (Hash)
52
+ def to_h
53
+ hash = super
54
+ hash['authorisationCode'] = @authorisation_code unless @authorisation_code.nil?
55
+ hash['customerBankAccount'] = @customer_bank_account.to_h unless @customer_bank_account.nil?
56
+ hash['fraudResults'] = @fraud_results.to_h unless @fraud_results.nil?
57
+ hash['paymentOption'] = @payment_option unless @payment_option.nil?
58
+ hash['paymentProduct3203SpecificOutput'] = @payment_product3203_specific_output.to_h unless @payment_product3203_specific_output.nil?
59
+ hash['paymentProduct5001SpecificOutput'] = @payment_product5001_specific_output.to_h unless @payment_product5001_specific_output.nil?
60
+ hash['paymentProduct5402SpecificOutput'] = @payment_product5402_specific_output.to_h unless @payment_product5402_specific_output.nil?
61
+ hash['paymentProduct5500SpecificOutput'] = @payment_product5500_specific_output.to_h unless @payment_product5500_specific_output.nil?
62
+ hash['paymentProduct840SpecificOutput'] = @payment_product840_specific_output.to_h unless @payment_product840_specific_output.nil?
63
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
64
+ hash['token'] = @token unless @token.nil?
65
+ hash
76
66
  end
77
- if hash.key? 'paymentProduct840SpecificOutput'
78
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificOutput']] unless hash['paymentProduct840SpecificOutput'].is_a? Hash
79
- @payment_product840_specific_output = OnlinePayments::SDK::Domain::PaymentProduct840SpecificOutput.new_from_hash(hash['paymentProduct840SpecificOutput'])
67
+
68
+ def from_hash(hash)
69
+ super
70
+ if hash.has_key? 'authorisationCode'
71
+ @authorisation_code = hash['authorisationCode']
72
+ end
73
+ if hash.has_key? 'customerBankAccount'
74
+ raise TypeError, "value '%s' is not a Hash" % [hash['customerBankAccount']] unless hash['customerBankAccount'].is_a? Hash
75
+ @customer_bank_account = OnlinePayments::SDK::Domain::CustomerBankAccount.new_from_hash(hash['customerBankAccount'])
76
+ end
77
+ if hash.has_key? 'fraudResults'
78
+ raise TypeError, "value '%s' is not a Hash" % [hash['fraudResults']] unless hash['fraudResults'].is_a? Hash
79
+ @fraud_results = OnlinePayments::SDK::Domain::FraudResults.new_from_hash(hash['fraudResults'])
80
+ end
81
+ if hash.has_key? 'paymentOption'
82
+ @payment_option = hash['paymentOption']
83
+ end
84
+ if hash.has_key? 'paymentProduct3203SpecificOutput'
85
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3203SpecificOutput']] unless hash['paymentProduct3203SpecificOutput'].is_a? Hash
86
+ @payment_product3203_specific_output = OnlinePayments::SDK::Domain::PaymentProduct3203SpecificOutput.new_from_hash(hash['paymentProduct3203SpecificOutput'])
87
+ end
88
+ if hash.has_key? 'paymentProduct5001SpecificOutput'
89
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5001SpecificOutput']] unless hash['paymentProduct5001SpecificOutput'].is_a? Hash
90
+ @payment_product5001_specific_output = OnlinePayments::SDK::Domain::PaymentProduct5001SpecificOutput.new_from_hash(hash['paymentProduct5001SpecificOutput'])
91
+ end
92
+ if hash.has_key? 'paymentProduct5402SpecificOutput'
93
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5402SpecificOutput']] unless hash['paymentProduct5402SpecificOutput'].is_a? Hash
94
+ @payment_product5402_specific_output = OnlinePayments::SDK::Domain::PaymentProduct5402SpecificOutput.new_from_hash(hash['paymentProduct5402SpecificOutput'])
95
+ end
96
+ if hash.has_key? 'paymentProduct5500SpecificOutput'
97
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5500SpecificOutput']] unless hash['paymentProduct5500SpecificOutput'].is_a? Hash
98
+ @payment_product5500_specific_output = OnlinePayments::SDK::Domain::PaymentProduct5500SpecificOutput.new_from_hash(hash['paymentProduct5500SpecificOutput'])
99
+ end
100
+ if hash.has_key? 'paymentProduct840SpecificOutput'
101
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct840SpecificOutput']] unless hash['paymentProduct840SpecificOutput'].is_a? Hash
102
+ @payment_product840_specific_output = OnlinePayments::SDK::Domain::PaymentProduct840SpecificOutput.new_from_hash(hash['paymentProduct840SpecificOutput'])
103
+ end
104
+ if hash.has_key? 'paymentProductId'
105
+ @payment_product_id = hash['paymentProductId']
106
+ end
107
+ if hash.has_key? 'token'
108
+ @token = hash['token']
109
+ end
80
110
  end
81
- @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
82
- @token = hash['token'] if hash.key? 'token'
83
111
  end
84
112
  end
85
113
  end
@@ -0,0 +1,30 @@
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 [String] checkout_type
10
+ class RedirectPaymentProduct3203SpecificInput < OnlinePayments::SDK::Domain::DataObject
11
+
12
+ attr_accessor :checkout_type
13
+
14
+ # @return (Hash)
15
+ def to_h
16
+ hash = super
17
+ hash['checkoutType'] = @checkout_type unless @checkout_type.nil?
18
+ hash
19
+ end
20
+
21
+ def from_hash(hash)
22
+ super
23
+ if hash.has_key? 'checkoutType'
24
+ @checkout_type = hash['checkoutType']
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end