onlinepayments-sdk-ruby 4.23.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 (408) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -0
  3. data/LICENSE.txt +0 -0
  4. data/README.md +5 -6
  5. data/Rakefile +0 -0
  6. data/lib/onlinepayments/sdk/api_exception.rb +47 -35
  7. data/lib/onlinepayments/sdk/api_resource.rb +49 -97
  8. data/lib/onlinepayments/sdk/authentication/authenticator.rb +19 -0
  9. data/lib/onlinepayments/sdk/authentication/authorization_type.rb +15 -0
  10. data/lib/onlinepayments/sdk/authentication/v1hmac_authenticator.rb +109 -0
  11. data/lib/onlinepayments/sdk/authentication.rb +1 -0
  12. data/lib/onlinepayments/sdk/authorization_exception.rb +14 -8
  13. data/lib/onlinepayments/sdk/call_context.rb +30 -21
  14. data/lib/onlinepayments/sdk/client.rb +36 -18
  15. data/lib/onlinepayments/sdk/communication/communication_exception.rb +19 -0
  16. data/lib/onlinepayments/sdk/communication/connection.rb +48 -0
  17. data/lib/onlinepayments/sdk/communication/default_connection.rb +427 -0
  18. data/lib/onlinepayments/sdk/communication/metadata_provider.rb +160 -0
  19. data/lib/onlinepayments/sdk/communication/multipart_form_data_object.rb +52 -0
  20. data/lib/onlinepayments/sdk/communication/multipart_form_data_request.rb +13 -0
  21. data/lib/onlinepayments/sdk/communication/not_found_exception.rb +19 -0
  22. data/lib/onlinepayments/sdk/communication/param_request.rb +14 -0
  23. data/lib/onlinepayments/sdk/communication/pooled_connection.rb +26 -0
  24. data/lib/onlinepayments/sdk/communication/request_header.rb +62 -0
  25. data/lib/onlinepayments/sdk/communication/request_param.rb +28 -0
  26. data/lib/onlinepayments/sdk/communication/response_exception.rb +56 -0
  27. data/lib/onlinepayments/sdk/communication/response_header.rb +78 -0
  28. data/lib/onlinepayments/sdk/communication.rb +1 -0
  29. data/lib/onlinepayments/sdk/communicator.rb +475 -268
  30. data/lib/onlinepayments/sdk/communicator_configuration.rb +162 -53
  31. data/lib/onlinepayments/sdk/declined_payment_exception.rb +28 -21
  32. data/lib/onlinepayments/sdk/declined_payout_exception.rb +28 -23
  33. data/lib/onlinepayments/sdk/declined_refund_exception.rb +28 -23
  34. data/lib/onlinepayments/sdk/declined_transaction_exception.rb +16 -10
  35. data/lib/onlinepayments/sdk/domain/account_on_file.rb +44 -35
  36. data/lib/onlinepayments/sdk/domain/account_on_file_attribute.rb +42 -28
  37. data/lib/onlinepayments/sdk/domain/account_on_file_display_hints.rb +29 -24
  38. data/lib/onlinepayments/sdk/domain/acquirer_information.rb +27 -22
  39. data/lib/onlinepayments/sdk/domain/acquirer_selection_information.rb +34 -24
  40. data/lib/onlinepayments/sdk/domain/additional_order_input.rb +43 -38
  41. data/lib/onlinepayments/sdk/domain/address.rb +65 -43
  42. data/lib/onlinepayments/sdk/domain/address_personal.rb +78 -52
  43. data/lib/onlinepayments/sdk/domain/airline_data.rb +204 -123
  44. data/lib/onlinepayments/sdk/domain/airline_flight_leg.rb +158 -95
  45. data/lib/onlinepayments/sdk/domain/airline_passenger.rb +59 -39
  46. data/lib/onlinepayments/sdk/domain/amount_breakdown.rb +27 -20
  47. data/lib/onlinepayments/sdk/domain/amount_of_money.rb +27 -20
  48. data/lib/onlinepayments/sdk/domain/api_error.rb +73 -47
  49. data/lib/onlinepayments/sdk/domain/apple_pay_line_item.rb +72 -0
  50. data/lib/onlinepayments/sdk/domain/apple_pay_recurring_payment_request.rb +61 -0
  51. data/lib/onlinepayments/sdk/domain/bank_account_iban.rb +20 -16
  52. data/lib/onlinepayments/sdk/domain/browser_data.rb +51 -35
  53. data/lib/onlinepayments/sdk/domain/calculate_surcharge_request.rb +27 -24
  54. data/lib/onlinepayments/sdk/domain/calculate_surcharge_response.rb +22 -20
  55. data/lib/onlinepayments/sdk/domain/cancel_payment_request.rb +27 -22
  56. data/lib/onlinepayments/sdk/domain/cancel_payment_response.rb +20 -18
  57. data/lib/onlinepayments/sdk/domain/capture.rb +41 -32
  58. data/lib/onlinepayments/sdk/domain/capture_output.rb +106 -78
  59. data/lib/onlinepayments/sdk/domain/capture_payment_request.rb +43 -26
  60. data/lib/onlinepayments/sdk/domain/capture_response.rb +41 -32
  61. data/lib/onlinepayments/sdk/domain/capture_status_output.rb +20 -16
  62. data/lib/onlinepayments/sdk/domain/captures_response.rb +22 -20
  63. data/lib/onlinepayments/sdk/domain/card.rb +41 -28
  64. data/lib/onlinepayments/sdk/domain/card_essentials.rb +41 -28
  65. data/lib/onlinepayments/sdk/domain/card_fraud_results.rb +34 -24
  66. data/lib/onlinepayments/sdk/domain/card_info.rb +27 -20
  67. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input.rb +199 -128
  68. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input_base.rb +149 -104
  69. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.rb +36 -28
  70. data/lib/onlinepayments/sdk/domain/card_payment_method_specific_output.rb +133 -100
  71. data/lib/onlinepayments/sdk/domain/card_payout_method_specific_input.rb +41 -30
  72. data/lib/onlinepayments/sdk/domain/card_recurrence_details.rb +20 -16
  73. data/lib/onlinepayments/sdk/domain/card_source.rb +41 -30
  74. data/lib/onlinepayments/sdk/domain/card_without_cvv.rb +34 -24
  75. data/lib/onlinepayments/sdk/domain/company_information.rb +20 -16
  76. data/lib/onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.rb +20 -18
  77. data/lib/onlinepayments/sdk/domain/complete_payment_request.rb +27 -24
  78. data/lib/onlinepayments/sdk/domain/complete_payment_response.rb +35 -31
  79. data/lib/onlinepayments/sdk/domain/contact_details.rb +51 -35
  80. data/lib/onlinepayments/sdk/domain/create_hosted_checkout_request.rb +76 -59
  81. data/lib/onlinepayments/sdk/domain/create_hosted_checkout_response.rb +60 -43
  82. data/lib/onlinepayments/sdk/domain/create_hosted_tokenization_request.rb +57 -42
  83. data/lib/onlinepayments/sdk/domain/create_hosted_tokenization_response.rb +57 -44
  84. data/lib/onlinepayments/sdk/domain/create_mandate_request.rb +71 -48
  85. data/lib/onlinepayments/sdk/domain/create_mandate_response.rb +27 -24
  86. data/lib/onlinepayments/sdk/domain/create_mandate_with_return_url.rb +71 -48
  87. data/lib/onlinepayments/sdk/domain/create_payment_link_request.rb +120 -87
  88. data/lib/onlinepayments/sdk/domain/create_payment_request.rb +82 -60
  89. data/lib/onlinepayments/sdk/domain/create_payment_response.rb +35 -31
  90. data/lib/onlinepayments/sdk/domain/create_payout_request.rb +61 -40
  91. data/lib/onlinepayments/sdk/domain/create_token_request.rb +27 -22
  92. data/lib/onlinepayments/sdk/domain/created_payment_output.rb +27 -22
  93. data/lib/onlinepayments/sdk/domain/created_token_response.rb +50 -38
  94. data/lib/onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.rb +29 -26
  95. data/lib/onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.rb +27 -20
  96. data/lib/onlinepayments/sdk/domain/currency_conversion.rb +27 -22
  97. data/lib/onlinepayments/sdk/domain/currency_conversion_input.rb +27 -20
  98. data/lib/onlinepayments/sdk/domain/currency_conversion_request.rb +27 -24
  99. data/lib/onlinepayments/sdk/domain/currency_conversion_response.rb +34 -28
  100. data/lib/onlinepayments/sdk/domain/currency_conversion_result.rb +27 -20
  101. data/lib/onlinepayments/sdk/domain/currency_conversion_specific_input.rb +20 -16
  102. data/lib/onlinepayments/sdk/domain/customer.rb +87 -68
  103. data/lib/onlinepayments/sdk/domain/customer_account.rb +77 -55
  104. data/lib/onlinepayments/sdk/domain/customer_account_authentication.rb +34 -20
  105. data/lib/onlinepayments/sdk/domain/customer_bank_account.rb +34 -24
  106. data/lib/onlinepayments/sdk/domain/customer_device.rb +64 -44
  107. data/lib/onlinepayments/sdk/domain/customer_device_output.rb +20 -16
  108. data/lib/onlinepayments/sdk/domain/customer_output.rb +20 -18
  109. data/lib/onlinepayments/sdk/domain/customer_payment_activity.rb +34 -24
  110. data/lib/onlinepayments/sdk/domain/customer_token.rb +35 -31
  111. data/lib/onlinepayments/sdk/domain/data_object.rb +32 -0
  112. data/lib/onlinepayments/sdk/domain/dcc_card_source.rb +41 -30
  113. data/lib/onlinepayments/sdk/domain/dcc_proposal.rb +51 -41
  114. data/lib/onlinepayments/sdk/domain/decrypted_payment_data.rb +51 -35
  115. data/lib/onlinepayments/sdk/domain/directory_entry.rb +34 -24
  116. data/lib/onlinepayments/sdk/domain/discount.rb +20 -16
  117. data/lib/onlinepayments/sdk/domain/empty_validator.rb +7 -6
  118. data/lib/onlinepayments/sdk/domain/error_response.rb +29 -24
  119. data/lib/onlinepayments/sdk/domain/external_cardholder_authentication_data.rb +86 -55
  120. data/lib/onlinepayments/sdk/domain/external_token_linked.rb +35 -24
  121. data/lib/onlinepayments/sdk/domain/feedbacks.rb +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 +51 -35
  146. data/lib/onlinepayments/sdk/domain/mandate_contact_details.rb +20 -16
  147. data/lib/onlinepayments/sdk/domain/mandate_customer.rb +52 -44
  148. data/lib/onlinepayments/sdk/domain/mandate_customer_response.rb +52 -44
  149. data/lib/onlinepayments/sdk/domain/mandate_merchant_action.rb +27 -22
  150. data/lib/onlinepayments/sdk/domain/mandate_personal_information.rb +27 -22
  151. data/lib/onlinepayments/sdk/domain/mandate_personal_information_response.rb +27 -22
  152. data/lib/onlinepayments/sdk/domain/mandate_personal_name.rb +27 -20
  153. data/lib/onlinepayments/sdk/domain/mandate_personal_name_response.rb +27 -20
  154. data/lib/onlinepayments/sdk/domain/mandate_redirect_data.rb +27 -20
  155. data/lib/onlinepayments/sdk/domain/mandate_response.rb +64 -44
  156. data/lib/onlinepayments/sdk/domain/merchant_action.rb +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 +58 -45
  161. data/lib/onlinepayments/sdk/domain/mobile_payment_product302_specific_input.rb +32 -0
  162. data/lib/onlinepayments/sdk/domain/mobile_payment_product320_specific_input.rb +20 -18
  163. data/lib/onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.rb +51 -0
  164. data/lib/onlinepayments/sdk/domain/multiple_payment_information.rb +27 -20
  165. data/lib/onlinepayments/sdk/domain/omnichannel_payout_specific_input.rb +20 -16
  166. data/lib/onlinepayments/sdk/domain/operation_output.rb +67 -45
  167. data/lib/onlinepayments/sdk/domain/operation_payment_references.rb +30 -0
  168. data/lib/onlinepayments/sdk/domain/order.rb +75 -66
  169. data/lib/onlinepayments/sdk/domain/order_line_details.rb +79 -47
  170. data/lib/onlinepayments/sdk/domain/order_references.rb +34 -24
  171. data/lib/onlinepayments/sdk/domain/order_status_output.rb +52 -38
  172. data/lib/onlinepayments/sdk/domain/order_type_information.rb +27 -20
  173. data/lib/onlinepayments/sdk/domain/other_details.rb +37 -0
  174. data/lib/onlinepayments/sdk/domain/payment_account_on_file.rb +27 -20
  175. data/lib/onlinepayments/sdk/domain/payment_context.rb +34 -26
  176. data/lib/onlinepayments/sdk/domain/payment_creation_output.rb +41 -28
  177. data/lib/onlinepayments/sdk/domain/payment_details_response.rb +60 -49
  178. data/lib/onlinepayments/sdk/domain/payment_error_response.rb +37 -31
  179. data/lib/onlinepayments/sdk/domain/payment_link_event.rb +34 -24
  180. data/lib/onlinepayments/sdk/domain/payment_link_order_input.rb +34 -28
  181. data/lib/onlinepayments/sdk/domain/payment_link_order_output.rb +34 -28
  182. data/lib/onlinepayments/sdk/domain/payment_link_response.rb +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 +51 -0
  190. data/lib/onlinepayments/sdk/domain/payment_product302_specific_data.rb +22 -20
  191. data/lib/onlinepayments/sdk/domain/payment_product3203_specific_output.rb +27 -24
  192. data/lib/onlinepayments/sdk/domain/payment_product3208_specific_input.rb +20 -16
  193. data/lib/onlinepayments/sdk/domain/payment_product3208_specific_output.rb +20 -16
  194. data/lib/onlinepayments/sdk/domain/payment_product3209_specific_input.rb +20 -16
  195. data/lib/onlinepayments/sdk/domain/payment_product3209_specific_output.rb +20 -16
  196. data/lib/onlinepayments/sdk/domain/payment_product320_specific_data.rb +29 -24
  197. data/lib/onlinepayments/sdk/domain/payment_product5001_specific_output.rb +48 -16
  198. data/lib/onlinepayments/sdk/domain/payment_product5100_specific_input.rb +20 -16
  199. data/lib/onlinepayments/sdk/domain/payment_product5402_specific_output.rb +20 -16
  200. data/lib/onlinepayments/sdk/domain/payment_product5404.rb +27 -20
  201. data/lib/onlinepayments/sdk/domain/payment_product5407.rb +27 -20
  202. data/lib/onlinepayments/sdk/domain/payment_product5500_specific_output.rb +41 -24
  203. data/lib/onlinepayments/sdk/domain/payment_product771_specific_output.rb +20 -16
  204. data/lib/onlinepayments/sdk/domain/payment_product840_customer_account.rb +72 -47
  205. data/lib/onlinepayments/sdk/domain/payment_product840_specific_output.rb +43 -38
  206. data/lib/onlinepayments/sdk/domain/payment_product_display_hints.rb +34 -24
  207. data/lib/onlinepayments/sdk/domain/payment_product_field.rb +41 -32
  208. data/lib/onlinepayments/sdk/domain/payment_product_field_data_restrictions.rb +27 -22
  209. data/lib/onlinepayments/sdk/domain/payment_product_field_display_element.rb +41 -28
  210. data/lib/onlinepayments/sdk/domain/payment_product_field_display_hints.rb +84 -56
  211. data/lib/onlinepayments/sdk/domain/payment_product_field_form_element.rb +30 -24
  212. data/lib/onlinepayments/sdk/domain/payment_product_field_tooltip.rb +28 -20
  213. data/lib/onlinepayments/sdk/domain/payment_product_field_validators.rb +83 -73
  214. data/lib/onlinepayments/sdk/domain/payment_product_filter.rb +32 -29
  215. data/lib/onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.rb +22 -20
  216. data/lib/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.rb +27 -24
  217. data/lib/onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.rb +27 -24
  218. data/lib/onlinepayments/sdk/domain/payment_product_group.rb +44 -37
  219. data/lib/onlinepayments/sdk/domain/payment_product_networks_response.rb +22 -20
  220. data/lib/onlinepayments/sdk/domain/payment_references.rb +27 -20
  221. data/lib/onlinepayments/sdk/domain/payment_response.rb +51 -41
  222. data/lib/onlinepayments/sdk/domain/payment_status_output.rb +66 -46
  223. data/lib/onlinepayments/sdk/domain/payout_error_response.rb +37 -31
  224. data/lib/onlinepayments/sdk/domain/payout_output.rb +27 -22
  225. data/lib/onlinepayments/sdk/domain/payout_response.rb +41 -32
  226. data/lib/onlinepayments/sdk/domain/payout_result.rb +41 -32
  227. data/lib/onlinepayments/sdk/domain/payout_status_output.rb +34 -24
  228. data/lib/onlinepayments/sdk/domain/personal_information.rb +34 -26
  229. data/lib/onlinepayments/sdk/domain/personal_information_token.rb +20 -18
  230. data/lib/onlinepayments/sdk/domain/personal_name.rb +34 -24
  231. data/lib/onlinepayments/sdk/domain/personal_name_token.rb +27 -20
  232. data/lib/onlinepayments/sdk/domain/product_directory.rb +22 -20
  233. data/lib/onlinepayments/sdk/domain/protection_eligibility.rb +27 -20
  234. data/lib/onlinepayments/sdk/domain/range_validator.rb +27 -20
  235. data/lib/onlinepayments/sdk/domain/rate_details.rb +51 -35
  236. data/lib/onlinepayments/sdk/domain/redirect_data.rb +27 -20
  237. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_input.rb +139 -88
  238. data/lib/onlinepayments/sdk/domain/redirect_payment_method_specific_output.rb +95 -75
  239. data/lib/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.rb +20 -16
  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 -31
  275. data/lib/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.rb +60 -39
  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 -63
  287. data/lib/onlinepayments/sdk/domain/three_d_secure_base.rb +78 -52
  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 +89 -35
  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/endpoint_configuration.rb +0 -127
  389. data/lib/onlinepayments/sdk/exceptions.rb +0 -8
  390. data/lib/onlinepayments/sdk/logging/logging_util.rb +0 -286
  391. data/lib/onlinepayments/sdk/marshaller.rb +0 -24
  392. data/lib/onlinepayments/sdk/marshaller_syntax_exception.rb +0 -6
  393. data/lib/onlinepayments/sdk/merchant/services/get_privacy_policy_params.rb +0 -30
  394. data/lib/onlinepayments/sdk/meta_data_provider.rb +0 -150
  395. data/lib/onlinepayments/sdk/modules.rb +0 -62
  396. data/lib/onlinepayments/sdk/multipart_form_data_object.rb +0 -44
  397. data/lib/onlinepayments/sdk/multipart_form_data_request.rb +0 -9
  398. data/lib/onlinepayments/sdk/not_found_exception.rb +0 -16
  399. data/lib/onlinepayments/sdk/param_request.rb +0 -11
  400. data/lib/onlinepayments/sdk/payment_platform_exception.rb +0 -15
  401. data/lib/onlinepayments/sdk/pooled_connection.rb +0 -21
  402. data/lib/onlinepayments/sdk/request_header.rb +0 -50
  403. data/lib/onlinepayments/sdk/request_param.rb +0 -23
  404. data/lib/onlinepayments/sdk/response_exception.rb +0 -47
  405. data/lib/onlinepayments/sdk/response_header.rb +0 -42
  406. data/lib/onlinepayments/sdk/uploadable_file.rb +0 -30
  407. data/lib/onlinepayments/sdk/webhooks/webhooks.rb +0 -22
  408. data/lib/onlinepayments/sdk/webhooks/webhooks_helper_builder.rb +0 -25
