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,153 +1,216 @@
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'
6
5
  require 'onlinepayments/sdk/domain/card_recurrence_details'
7
6
  require 'onlinepayments/sdk/domain/currency_conversion_input'
7
+ require 'onlinepayments/sdk/domain/data_object'
8
+ require 'onlinepayments/sdk/domain/multiple_payment_information'
8
9
  require 'onlinepayments/sdk/domain/payment_product130_specific_input'
9
10
  require 'onlinepayments/sdk/domain/payment_product3012_specific_input'
10
11
  require 'onlinepayments/sdk/domain/payment_product3208_specific_input'
11
12
  require 'onlinepayments/sdk/domain/payment_product3209_specific_input'
12
- require 'onlinepayments/sdk/domain/payment_product5002_specific_input'
13
13
  require 'onlinepayments/sdk/domain/three_d_secure'
14
14
 
15
- module OnlinePayments::SDK
16
- module Domain
17
-
18
- # @attr [true/false] allow_dynamic_linking
19
- # @attr [String] authorization_mode
20
- # @attr [OnlinePayments::SDK::Domain::Card] card
21
- # @attr [String] card_on_file_recurring_expiration
22
- # @attr [String] card_on_file_recurring_frequency
23
- # @attr [OnlinePayments::SDK::Domain::CurrencyConversionInput] currency_conversion
24
- # @attr [String] initial_scheme_transaction_id
25
- # @attr [true/false] is_recurring
26
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput] payment_product130_specific_input
27
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput] payment_product3012_specific_input
28
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput] payment_product3208_specific_input
29
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput] payment_product3209_specific_input
30
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5002SpecificInput] payment_product5002_specific_input
31
- # @attr [Integer] payment_product_id
32
- # @attr [OnlinePayments::SDK::Domain::CardRecurrenceDetails] recurring
33
- # @attr [String] return_url
34
- # @attr [String] scheme_reference_data
35
- # @attr [true/false] skip_authentication
36
- # @attr [OnlinePayments::SDK::Domain::ThreeDSecure] three_d_secure
37
- # @attr [String] token
38
- # @attr [true/false] tokenize
39
- # @attr [String] transaction_channel
40
- # @attr [String] unscheduled_card_on_file_requestor
41
- # @attr [String] unscheduled_card_on_file_sequence_indicator
42
- class CardPaymentMethodSpecificInput < OnlinePayments::SDK::DataObject
43
- attr_accessor :allow_dynamic_linking
44
- attr_accessor :authorization_mode
45
- attr_accessor :card
46
- attr_accessor :card_on_file_recurring_expiration
47
- attr_accessor :card_on_file_recurring_frequency
48
- attr_accessor :currency_conversion
49
- attr_accessor :initial_scheme_transaction_id
50
- attr_accessor :is_recurring
51
- attr_accessor :payment_product130_specific_input
52
- attr_accessor :payment_product3012_specific_input
53
- attr_accessor :payment_product3208_specific_input
54
- attr_accessor :payment_product3209_specific_input
55
- attr_accessor :payment_product5002_specific_input
56
- attr_accessor :payment_product_id
57
- attr_accessor :recurring
58
- attr_accessor :return_url
59
- attr_accessor :scheme_reference_data
60
- attr_accessor :skip_authentication
61
- attr_accessor :three_d_secure
62
- attr_accessor :token
63
- attr_accessor :tokenize
64
- attr_accessor :transaction_channel
65
- attr_accessor :unscheduled_card_on_file_requestor
66
- attr_accessor :unscheduled_card_on_file_sequence_indicator
67
-
68
- # @return (Hash)
69
- def to_h
70
- hash = super
71
- hash['allowDynamicLinking'] = @allow_dynamic_linking unless @allow_dynamic_linking.nil?
72
- hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
73
- hash['card'] = @card.to_h if @card
74
- hash['cardOnFileRecurringExpiration'] = @card_on_file_recurring_expiration unless @card_on_file_recurring_expiration.nil?
75
- hash['cardOnFileRecurringFrequency'] = @card_on_file_recurring_frequency unless @card_on_file_recurring_frequency.nil?
76
- hash['currencyConversion'] = @currency_conversion.to_h if @currency_conversion
77
- hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
78
- hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
79
- hash['paymentProduct130SpecificInput'] = @payment_product130_specific_input.to_h if @payment_product130_specific_input
80
- hash['paymentProduct3012SpecificInput'] = @payment_product3012_specific_input.to_h if @payment_product3012_specific_input
81
- hash['paymentProduct3208SpecificInput'] = @payment_product3208_specific_input.to_h if @payment_product3208_specific_input
82
- hash['paymentProduct3209SpecificInput'] = @payment_product3209_specific_input.to_h if @payment_product3209_specific_input
83
- hash['paymentProduct5002SpecificInput'] = @payment_product5002_specific_input.to_h if @payment_product5002_specific_input
84
- hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
85
- hash['recurring'] = @recurring.to_h if @recurring
86
- hash['returnUrl'] = @return_url unless @return_url.nil?
87
- hash['schemeReferenceData'] = @scheme_reference_data unless @scheme_reference_data.nil?
88
- hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
89
- hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
90
- hash['token'] = @token unless @token.nil?
91
- hash['tokenize'] = @tokenize unless @tokenize.nil?
92
- hash['transactionChannel'] = @transaction_channel unless @transaction_channel.nil?
93
- hash['unscheduledCardOnFileRequestor'] = @unscheduled_card_on_file_requestor unless @unscheduled_card_on_file_requestor.nil?
94
- hash['unscheduledCardOnFileSequenceIndicator'] = @unscheduled_card_on_file_sequence_indicator unless @unscheduled_card_on_file_sequence_indicator.nil?
95
- hash
96
- end
15
+ module OnlinePayments
16
+ module SDK
17
+ module Domain
18
+ # @attr [true/false] allow_dynamic_linking
19
+ # @attr [String] authorization_mode
20
+ # @attr [OnlinePayments::SDK::Domain::Card] card
21
+ # @attr [String] card_on_file_recurring_expiration
22
+ # @attr [String] card_on_file_recurring_frequency
23
+ # @attr [String] cobrand_selection_indicator
24
+ # @attr [OnlinePayments::SDK::Domain::CurrencyConversionInput] currency_conversion
25
+ # @attr [String] initial_scheme_transaction_id
26
+ # @attr [true/false] is_recurring
27
+ # @attr [OnlinePayments::SDK::Domain::MultiplePaymentInformation] multiple_payment_information
28
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput] payment_product130_specific_input
29
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput] payment_product3012_specific_input
30
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput] payment_product3208_specific_input
31
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput] payment_product3209_specific_input
32
+ # @attr [Integer] payment_product_id
33
+ # @attr [OnlinePayments::SDK::Domain::CardRecurrenceDetails] recurring
34
+ # @attr [String] return_url
35
+ # @attr [String] scheme_reference_data
36
+ # @attr [true/false] skip_authentication
37
+ # @attr [OnlinePayments::SDK::Domain::ThreeDSecure] three_d_secure
38
+ # @attr [String] token
39
+ # @attr [true/false] tokenize
40
+ # @attr [String] transaction_channel
41
+ # @attr [String] unscheduled_card_on_file_requestor
42
+ # @attr [String] unscheduled_card_on_file_sequence_indicator
43
+ class CardPaymentMethodSpecificInput < OnlinePayments::SDK::Domain::DataObject
97
44
 
98
- def from_hash(hash)
99
- super
100
- @allow_dynamic_linking = hash['allowDynamicLinking'] if hash.key? 'allowDynamicLinking'
101
- @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
102
- if hash.key? 'card'
103
- raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
104
- @card = OnlinePayments::SDK::Domain::Card.new_from_hash(hash['card'])
105
- end
106
- @card_on_file_recurring_expiration = hash['cardOnFileRecurringExpiration'] if hash.key? 'cardOnFileRecurringExpiration'
107
- @card_on_file_recurring_frequency = hash['cardOnFileRecurringFrequency'] if hash.key? 'cardOnFileRecurringFrequency'
108
- if hash.key? 'currencyConversion'
109
- raise TypeError, "value '%s' is not a Hash" % [hash['currencyConversion']] unless hash['currencyConversion'].is_a? Hash
110
- @currency_conversion = OnlinePayments::SDK::Domain::CurrencyConversionInput.new_from_hash(hash['currencyConversion'])
111
- end
112
- @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
113
- @is_recurring = hash['isRecurring'] if hash.key? 'isRecurring'
114
- if hash.key? 'paymentProduct130SpecificInput'
115
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct130SpecificInput']] unless hash['paymentProduct130SpecificInput'].is_a? Hash
116
- @payment_product130_specific_input = OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput.new_from_hash(hash['paymentProduct130SpecificInput'])
117
- end
118
- if hash.key? 'paymentProduct3012SpecificInput'
119
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3012SpecificInput']] unless hash['paymentProduct3012SpecificInput'].is_a? Hash
120
- @payment_product3012_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput.new_from_hash(hash['paymentProduct3012SpecificInput'])
121
- end
122
- if hash.key? 'paymentProduct3208SpecificInput'
123
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3208SpecificInput']] unless hash['paymentProduct3208SpecificInput'].is_a? Hash
124
- @payment_product3208_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput.new_from_hash(hash['paymentProduct3208SpecificInput'])
125
- end
126
- if hash.key? 'paymentProduct3209SpecificInput'
127
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3209SpecificInput']] unless hash['paymentProduct3209SpecificInput'].is_a? Hash
128
- @payment_product3209_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput.new_from_hash(hash['paymentProduct3209SpecificInput'])
129
- end
130
- if hash.key? 'paymentProduct5002SpecificInput'
131
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5002SpecificInput']] unless hash['paymentProduct5002SpecificInput'].is_a? Hash
132
- @payment_product5002_specific_input = OnlinePayments::SDK::Domain::PaymentProduct5002SpecificInput.new_from_hash(hash['paymentProduct5002SpecificInput'])
133
- end
134
- @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
135
- if hash.key? 'recurring'
136
- raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
137
- @recurring = OnlinePayments::SDK::Domain::CardRecurrenceDetails.new_from_hash(hash['recurring'])
45
+ attr_accessor :allow_dynamic_linking
46
+
47
+ attr_accessor :authorization_mode
48
+
49
+ attr_accessor :card
50
+
51
+ attr_accessor :card_on_file_recurring_expiration
52
+
53
+ attr_accessor :card_on_file_recurring_frequency
54
+
55
+ attr_accessor :cobrand_selection_indicator
56
+
57
+ attr_accessor :currency_conversion
58
+
59
+ attr_accessor :initial_scheme_transaction_id
60
+
61
+ attr_accessor :is_recurring
62
+
63
+ attr_accessor :multiple_payment_information
64
+
65
+ attr_accessor :payment_product130_specific_input
66
+
67
+ attr_accessor :payment_product3012_specific_input
68
+
69
+ attr_accessor :payment_product3208_specific_input
70
+
71
+ attr_accessor :payment_product3209_specific_input
72
+
73
+ attr_accessor :payment_product_id
74
+
75
+ attr_accessor :recurring
76
+
77
+ attr_accessor :return_url
78
+
79
+ attr_accessor :scheme_reference_data
80
+
81
+ # @deprecated Use threeDSecure.skipAuthentication instead. * true = 3D Secure authentication will be skipped for this transaction. This setting should be used when isRecurring is set to true and recurringPaymentSequenceIndicator is set to recurring. * false = 3D Secure authentication will not be skipped for this transaction. Note: This is only possible if your account in our system is setup for 3D Secure authentication and if your configuration in our system allows you to override it per transaction.
82
+ attr_accessor :skip_authentication
83
+
84
+ attr_accessor :three_d_secure
85
+
86
+ attr_accessor :token
87
+
88
+ attr_accessor :tokenize
89
+
90
+ attr_accessor :transaction_channel
91
+
92
+ attr_accessor :unscheduled_card_on_file_requestor
93
+
94
+ attr_accessor :unscheduled_card_on_file_sequence_indicator
95
+
96
+ # @return (Hash)
97
+ def to_h
98
+ hash = super
99
+ hash['allowDynamicLinking'] = @allow_dynamic_linking unless @allow_dynamic_linking.nil?
100
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
101
+ hash['card'] = @card.to_h unless @card.nil?
102
+ hash['cardOnFileRecurringExpiration'] = @card_on_file_recurring_expiration unless @card_on_file_recurring_expiration.nil?
103
+ hash['cardOnFileRecurringFrequency'] = @card_on_file_recurring_frequency unless @card_on_file_recurring_frequency.nil?
104
+ hash['cobrandSelectionIndicator'] = @cobrand_selection_indicator unless @cobrand_selection_indicator.nil?
105
+ hash['currencyConversion'] = @currency_conversion.to_h unless @currency_conversion.nil?
106
+ hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
107
+ hash['isRecurring'] = @is_recurring unless @is_recurring.nil?
108
+ hash['multiplePaymentInformation'] = @multiple_payment_information.to_h unless @multiple_payment_information.nil?
109
+ hash['paymentProduct130SpecificInput'] = @payment_product130_specific_input.to_h unless @payment_product130_specific_input.nil?
110
+ hash['paymentProduct3012SpecificInput'] = @payment_product3012_specific_input.to_h unless @payment_product3012_specific_input.nil?
111
+ hash['paymentProduct3208SpecificInput'] = @payment_product3208_specific_input.to_h unless @payment_product3208_specific_input.nil?
112
+ hash['paymentProduct3209SpecificInput'] = @payment_product3209_specific_input.to_h unless @payment_product3209_specific_input.nil?
113
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
114
+ hash['recurring'] = @recurring.to_h unless @recurring.nil?
115
+ hash['returnUrl'] = @return_url unless @return_url.nil?
116
+ hash['schemeReferenceData'] = @scheme_reference_data unless @scheme_reference_data.nil?
117
+ hash['skipAuthentication'] = @skip_authentication unless @skip_authentication.nil?
118
+ hash['threeDSecure'] = @three_d_secure.to_h unless @three_d_secure.nil?
119
+ hash['token'] = @token unless @token.nil?
120
+ hash['tokenize'] = @tokenize unless @tokenize.nil?
121
+ hash['transactionChannel'] = @transaction_channel unless @transaction_channel.nil?
122
+ hash['unscheduledCardOnFileRequestor'] = @unscheduled_card_on_file_requestor unless @unscheduled_card_on_file_requestor.nil?
123
+ hash['unscheduledCardOnFileSequenceIndicator'] = @unscheduled_card_on_file_sequence_indicator unless @unscheduled_card_on_file_sequence_indicator.nil?
124
+ hash
138
125
  end