@@ -1,45 +1,59 @@
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 [String] asset_url
10
- # @attr [String] client_api_url
11
- # @attr [String] client_session_id
12
- # @attr [String] customer_id
13
- # @attr [Array<String>] invalid_tokens
14
- class SessionResponse < OnlinePayments::SDK::DataObject
15
- attr_accessor :asset_url
16
- attr_accessor :client_api_url
17
- attr_accessor :client_session_id
18
- attr_accessor :customer_id
19
- attr_accessor :invalid_tokens
20
-
21
- # @return (Hash)
22
- def to_h
23
- hash = super
24
- hash['assetUrl'] = @asset_url unless @asset_url.nil?
25
- hash['clientApiUrl'] = @client_api_url unless @client_api_url.nil?
26
- hash['clientSessionId'] = @client_session_id unless @client_session_id.nil?
27
- hash['customerId'] = @customer_id unless @customer_id.nil?
28
- hash['invalidTokens'] = @invalid_tokens unless @invalid_tokens.nil?
29
- hash
30
- end
4
+ require 'onlinepayments/sdk/domain/data_object'
5
+
6
+ module OnlinePayments
7
+ module SDK
8
+ module Domain
9
+ # @attr [String] asset_url
10
+ # @attr [String] client_api_url
11
+ # @attr [String] client_session_id
12
+ # @attr [String] customer_id
13
+ # @attr [Array<String>] invalid_tokens
14
+ class SessionResponse < OnlinePayments::SDK::Domain::DataObject
15
+
16
+ attr_accessor :asset_url
17
+
18
+ attr_accessor :client_api_url
19
+
20
+ attr_accessor :client_session_id
21
+
22
+ attr_accessor :customer_id
23
+
24
+ attr_accessor :invalid_tokens
31
25
 