139
- @return_url = hash['returnUrl'] if hash.key? 'returnUrl'
140
- @scheme_reference_data = hash['schemeReferenceData'] if hash.key? 'schemeReferenceData'
141
- @skip_authentication = hash['skipAuthentication'] if hash.key? 'skipAuthentication'
142
- if hash.key? 'threeDSecure'
143
- raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
144
- @three_d_secure = OnlinePayments::SDK::Domain::ThreeDSecure.new_from_hash(hash['threeDSecure'])
126
+
127
+ def from_hash(hash)
128
+ super
129
+ if hash.has_key? 'allowDynamicLinking'
130
+ @allow_dynamic_linking = hash['allowDynamicLinking']
131
+ end
132
+ if hash.has_key? 'authorizationMode'
133
+ @authorization_mode = hash['authorizationMode']
134
+ end
135
+ if hash.has_key? 'card'
136
+ raise TypeError, "value '%s' is not a Hash" % [hash['card']] unless hash['card'].is_a? Hash
137
+ @card = OnlinePayments::SDK::Domain::Card.new_from_hash(hash['card'])
138
+ end
139
+ if hash.has_key? 'cardOnFileRecurringExpiration'
140
+ @card_on_file_recurring_expiration = hash['cardOnFileRecurringExpiration']
141
+ end
142
+ if hash.has_key? 'cardOnFileRecurringFrequency'
143
+ @card_on_file_recurring_frequency = hash['cardOnFileRecurringFrequency']
144
+ end
145
+ if hash.has_key? 'cobrandSelectionIndicator'
146
+ @cobrand_selection_indicator = hash['cobrandSelectionIndicator']
147
+ end
148
+ if hash.has_key? 'currencyConversion'
149
+ raise TypeError, "value '%s' is not a Hash" % [hash['currencyConversion']] unless hash['currencyConversion'].is_a? Hash
150
+ @currency_conversion = OnlinePayments::SDK::Domain::CurrencyConversionInput.new_from_hash(hash['currencyConversion'])
151
+ end
152
+ if hash.has_key? 'initialSchemeTransactionId'
153
+ @initial_scheme_transaction_id = hash['initialSchemeTransactionId']
154
+ end
155
+ if hash.has_key? 'isRecurring'
156
+ @is_recurring = hash['isRecurring']
157
+ end
158
+ if hash.has_key? 'multiplePaymentInformation'
159
+ raise TypeError, "value '%s' is not a Hash" % [hash['multiplePaymentInformation']] unless hash['multiplePaymentInformation'].is_a? Hash
160
+ @multiple_payment_information = OnlinePayments::SDK::Domain::MultiplePaymentInformation.new_from_hash(hash['multiplePaymentInformation'])
161
+ end
162
+ if hash.has_key? 'paymentProduct130SpecificInput'
163
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct130SpecificInput']] unless hash['paymentProduct130SpecificInput'].is_a? Hash
164
+ @payment_product130_specific_input = OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput.new_from_hash(hash['paymentProduct130SpecificInput'])
165
+ end
166
+ if hash.has_key? 'paymentProduct3012SpecificInput'
167
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3012SpecificInput']] unless hash['paymentProduct3012SpecificInput'].is_a? Hash
168
+ @payment_product3012_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput.new_from_hash(hash['paymentProduct3012SpecificInput'])
169
+ end
170
+ if hash.has_key? 'paymentProduct3208SpecificInput'
171
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3208SpecificInput']] unless hash['paymentProduct3208SpecificInput'].is_a? Hash
172
+ @payment_product3208_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput.new_from_hash(hash['paymentProduct3208SpecificInput'])
173
+ end
174
+ if hash.has_key? 'paymentProduct3209SpecificInput'
175
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3209SpecificInput']] unless hash['paymentProduct3209SpecificInput'].is_a? Hash
176
+ @payment_product3209_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput.new_from_hash(hash['paymentProduct3209SpecificInput'])
177
+ end
178
+ if hash.has_key? 'paymentProductId'
179
+ @payment_product_id = hash['paymentProductId']
180
+ end
181
+ if hash.has_key? 'recurring'
182
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
183
+ @recurring = OnlinePayments::SDK::Domain::CardRecurrenceDetails.new_from_hash(hash['recurring'])
184
+ end
185
+ if hash.has_key? 'returnUrl'
186
+ @return_url = hash['returnUrl']
187
+ end
188
+ if hash.has_key? 'schemeReferenceData'
189
+ @scheme_reference_data = hash['schemeReferenceData']
190
+ end
191
+ if hash.has_key? 'skipAuthentication'
192
+ @skip_authentication = hash['skipAuthentication']
193
+ end
194
+ if hash.has_key? 'threeDSecure'
195
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
196
+ @three_d_secure = OnlinePayments::SDK::Domain::ThreeDSecure.new_from_hash(hash['threeDSecure'])
197
+ end
198
+ if hash.has_key? 'token'
199
+ @token = hash['token']
200
+ end
201
+ if hash.has_key? 'tokenize'
202
+ @tokenize = hash['tokenize']
203
+ end
204
+ if hash.has_key? 'transactionChannel'
205
+ @transaction_channel = hash['transactionChannel']
206
+ end
207
+ if hash.has_key? 'unscheduledCardOnFileRequestor'
208
+ @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor']
209
+ end
210
+ if hash.has_key? 'unscheduledCardOnFileSequenceIndicator'
211
+ @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator']
212
+ end
145
213
  end