32
- def from_hash(hash)
33
- super
34
- @asset_url = hash['assetUrl'] if hash.key? 'assetUrl'
35
- @client_api_url = hash['clientApiUrl'] if hash.key? 'clientApiUrl'
36
- @client_session_id = hash['clientSessionId'] if hash.key? 'clientSessionId'
37
- @customer_id = hash['customerId'] if hash.key? 'customerId'
38
- if hash.key? 'invalidTokens'
39
- raise TypeError, "value '%s' is not an Array" % [hash['invalidTokens']] unless hash['invalidTokens'].is_a? Array
40
- @invalid_tokens = []
41
- hash['invalidTokens'].each do |e|
42
- @invalid_tokens << e
26
+ # @return (Hash)
27
+ def to_h
28
+ hash = super
29
+ hash['assetUrl'] = @asset_url unless @asset_url.nil?
30
+ hash['clientApiUrl'] = @client_api_url unless @client_api_url.nil?
31
+ hash['clientSessionId'] = @client_session_id unless @client_session_id.nil?
32
+ hash['customerId'] = @customer_id unless @customer_id.nil?
33
+ hash['invalidTokens'] = @invalid_tokens unless @invalid_tokens.nil?
34
+ hash
35
+ end
36
+
37
+ def from_hash(hash)
38
+ super
39
+ if hash.has_key? 'assetUrl'
40
+ @asset_url = hash['assetUrl']
41
+ end
42
+ if hash.has_key? 'clientApiUrl'
43
+ @client_api_url = hash['clientApiUrl']
44
+ end
45
+ if hash.has_key? 'clientSessionId'
46
+ @client_session_id = hash['clientSessionId']
47
+ end
48
+ if hash.has_key? 'customerId'
49
+ @customer_id = hash['customerId']
50
+ end
51
+ if hash.has_key? 'invalidTokens'
52
+ raise TypeError, "value '%s' is not an Array" % [hash['invalidTokens']] unless hash['invalidTokens'].is_a? Array
53
+ @invalid_tokens = []
54
+ hash['invalidTokens'].each do |e|
55
+ @invalid_tokens << e
56
+ end
43
57
  end
44
58
  end
45
59
  end
@@ -1,65 +1,89 @@
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/address_personal'
5
+ require 'onlinepayments/sdk/domain/data_object'
6
6
  require 'onlinepayments/sdk/domain/shipping_method'
7
7
 
8
- module OnlinePayments::SDK
9
- module Domain
8
+ module OnlinePayments
9
+ module SDK
10
+ module Domain
11
+ # @attr [OnlinePayments::SDK::Domain::AddressPersonal] address
12
+ # @attr [String] address_indicator
13
+ # @attr [String] email_address
14
+ # @attr [String] first_usage_date
15
+ # @attr [true/false] is_first_usage
16
+ # @attr [OnlinePayments::SDK::Domain::ShippingMethod] method
17
+ # @attr [Integer] shipping_cost
18
+ # @attr [Integer] shipping_cost_tax
19
+ # @attr [String] type
20
+ class Shipping < OnlinePayments::SDK::Domain::DataObject
10
21
 
11
- # @attr [OnlinePayments::SDK::Domain::AddressPersonal] address
12
- # @attr [String] address_indicator
13
- # @attr [String] email_address
14
- # @attr [String] first_usage_date
15
- # @attr [true/false] is_first_usage
16
- # @attr [OnlinePayments::SDK::Domain::ShippingMethod] method
17
- # @attr [Long] shipping_cost
18
- # @attr [Long] shipping_cost_tax
19
- # @attr [String] type
20
- class Shipping < OnlinePayments::SDK::DataObject
21
- attr_accessor :address
22
- attr_accessor :address_indicator
23
- attr_accessor :email_address
24
- attr_accessor :first_usage_date
25
- attr_accessor :is_first_usage
26
- attr_accessor :method
27
- attr_accessor :shipping_cost
28
- attr_accessor :shipping_cost_tax
29
- attr_accessor :type
22
+ attr_accessor :address
30
23
 