146
- @token = hash['token'] if hash.key? 'token'
147
- @tokenize = hash['tokenize'] if hash.key? 'tokenize'
148
- @transaction_channel = hash['transactionChannel'] if hash.key? 'transactionChannel'
149
- @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor'] if hash.key? 'unscheduledCardOnFileRequestor'
150
- @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator'] if hash.key? 'unscheduledCardOnFileSequenceIndicator'
151
214
  end
152
215
  end
153
216
  end
@@ -1,9 +1,10 @@
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_recurrence_details'
6
5
  require 'onlinepayments/sdk/domain/currency_conversion_specific_input'
6
+ require 'onlinepayments/sdk/domain/data_object'
7
+ require 'onlinepayments/sdk/domain/multiple_payment_information'
7
8
  require 'onlinepayments/sdk/domain/payment_product130_specific_input'
8
9
  require 'onlinepayments/sdk/domain/payment_product3012_specific_input'
9
10
  require 'onlinepayments/sdk/domain/payment_product3208_specific_input'
@@ -11,111 +12,155 @@ require 'onlinepayments/sdk/domain/payment_product3209_specific_input'
11
12
  require 'onlinepayments/sdk/domain/payment_product5100_specific_input'
12
13
  require 'onlinepayments/sdk/domain/three_d_secure_base'