31
- # @return (Hash)
32
- def to_h
33
- hash = super
34
- hash['address'] = @address.to_h if @address
35
- hash['addressIndicator'] = @address_indicator unless @address_indicator.nil?
36
- hash['emailAddress'] = @email_address unless @email_address.nil?
37
- hash['firstUsageDate'] = @first_usage_date unless @first_usage_date.nil?
38
- hash['isFirstUsage'] = @is_first_usage unless @is_first_usage.nil?
39
- hash['method'] = @method.to_h if @method
40
- hash['shippingCost'] = @shipping_cost unless @shipping_cost.nil?
41
- hash['shippingCostTax'] = @shipping_cost_tax unless @shipping_cost_tax.nil?
42
- hash['type'] = @type unless @type.nil?
43
- hash
44
- end
24
+ attr_accessor :address_indicator
25
+
26
+ attr_accessor :email_address
27
+
28
+ attr_accessor :first_usage_date
29
+
30
+ attr_accessor :is_first_usage
31
+
32
+ attr_accessor :method
45
33
 
46
- def from_hash(hash)
47
- super
48
- if hash.key? 'address'
49
- raise TypeError, "value '%s' is not a Hash" % [hash['address']] unless hash['address'].is_a? Hash
50
- @address = OnlinePayments::SDK::Domain::AddressPersonal.new_from_hash(hash['address'])
34
+ attr_accessor :shipping_cost
35
+
36
+ attr_accessor :shipping_cost_tax
37
+
38
+ attr_accessor :type
39
+
40
+ # @return (Hash)
41
+ def to_h
42
+ hash = super
43
+ hash['address'] = @address.to_h unless @address.nil?
44
+ hash['addressIndicator'] = @address_indicator unless @address_indicator.nil?
45
+ hash['emailAddress'] = @email_address unless @email_address.nil?
46
+ hash['firstUsageDate'] = @first_usage_date unless @first_usage_date.nil?
47
+ hash['isFirstUsage'] = @is_first_usage unless @is_first_usage.nil?
48
+ hash['method'] = @method.to_h unless @method.nil?
49
+ hash['shippingCost'] = @shipping_cost unless @shipping_cost.nil?
50
+ hash['shippingCostTax'] = @shipping_cost_tax unless @shipping_cost_tax.nil?
51
+ hash['type'] = @type unless @type.nil?
52
+ hash
51
53
  end
52
- @address_indicator = hash['addressIndicator'] if hash.key? 'addressIndicator'
53
- @email_address = hash['emailAddress'] if hash.key? 'emailAddress'
54
- @first_usage_date = hash['firstUsageDate'] if hash.key? 'firstUsageDate'
55
- @is_first_usage = hash['isFirstUsage'] if hash.key? 'isFirstUsage'
56
- if hash.key? 'method'
57
- raise TypeError, "value '%s' is not a Hash" % [hash['method']] unless hash['method'].is_a? Hash
58
- @method = OnlinePayments::SDK::Domain::ShippingMethod.new_from_hash(hash['method'])
54
+
55
+ def from_hash(hash)
56
+ super
57
+ if hash.has_key? 'address'
58
+ raise TypeError, "value '%s' is not a Hash" % [hash['address']] unless hash['address'].is_a? Hash
59
+ @address = OnlinePayments::SDK::Domain::AddressPersonal.new_from_hash(hash['address'])
60
+ end
61
+ if hash.has_key? 'addressIndicator'
62
+ @address_indicator = hash['addressIndicator']
63
+ end
64
+ if hash.has_key? 'emailAddress'
65
+ @email_address = hash['emailAddress']
66
+ end
67
+ if hash.has_key? 'firstUsageDate'
68
+ @first_usage_date = hash['firstUsageDate']
69
+ end
70
+ if hash.has_key? 'isFirstUsage'
71
+ @is_first_usage = hash['isFirstUsage']
72
+ end
73
+ if hash.has_key? 'method'
74
+ raise TypeError, "value '%s' is not a Hash" % [hash['method']] unless hash['method'].is_a? Hash
75
+ @method = OnlinePayments::SDK::Domain::ShippingMethod.new_from_hash(hash['method'])
76
+ end
77
+ if hash.has_key? 'shippingCost'
78
+ @shipping_cost = hash['shippingCost']
79
+ end
80
+ if hash.has_key? 'shippingCostTax'
81
+ @shipping_cost_tax = hash['shippingCostTax']
82
+ end
83
+ if hash.has_key? 'type'
84
+ @type = hash['type']
85
+ end
59
86
  end
60
- @shipping_cost = hash['shippingCost'] if hash.key? 'shippingCost'
61
- @shipping_cost_tax = hash['shippingCostTax'] if hash.key? 'shippingCostTax'
62
- @type = hash['type'] if hash.key? 'type'
63
87
  end
64
88
  end
65
89
  end
@@ -1,37 +1,50 @@
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] details
10
+ # @attr [String] name
11
+ # @attr [Integer] speed
12
+ # @attr [String] type
13
+ class ShippingMethod < OnlinePayments::SDK::Domain::DataObject
8
14
 
9
- # @attr [String] details
10
- # @attr [String] name
11
- # @attr [Integer] speed
12
- # @attr [String] type
13
- class ShippingMethod < OnlinePayments::SDK::DataObject
14
- attr_accessor :details
15
- attr_accessor :name
16
- attr_accessor :speed
17
- attr_accessor :type
15
+ attr_accessor :details
18
16
 
19
- # @return (Hash)
20
- def to_h
21
- hash = super
22
- hash['details'] = @details unless @details.nil?
23
- hash['name'] = @name unless @name.nil?
24
- hash['speed'] = @speed unless @speed.nil?
25
- hash['type'] = @type unless @type.nil?
26
- hash
27
- end
17
+ attr_accessor :name
18
+
19
+ attr_accessor :speed
20
+
21
+ attr_accessor :type
22
+
23
+ # @return (Hash)
24
+ def to_h
25
+ hash = super
26
+ hash['details'] = @details unless @details.nil?
27
+ hash['name'] = @name unless @name.nil?
28
+ hash['speed'] = @speed unless @speed.nil?
29
+ hash['type'] = @type unless @type.nil?
30
+ hash
31
+ end
28
32
 
29
- def from_hash(hash)
30
- super
31
- @details = hash['details'] if hash.key? 'details'
32
- @name = hash['name'] if hash.key? 'name'
33
- @speed = hash['speed'] if hash.key? 'speed'
34
- @type = hash['type'] if hash.key? 'type'
33
+ def from_hash(hash)
34
+ super
35
+ if hash.has_key? 'details'
36
+ @details = hash['details']
37
+ end
38
+ if hash.has_key? 'name'
39
+ @name = hash['name']
40
+ end
41
+ if hash.has_key? 'speed'
42
+ @speed = hash['speed']
43
+ end
44
+ if hash.has_key? 'type'
45
+ @type = hash['type']
46
+ end
47
+ end
35
48
  end
36
49
  end
37
50
  end
@@ -1,63 +1,77 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
5
4
  require 'onlinepayments/sdk/domain/amount_breakdown'
5
+ require 'onlinepayments/sdk/domain/data_object'
6
6
  require 'onlinepayments/sdk/domain/gift_card_purchase'
7
7
  require 'onlinepayments/sdk/domain/line_item'
8
8
 
9
- module OnlinePayments::SDK
10
- module Domain
9
+ module OnlinePayments
10
+ module SDK
11
+ module Domain
12
+ # @attr [Array<OnlinePayments::SDK::Domain::AmountBreakdown>] amount_breakdown
13
+ # @attr [OnlinePayments::SDK::Domain::GiftCardPurchase] gift_card_purchase
14
+ # @attr [true/false] is_pre_order
15
+ # @attr [Array<OnlinePayments::SDK::Domain::LineItem>] items
16
+ # @attr [String] pre_order_item_availability_date
17
+ # @attr [true/false] re_order_indicator
18
+ class ShoppingCart < OnlinePayments::SDK::Domain::DataObject
11
19
 
12
- # @attr [Array<OnlinePayments::SDK::Domain::AmountBreakdown>] amount_breakdown
13
- # @attr [OnlinePayments::SDK::Domain::GiftCardPurchase] gift_card_purchase
14
- # @attr [true/false] is_pre_order
15
- # @attr [Array<OnlinePayments::SDK::Domain::LineItem>] items
16
- # @attr [String] pre_order_item_availability_date
17
- # @attr [true/false] re_order_indicator
18
- class ShoppingCart < OnlinePayments::SDK::DataObject
19
- attr_accessor :amount_breakdown
20
- attr_accessor :gift_card_purchase
21
- attr_accessor :is_pre_order
22
- attr_accessor :items
23
- attr_accessor :pre_order_item_availability_date
24
- attr_accessor :re_order_indicator
20
+ # @deprecated Use order.shipping.shippingCost for shipping cost. Other amounts are not used. Determines how the total amount is split into amount types
21
+ attr_accessor :amount_breakdown
25
22
 
26
- # @return (Hash)
27
- def to_h
28
- hash = super
29
- hash['amountBreakdown'] = @amount_breakdown.collect(&:to_h) if @amount_breakdown
30
- hash['giftCardPurchase'] = @gift_card_purchase.to_h if @gift_card_purchase
31
- hash['isPreOrder'] = @is_pre_order unless @is_pre_order.nil?
32
- hash['items'] = @items.collect(&:to_h) if @items
33
- hash['preOrderItemAvailabilityDate'] = @pre_order_item_availability_date unless @pre_order_item_availability_date.nil?
34
- hash['reOrderIndicator'] = @re_order_indicator unless @re_order_indicator.nil?
35
- hash
36
- end
23
+ attr_accessor :gift_card_purchase
37
24
 