13
14
 
14
- module OnlinePayments::SDK
15
- module Domain
16
-
17
- # @attr [true/false] allow_dynamic_linking
18
- # @attr [String] authorization_mode
19
- # @attr [OnlinePayments::SDK::Domain::CurrencyConversionSpecificInput] currency_conversion_specific_input
20
- # @attr [String] initial_scheme_transaction_id
21
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput] payment_product130_specific_input
22
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput] payment_product3012_specific_input
23
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput] payment_product3208_specific_input
24
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput] payment_product3209_specific_input
25
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5100SpecificInput] payment_product5100_specific_input
26
- # @attr [Integer] payment_product_id
27
- # @attr [OnlinePayments::SDK::Domain::CardRecurrenceDetails] recurring
28
- # @attr [OnlinePayments::SDK::Domain::ThreeDSecureBase] three_d_secure
29
- # @attr [String] token
30
- # @attr [true/false] tokenize
31
- # @attr [String] transaction_channel
32
- # @attr [String] unscheduled_card_on_file_requestor
33
- # @attr [String] unscheduled_card_on_file_sequence_indicator
34
- class CardPaymentMethodSpecificInputBase < OnlinePayments::SDK::DataObject
35
- attr_accessor :allow_dynamic_linking
36
- attr_accessor :authorization_mode
37
- attr_accessor :currency_conversion_specific_input
38
- attr_accessor :initial_scheme_transaction_id
39
- attr_accessor :payment_product130_specific_input
40
- attr_accessor :payment_product3012_specific_input
41
- attr_accessor :payment_product3208_specific_input
42
- attr_accessor :payment_product3209_specific_input
43
- attr_accessor :payment_product5100_specific_input
44
- attr_accessor :payment_product_id
45
- attr_accessor :recurring
46
- attr_accessor :three_d_secure
47
- attr_accessor :token
48
- attr_accessor :tokenize
49
- attr_accessor :transaction_channel
50
- attr_accessor :unscheduled_card_on_file_requestor
51
- attr_accessor :unscheduled_card_on_file_sequence_indicator
52
-
53
- # @return (Hash)
54
- def to_h
55
- hash = super
56
- hash['allowDynamicLinking'] = @allow_dynamic_linking unless @allow_dynamic_linking.nil?
57
- hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
58
- hash['currencyConversionSpecificInput'] = @currency_conversion_specific_input.to_h if @currency_conversion_specific_input
59
- hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
60
- hash['paymentProduct130SpecificInput'] = @payment_product130_specific_input.to_h if @payment_product130_specific_input
61
- hash['paymentProduct3012SpecificInput'] = @payment_product3012_specific_input.to_h if @payment_product3012_specific_input
62
- hash['paymentProduct3208SpecificInput'] = @payment_product3208_specific_input.to_h if @payment_product3208_specific_input
63
- hash['paymentProduct3209SpecificInput'] = @payment_product3209_specific_input.to_h if @payment_product3209_specific_input
64
- hash['paymentProduct5100SpecificInput'] = @payment_product5100_specific_input.to_h if @payment_product5100_specific_input
65
- hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
66
- hash['recurring'] = @recurring.to_h if @recurring
67
- hash['threeDSecure'] = @three_d_secure.to_h if @three_d_secure
68
- hash['token'] = @token unless @token.nil?
69
- hash['tokenize'] = @tokenize unless @tokenize.nil?
70
- hash['transactionChannel'] = @transaction_channel unless @transaction_channel.nil?
71
- hash['unscheduledCardOnFileRequestor'] = @unscheduled_card_on_file_requestor unless @unscheduled_card_on_file_requestor.nil?
72
- hash['unscheduledCardOnFileSequenceIndicator'] = @unscheduled_card_on_file_sequence_indicator unless @unscheduled_card_on_file_sequence_indicator.nil?
73
- hash
74
- end
15
+ module OnlinePayments
16
+ module SDK
17
+ module Domain
18
+ # @attr [true/false] allow_dynamic_linking
19
+ # @attr [String] authorization_mode
20
+ # @attr [OnlinePayments::SDK::Domain::CurrencyConversionSpecificInput] currency_conversion_specific_input
21
+ # @attr [String] initial_scheme_transaction_id
22
+ # @attr [OnlinePayments::SDK::Domain::MultiplePaymentInformation] multiple_payment_information
23
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput] payment_product130_specific_input
24
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput] payment_product3012_specific_input
25
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput] payment_product3208_specific_input
26
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput] payment_product3209_specific_input
27
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct5100SpecificInput] payment_product5100_specific_input
28
+ # @attr [Integer] payment_product_id
29
+ # @attr [OnlinePayments::SDK::Domain::CardRecurrenceDetails] recurring
30
+ # @attr [OnlinePayments::SDK::Domain::ThreeDSecureBase] three_d_secure
31
+ # @attr [String] token
32
+ # @attr [true/false] tokenize
33
+ # @attr [String] transaction_channel
34
+ # @attr [String] unscheduled_card_on_file_requestor
35
+ # @attr [String] unscheduled_card_on_file_sequence_indicator
36
+ class CardPaymentMethodSpecificInputBase < OnlinePayments::SDK::Domain::DataObject
75
37
 
76
- def from_hash(hash)
77
- super
78
- @allow_dynamic_linking = hash['allowDynamicLinking'] if hash.key? 'allowDynamicLinking'
79
- @authorization_mode = hash['authorizationMode'] if hash.key? 'authorizationMode'
80
- if hash.key? 'currencyConversionSpecificInput'
81
- raise TypeError, "value '%s' is not a Hash" % [hash['currencyConversionSpecificInput']] unless hash['currencyConversionSpecificInput'].is_a? Hash
82
- @currency_conversion_specific_input = OnlinePayments::SDK::Domain::CurrencyConversionSpecificInput.new_from_hash(hash['currencyConversionSpecificInput'])
83
- end
84
- @initial_scheme_transaction_id = hash['initialSchemeTransactionId'] if hash.key? 'initialSchemeTransactionId'
85
- if hash.key? 'paymentProduct130SpecificInput'
86
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct130SpecificInput']] unless hash['paymentProduct130SpecificInput'].is_a? Hash
87
- @payment_product130_specific_input = OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput.new_from_hash(hash['paymentProduct130SpecificInput'])
88
- end
89
- if hash.key? 'paymentProduct3012SpecificInput'
90
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3012SpecificInput']] unless hash['paymentProduct3012SpecificInput'].is_a? Hash
91
- @payment_product3012_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput.new_from_hash(hash['paymentProduct3012SpecificInput'])
92
- end
93
- if hash.key? 'paymentProduct3208SpecificInput'
94
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3208SpecificInput']] unless hash['paymentProduct3208SpecificInput'].is_a? Hash
95
- @payment_product3208_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput.new_from_hash(hash['paymentProduct3208SpecificInput'])
96
- end
97
- if hash.key? 'paymentProduct3209SpecificInput'
98
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3209SpecificInput']] unless hash['paymentProduct3209SpecificInput'].is_a? Hash
99
- @payment_product3209_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput.new_from_hash(hash['paymentProduct3209SpecificInput'])
100
- end
101
- if hash.key? 'paymentProduct5100SpecificInput'
102
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5100SpecificInput']] unless hash['paymentProduct5100SpecificInput'].is_a? Hash
103
- @payment_product5100_specific_input = OnlinePayments::SDK::Domain::PaymentProduct5100SpecificInput.new_from_hash(hash['paymentProduct5100SpecificInput'])
104
- end
105
- @payment_product_id = hash['paymentProductId'] if hash.key? 'paymentProductId'
106
- if hash.key? 'recurring'
107
- raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
108
- @recurring = OnlinePayments::SDK::Domain::CardRecurrenceDetails.new_from_hash(hash['recurring'])
38
+ attr_accessor :allow_dynamic_linking
39
+
40
+ attr_accessor :authorization_mode
41
+
42
+ attr_accessor :currency_conversion_specific_input
43
+
44
+ attr_accessor :initial_scheme_transaction_id
45
+
46
+ attr_accessor :multiple_payment_information
47
+
48
+ attr_accessor :payment_product130_specific_input
49
+
50
+ attr_accessor :payment_product3012_specific_input
51
+
52
+ attr_accessor :payment_product3208_specific_input
53
+
54
+ attr_accessor :payment_product3209_specific_input
55
+
56
+ attr_accessor :payment_product5100_specific_input
57
+
58
+ attr_accessor :payment_product_id
59
+
60
+ attr_accessor :recurring
61
+
62
+ attr_accessor :three_d_secure
63
+
64
+ attr_accessor :token
65
+
66
+ attr_accessor :tokenize
67
+
68
+ attr_accessor :transaction_channel
69
+
70
+ attr_accessor :unscheduled_card_on_file_requestor
71
+
72
+ attr_accessor :unscheduled_card_on_file_sequence_indicator
73
+
74
+ # @return (Hash)
75
+ def to_h
76
+ hash = super
77
+ hash['allowDynamicLinking'] = @allow_dynamic_linking unless @allow_dynamic_linking.nil?
78
+ hash['authorizationMode'] = @authorization_mode unless @authorization_mode.nil?
79
+ hash['currencyConversionSpecificInput'] = @currency_conversion_specific_input.to_h unless @currency_conversion_specific_input.nil?
80
+ hash['initialSchemeTransactionId'] = @initial_scheme_transaction_id unless @initial_scheme_transaction_id.nil?
81
+ hash['multiplePaymentInformation'] = @multiple_payment_information.to_h unless @multiple_payment_information.nil?
82
+ hash['paymentProduct130SpecificInput'] = @payment_product130_specific_input.to_h unless @payment_product130_specific_input.nil?
83
+ hash['paymentProduct3012SpecificInput'] = @payment_product3012_specific_input.to_h unless @payment_product3012_specific_input.nil?
84
+ hash['paymentProduct3208SpecificInput'] = @payment_product3208_specific_input.to_h unless @payment_product3208_specific_input.nil?
85
+ hash['paymentProduct3209SpecificInput'] = @payment_product3209_specific_input.to_h unless @payment_product3209_specific_input.nil?
86
+ hash['paymentProduct5100SpecificInput'] = @payment_product5100_specific_input.to_h unless @payment_product5100_specific_input.nil?
87
+ hash['paymentProductId'] = @payment_product_id unless @payment_product_id.nil?
88
+ hash['recurring'] = @recurring.to_h unless @recurring.nil?
89
+ hash['threeDSecure'] = @three_d_secure.to_h unless @three_d_secure.nil?
90
+ hash['token'] = @token unless @token.nil?
91
+ hash['tokenize'] = @tokenize unless @tokenize.nil?
92
+ hash['transactionChannel'] = @transaction_channel unless @transaction_channel.nil?
93
+ hash['unscheduledCardOnFileRequestor'] = @unscheduled_card_on_file_requestor unless @unscheduled_card_on_file_requestor.nil?
94
+ hash['unscheduledCardOnFileSequenceIndicator'] = @unscheduled_card_on_file_sequence_indicator unless @unscheduled_card_on_file_sequence_indicator.nil?
95
+ hash
109
96
  end