38
- def from_hash(hash)
39
- super
40
- if hash.key? 'amountBreakdown'
41
- raise TypeError, "value '%s' is not an Array" % [hash['amountBreakdown']] unless hash['amountBreakdown'].is_a? Array
42
- @amount_breakdown = []
43
- hash['amountBreakdown'].each do |e|
44
- @amount_breakdown << OnlinePayments::SDK::Domain::AmountBreakdown.new_from_hash(e)
45
- end
46
- end
47
- if hash.key? 'giftCardPurchase'
48
- raise TypeError, "value '%s' is not a Hash" % [hash['giftCardPurchase']] unless hash['giftCardPurchase'].is_a? Hash
49
- @gift_card_purchase = OnlinePayments::SDK::Domain::GiftCardPurchase.new_from_hash(hash['giftCardPurchase'])
25
+ attr_accessor :is_pre_order
26
+
27
+ attr_accessor :items
28
+
29
+ attr_accessor :pre_order_item_availability_date
30
+
31
+ attr_accessor :re_order_indicator
32
+
33
+ # @return (Hash)
34
+ def to_h
35
+ hash = super
36
+ hash['amountBreakdown'] = @amount_breakdown.collect{|val| val.to_h} unless @amount_breakdown.nil?
37
+ hash['giftCardPurchase'] = @gift_card_purchase.to_h unless @gift_card_purchase.nil?
38
+ hash['isPreOrder'] = @is_pre_order unless @is_pre_order.nil?
39
+ hash['items'] = @items.collect{|val| val.to_h} unless @items.nil?
40
+ hash['preOrderItemAvailabilityDate'] = @pre_order_item_availability_date unless @pre_order_item_availability_date.nil?
41
+ hash['reOrderIndicator'] = @re_order_indicator unless @re_order_indicator.nil?
42
+ hash
50
43
  end
51
- @is_pre_order = hash['isPreOrder'] if hash.key? 'isPreOrder'
52
- if hash.key? 'items'
53
- raise TypeError, "value '%s' is not an Array" % [hash['items']] unless hash['items'].is_a? Array
54
- @items = []
55
- hash['items'].each do |e|
56
- @items << OnlinePayments::SDK::Domain::LineItem.new_from_hash(e)
44
+
45
+ def from_hash(hash)
46
+ super
47
+ if hash.has_key? 'amountBreakdown'
48
+ raise TypeError, "value '%s' is not an Array" % [hash['amountBreakdown']] unless hash['amountBreakdown'].is_a? Array
49
+ @amount_breakdown = []
50
+ hash['amountBreakdown'].each do |e|
51
+ @amount_breakdown << OnlinePayments::SDK::Domain::AmountBreakdown.new_from_hash(e)
52
+ end
53
+ end
54
+ if hash.has_key? 'giftCardPurchase'
55
+ raise TypeError, "value '%s' is not a Hash" % [hash['giftCardPurchase']] unless hash['giftCardPurchase'].is_a? Hash
56
+ @gift_card_purchase = OnlinePayments::SDK::Domain::GiftCardPurchase.new_from_hash(hash['giftCardPurchase'])
57
+ end
58
+ if hash.has_key? 'isPreOrder'
59
+ @is_pre_order = hash['isPreOrder']
60
+ end
61
+ if hash.has_key? 'items'
62
+ raise TypeError, "value '%s' is not an Array" % [hash['items']] unless hash['items'].is_a? Array
63
+ @items = []
64
+ hash['items'].each do |e|
65
+ @items << OnlinePayments::SDK::Domain::LineItem.new_from_hash(e)
66
+ end
67
+ end
68
+ if hash.has_key? 'preOrderItemAvailabilityDate'
69
+ @pre_order_item_availability_date = hash['preOrderItemAvailabilityDate']
70
+ end
71
+ if hash.has_key? 'reOrderIndicator'
72
+ @re_order_indicator = hash['reOrderIndicator']
57
73
  end
58
74
  end
59
- @pre_order_item_availability_date = hash['preOrderItemAvailabilityDate'] if hash.key? 'preOrderItemAvailabilityDate'
60
- @re_order_indicator = hash['reOrderIndicator'] if hash.key? 'reOrderIndicator'
61
75
  end
62
76
  end
63
77
  end
@@ -1,52 +1,60 @@
1
- require 'onlinepayments/sdk/data_object'
1
+ require 'onlinepayments/sdk/domain/data_object'
2
2
 
3
- module OnlinePayments::SDK::Domain
3
+ module OnlinePayments
4
+ module SDK
5
+ module Domain
6
+ # Represents metadata part of shopping carts.
7
+ #
8
+ # @attr_reader [String] creator
9
+ # @attr_reader [String] name
10
+ # @attr_reader [String] version
11
+ # @attr_reader [String] extension_id
12
+ class ShoppingCartExtension < DataObject
13
+ def initialize(creator, name, version, extension_id=nil)
14
+ raise ArgumentError.new if creator.nil? or creator.strip.empty?
15
+ raise ArgumentError.new if name.nil? or name.strip.empty?
16
+ raise ArgumentError.new if version.nil? or version.to_s.strip.empty?
4
17
 
5
- # Represents metadata part of shopping carts.
6
- class ShoppingCartExtension < OnlinePayments::SDK::DataObject
7
- def initialize(creator, name, version, extension_id = nil)
8
- raise ArgumentError if creator.nil? || creator.strip.empty?
9
- raise ArgumentError if name.nil? || name.strip.empty?
10
- raise ArgumentError if version.nil? || version.to_s.strip.empty?
18
+ @creator = creator
19
+ @name = name
20
+ @version = version.to_s
21
+ @extension_id = extension_id
22
+ end
11
23
 
12
- @creator = creator
13
- @name = name
14
- @version = version.to_s
15
- @extension_id = extension_id
16
- end
24
+ # Constructs a new ShoppingCartExtension from parameter hash
25
+ # the hash should contain a _creator_, _name_, _version_ and _extensionId_
26
+ #--
27
+ # Overridden so ShoppingCartExtension can retain mandatory default arguments
28
+ #++
29
+ def self.new_from_hash(hash)
30
+ creator = hash['creator'] if hash.has_key?('creator')
31
+ name = hash['name'] if hash.has_key?('name')
32
+ version = hash['version'] if hash.has_key?('version')
33
+ extension_id = hash['extensionId'] if hash.has_key?('extensionId')
34
+ self.new(creator, name, version, extension_id)
35
+ end
17
36
 