110
- if hash.key? 'threeDSecure'
111
- raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
112
- @three_d_secure = OnlinePayments::SDK::Domain::ThreeDSecureBase.new_from_hash(hash['threeDSecure'])
97
+
98
+ def from_hash(hash)
99
+ super
100
+ if hash.has_key? 'allowDynamicLinking'
101
+ @allow_dynamic_linking = hash['allowDynamicLinking']
102
+ end
103
+ if hash.has_key? 'authorizationMode'
104
+ @authorization_mode = hash['authorizationMode']
105
+ end
106
+ if hash.has_key? 'currencyConversionSpecificInput'
107
+ raise TypeError, "value '%s' is not a Hash" % [hash['currencyConversionSpecificInput']] unless hash['currencyConversionSpecificInput'].is_a? Hash
108
+ @currency_conversion_specific_input = OnlinePayments::SDK::Domain::CurrencyConversionSpecificInput.new_from_hash(hash['currencyConversionSpecificInput'])
109
+ end
110
+ if hash.has_key? 'initialSchemeTransactionId'
111
+ @initial_scheme_transaction_id = hash['initialSchemeTransactionId']
112
+ end
113
+ if hash.has_key? 'multiplePaymentInformation'
114
+ raise TypeError, "value '%s' is not a Hash" % [hash['multiplePaymentInformation']] unless hash['multiplePaymentInformation'].is_a? Hash
115
+ @multiple_payment_information = OnlinePayments::SDK::Domain::MultiplePaymentInformation.new_from_hash(hash['multiplePaymentInformation'])
116
+ end
117
+ if hash.has_key? 'paymentProduct130SpecificInput'
118
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct130SpecificInput']] unless hash['paymentProduct130SpecificInput'].is_a? Hash
119
+ @payment_product130_specific_input = OnlinePayments::SDK::Domain::PaymentProduct130SpecificInput.new_from_hash(hash['paymentProduct130SpecificInput'])
120
+ end
121
+ if hash.has_key? 'paymentProduct3012SpecificInput'
122
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3012SpecificInput']] unless hash['paymentProduct3012SpecificInput'].is_a? Hash
123
+ @payment_product3012_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3012SpecificInput.new_from_hash(hash['paymentProduct3012SpecificInput'])
124
+ end
125
+ if hash.has_key? 'paymentProduct3208SpecificInput'
126
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3208SpecificInput']] unless hash['paymentProduct3208SpecificInput'].is_a? Hash
127
+ @payment_product3208_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3208SpecificInput.new_from_hash(hash['paymentProduct3208SpecificInput'])
128
+ end
129
+ if hash.has_key? 'paymentProduct3209SpecificInput'
130
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3209SpecificInput']] unless hash['paymentProduct3209SpecificInput'].is_a? Hash
131
+ @payment_product3209_specific_input = OnlinePayments::SDK::Domain::PaymentProduct3209SpecificInput.new_from_hash(hash['paymentProduct3209SpecificInput'])
132
+ end
133
+ if hash.has_key? 'paymentProduct5100SpecificInput'
134
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5100SpecificInput']] unless hash['paymentProduct5100SpecificInput'].is_a? Hash
135
+ @payment_product5100_specific_input = OnlinePayments::SDK::Domain::PaymentProduct5100SpecificInput.new_from_hash(hash['paymentProduct5100SpecificInput'])
136
+ end
137
+ if hash.has_key? 'paymentProductId'
138
+ @payment_product_id = hash['paymentProductId']
139
+ end
140
+ if hash.has_key? 'recurring'
141
+ raise TypeError, "value '%s' is not a Hash" % [hash['recurring']] unless hash['recurring'].is_a? Hash
142
+ @recurring = OnlinePayments::SDK::Domain::CardRecurrenceDetails.new_from_hash(hash['recurring'])
143
+ end
144
+ if hash.has_key? 'threeDSecure'
145
+ raise TypeError, "value '%s' is not a Hash" % [hash['threeDSecure']] unless hash['threeDSecure'].is_a? Hash
146
+ @three_d_secure = OnlinePayments::SDK::Domain::ThreeDSecureBase.new_from_hash(hash['threeDSecure'])
147
+ end
148
+ if hash.has_key? 'token'
149
+ @token = hash['token']
150
+ end
151
+ if hash.has_key? 'tokenize'
152
+ @tokenize = hash['tokenize']
153
+ end
154
+ if hash.has_key? 'transactionChannel'
155
+ @transaction_channel = hash['transactionChannel']
156
+ end
157
+ if hash.has_key? 'unscheduledCardOnFileRequestor'
158
+ @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor']
159
+ end
160
+ if hash.has_key? 'unscheduledCardOnFileSequenceIndicator'
161
+ @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator']
162
+ end
113
163
  end
114
- @token = hash['token'] if hash.key? 'token'
115
- @tokenize = hash['tokenize'] if hash.key? 'tokenize'
116
- @transaction_channel = hash['transactionChannel'] if hash.key? 'transactionChannel'
117
- @unscheduled_card_on_file_requestor = hash['unscheduledCardOnFileRequestor'] if hash.key? 'unscheduledCardOnFileRequestor'
118
- @unscheduled_card_on_file_sequence_indicator = hash['unscheduledCardOnFileSequenceIndicator'] if hash.key? 'unscheduledCardOnFileSequenceIndicator'
119
164
  end
120
165
  end
121
166
  end