18
- # Constructs a new ShoppingCartExtension from parameter hash
19
- # the hash should contain a _creator_, _name_, _version_ and _extensionId_
20
- #--
21
- # Overridden so ShoppingCartExtension can retain mandatory default arguments
22
- #++
23
- def self.new_from_hash(hash)
24
- creator = hash['creator'] if hash.has_key?('creator')
25
- name = hash['name'] if hash.has_key?('name')
26
- version = hash['version'] if hash.has_key?('version')
27
- extension_id = hash['extensionId'] if hash.has_key?('extensionId')
28
- self.new(creator, name, version, extension_id)
29
- end
37
+ # Converts the shopping cart metadata to a hash
38
+ def to_h
39
+ hash = super
40
+ hash['creator'] = @creator unless @creator.nil?
41
+ hash['name'] = @name unless @name.nil?
42
+ hash['version'] = @version unless @version.nil?
43
+ hash['extensionId'] = @extension_id unless @extension_id.nil?
44
+ hash
45
+ end
30
46
 
31
- # Converts the shopping cart metadata to a hash
32
- def to_h
33
- hash = super
34
- hash['creator'] = @creator unless @creator.nil?
35
- hash['name'] = @name unless @name.nil?
36
- hash['version'] = @version unless @version.nil?
37
- hash['extensionId'] = @extension_id unless @extension_id.nil?
38
- hash
39
- end
47
+ # loads shopping cart metadata from a parameter hash
48
+ def from_hash(hash)
49
+ super
50
+ @creator = hash['creator'] if hash.has_key? 'creator'
51
+ @name = hash['name'] if hash.has_key? 'name'
52
+ @version = hash['version'] if hash.has_key? 'version'
53
+ @extension_id = hash['extensionId'] if hash.has_key? 'extensionId'
54
+ end
40
55
 
41
- # loads shopping cart metadata from a parameter hash
42
- def from_hash(hash)
43
- super
44
- @creator = hash['creator'] if hash.has_key? 'creator'
45
- @name = hash['name'] if hash.has_key? 'name'
46
- @version = hash['version'] if hash.has_key? 'version'
47
- @extension_id = hash['extensionId'] if hash.has_key? 'extensionId'
56
+ attr_reader :creator, :name, :version, :extension_id
57
+ end
48
58
  end
49
-
50
- attr_reader :creator, :name, :version, :extension_id
51
59
  end
52
60
  end
@@ -1,44 +1,48 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
- require 'onlinepayments/sdk/data_object'
4
+ require 'onlinepayments/sdk/domain/data_object'
5
5
  require 'onlinepayments/sdk/domain/payment_product3012'
6
6
  require 'onlinepayments/sdk/domain/payment_product5404'
7
7
  require 'onlinepayments/sdk/domain/payment_product5407'
8
8
 
9
- module OnlinePayments::SDK
10
- module Domain
9
+ module OnlinePayments
10
+ module SDK
11
+ module Domain
12
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct3012] payment_product3012
13
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct5404] payment_product5404
14
+ # @attr [OnlinePayments::SDK::Domain::PaymentProduct5407] payment_product5407
15
+ class ShowFormData < OnlinePayments::SDK::Domain::DataObject
11
16
 
12
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct3012] payment_product3012
13
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5404] payment_product5404
14
- # @attr [OnlinePayments::SDK::Domain::PaymentProduct5407] payment_product5407
15
- class ShowFormData < OnlinePayments::SDK::DataObject
16
- attr_accessor :payment_product3012
17
- attr_accessor :payment_product5404
18
- attr_accessor :payment_product5407
17
+ attr_accessor :payment_product3012
19
18
 
20
- # @return (Hash)
21
- def to_h
22
- hash = super
23
- hash['paymentProduct3012'] = @payment_product3012.to_h if @payment_product3012
24
- hash['paymentProduct5404'] = @payment_product5404.to_h if @payment_product5404
25
- hash['paymentProduct5407'] = @payment_product5407.to_h if @payment_product5407
26
- hash
27
- end
19
+ attr_accessor :payment_product5404
28
20
 
29
- def from_hash(hash)
30
- super
31
- if hash.key? 'paymentProduct3012'
32
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3012']] unless hash['paymentProduct3012'].is_a? Hash
33
- @payment_product3012 = OnlinePayments::SDK::Domain::PaymentProduct3012.new_from_hash(hash['paymentProduct3012'])
34
- end
35
- if hash.key? 'paymentProduct5404'
36
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5404']] unless hash['paymentProduct5404'].is_a? Hash
37
- @payment_product5404 = OnlinePayments::SDK::Domain::PaymentProduct5404.new_from_hash(hash['paymentProduct5404'])
21
+ attr_accessor :payment_product5407
22
+
23
+ # @return (Hash)
24
+ def to_h
25
+ hash = super
26
+ hash['paymentProduct3012'] = @payment_product3012.to_h unless @payment_product3012.nil?
27
+ hash['paymentProduct5404'] = @payment_product5404.to_h unless @payment_product5404.nil?
28
+ hash['paymentProduct5407'] = @payment_product5407.to_h unless @payment_product5407.nil?
29
+ hash
38
30
  end
39
- if hash.key? 'paymentProduct5407'
40
- raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5407']] unless hash['paymentProduct5407'].is_a? Hash
41
- @payment_product5407 = OnlinePayments::SDK::Domain::PaymentProduct5407.new_from_hash(hash['paymentProduct5407'])
31
+
32
+ def from_hash(hash)
33
+ super
34
+ if hash.has_key? 'paymentProduct3012'
35
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct3012']] unless hash['paymentProduct3012'].is_a? Hash
36
+ @payment_product3012 = OnlinePayments::SDK::Domain::PaymentProduct3012.new_from_hash(hash['paymentProduct3012'])
37
+ end
38
+ if hash.has_key? 'paymentProduct5404'
39
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5404']] unless hash['paymentProduct5404'].is_a? Hash
40
+ @payment_product5404 = OnlinePayments::SDK::Domain::PaymentProduct5404.new_from_hash(hash['paymentProduct5404'])
41
+ end
42
+ if hash.has_key? 'paymentProduct5407'
43
+ raise TypeError, "value '%s' is not a Hash" % [hash['paymentProduct5407']] unless hash['paymentProduct5407'].is_a? Hash
44
+ @payment_product5407 = OnlinePayments::SDK::Domain::PaymentProduct5407.new_from_hash(hash['paymentProduct5407'])
45
+ end
42
46
  end
43
47
  end
44
48
  end