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,135 +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/airline_flight_leg'
6
5
  require 'onlinepayments/sdk/domain/airline_passenger'
6
+ require 'onlinepayments/sdk/domain/data_object'
7
7
 
8
- module OnlinePayments::SDK
9
- module Domain
10
-
11
- # @attr [String] agent_numeric_code
12
- # @attr [String] code
13
- # @attr [String] flight_date
14
- # @attr [String] flight_indicator
15
- # @attr [Array<OnlinePayments::SDK::Domain::AirlineFlightLeg>] flight_legs
16
- # @attr [String] invoice_number
17
- # @attr [true/false] is_e_ticket
18
- # @attr [true/false] is_restricted_ticket
19
- # @attr [true/false] is_third_party
20
- # @attr [String] issue_date
21
- # @attr [String] merchant_customer_id
22
- # @attr [String] name
23
- # @attr [String] passenger_name
24
- # @attr [Array<OnlinePayments::SDK::Domain::AirlinePassenger>] passengers
25
- # @attr [String] place_of_issue
26
- # @attr [String] pnr
27
- # @attr [String] point_of_sale
28
- # @attr [String] pos_city_code
29
- # @attr [String] ticket_currency
30
- # @attr [String] ticket_delivery_method
31
- # @attr [String] ticket_number
32
- # @attr [Integer] total_fare
33
- # @attr [Integer] total_fee
34
- # @attr [Integer] total_taxes
35
- # @attr [String] travel_agency_name
36
- class AirlineData < OnlinePayments::SDK::DataObject
37
- attr_accessor :agent_numeric_code
38
- attr_accessor :code
39
- attr_accessor :flight_date
40
- attr_accessor :flight_indicator
41
- attr_accessor :flight_legs
42
- attr_accessor :invoice_number
43
- attr_accessor :is_e_ticket
44
- attr_accessor :is_restricted_ticket
45
- attr_accessor :is_third_party
46
- attr_accessor :issue_date
47
- attr_accessor :merchant_customer_id
48
- attr_accessor :name
49
- attr_accessor :passenger_name
50
- attr_accessor :passengers
51
- attr_accessor :place_of_issue
52
- attr_accessor :pnr
53
- attr_accessor :point_of_sale
54
- attr_accessor :pos_city_code
55
- attr_accessor :ticket_currency
56
- attr_accessor :ticket_delivery_method
57
- attr_accessor :ticket_number
58
- attr_accessor :total_fare
59
- attr_accessor :total_fee
60
- attr_accessor :total_taxes
61
- attr_accessor :travel_agency_name
62
-
63
- # @return (Hash)
64
- def to_h
65
- hash = super
66
- hash['agentNumericCode'] = @agent_numeric_code unless @agent_numeric_code.nil?
67
- hash['code'] = @code unless @code.nil?
68
- hash['flightDate'] = @flight_date unless @flight_date.nil?
69
- hash['flightIndicator'] = @flight_indicator unless @flight_indicator.nil?
70
- hash['flightLegs'] = @flight_legs.collect(&:to_h) if @flight_legs
71
- hash['invoiceNumber'] = @invoice_number unless @invoice_number.nil?
72
- hash['isETicket'] = @is_e_ticket unless @is_e_ticket.nil?
73
- hash['isRestrictedTicket'] = @is_restricted_ticket unless @is_restricted_ticket.nil?
74
- hash['isThirdParty'] = @is_third_party unless @is_third_party.nil?
75
- hash['issueDate'] = @issue_date unless @issue_date.nil?
76
- hash['merchantCustomerId'] = @merchant_customer_id unless @merchant_customer_id.nil?
77
- hash['name'] = @name unless @name.nil?
78
- hash['passengerName'] = @passenger_name unless @passenger_name.nil?
79
- hash['passengers'] = @passengers.collect(&:to_h) if @passengers
80
- hash['placeOfIssue'] = @place_of_issue unless @place_of_issue.nil?
81
- hash['pnr'] = @pnr unless @pnr.nil?
82
- hash['pointOfSale'] = @point_of_sale unless @point_of_sale.nil?
83
- hash['posCityCode'] = @pos_city_code unless @pos_city_code.nil?
84
- hash['ticketCurrency'] = @ticket_currency unless @ticket_currency.nil?
85
- hash['ticketDeliveryMethod'] = @ticket_delivery_method unless @ticket_delivery_method.nil?
86
- hash['ticketNumber'] = @ticket_number unless @ticket_number.nil?
87
- hash['totalFare'] = @total_fare unless @total_fare.nil?
88
- hash['totalFee'] = @total_fee unless @total_fee.nil?
89
- hash['totalTaxes'] = @total_taxes unless @total_taxes.nil?
90
- hash['travelAgencyName'] = @travel_agency_name unless @travel_agency_name.nil?
91
- hash
92
- end
8
+ module OnlinePayments
9
+ module SDK
10
+ module Domain
11
+ # @attr [String] agent_numeric_code
12
+ # @attr [String] code
13
+ # @attr [String] flight_date
14
+ # @attr [String] flight_indicator
15
+ # @attr [Array<OnlinePayments::SDK::Domain::AirlineFlightLeg>] flight_legs
16
+ # @attr [String] invoice_number
17
+ # @attr [true/false] is_e_ticket
18
+ # @attr [true/false] is_restricted_ticket
19
+ # @attr [true/false] is_third_party
20
+ # @attr [String] issue_date
21
+ # @attr [String] merchant_customer_id
22
+ # @attr [String] name
23
+ # @attr [String] passenger_name
24
+ # @attr [Array<OnlinePayments::SDK::Domain::AirlinePassenger>] passengers
25
+ # @attr [String] place_of_issue
26
+ # @attr [String] pnr
27
+ # @attr [String] point_of_sale
28
+ # @attr [String] pos_city_code
29
+ # @attr [String] ticket_currency
30
+ # @attr [String] ticket_delivery_method
31
+ # @attr [String] ticket_number
32
+ # @attr [Integer] total_fare
33
+ # @attr [Integer] total_fee
34
+ # @attr [Integer] total_taxes
35
+ # @attr [String] travel_agency_name
36
+ class AirlineData < OnlinePayments::SDK::Domain::DataObject
93
37
 
94
- def from_hash(hash)
95
- super
96
- @agent_numeric_code = hash['agentNumericCode'] if hash.key? 'agentNumericCode'
97
- @code = hash['code'] if hash.key? 'code'
98
- @flight_date = hash['flightDate'] if hash.key? 'flightDate'
99
- @flight_indicator = hash['flightIndicator'] if hash.key? 'flightIndicator'
100
- if hash.key? 'flightLegs'
101
- raise TypeError, "value '%s' is not an Array" % [hash['flightLegs']] unless hash['flightLegs'].is_a? Array
102
- @flight_legs = []
103
- hash['flightLegs'].each do |e|
104
- @flight_legs << OnlinePayments::SDK::Domain::AirlineFlightLeg.new_from_hash(e)
105
- end
38
+ attr_accessor :agent_numeric_code
39
+
40
+ attr_accessor :code
41
+
42
+ # @deprecated This field is not used by any payment product Date of the Flight Format: YYYYMMDD
43
+ attr_accessor :flight_date
44
+
45
+ attr_accessor :flight_indicator
46
+
47
+ attr_accessor :flight_legs
48
+
49
+ attr_accessor :invoice_number
50
+
51
+ # @deprecated Deprecated
52
+ attr_accessor :is_e_ticket
53
+
54
+ attr_accessor :is_restricted_ticket
55
+
56
+ # @deprecated This field is not used by any payment product * true - The payer is the ticket holder * false - The payer is not the ticket holder
57
+ attr_accessor :is_third_party
58
+
59
+ attr_accessor :issue_date
60
+
61
+ attr_accessor :merchant_customer_id
62
+
63
+ # @deprecated This field is not used by any payment product Name of the airline
64
+ attr_accessor :name
65
+
66
+ # @deprecated Use passengers instead Name of passenger
67
+ attr_accessor :passenger_name
68
+
69
+ attr_accessor :passengers
70
+
71
+ # @deprecated This field is not used by any payment product Place of issue For sales in the US the last two characters (pos 14-15) must be the US state code.
72
+ attr_accessor :place_of_issue
73
+
74
+ # @deprecated Use passengers instead.
75
+ attr_accessor :pnr
76
+
77
+ attr_accessor :point_of_sale
78
+
79
+ # @deprecated This field is not used by any payment product City code of the point of sale
80
+ attr_accessor :pos_city_code
81
+
82
+ attr_accessor :ticket_currency
83
+
84
+ # @deprecated This field is not used by any payment product Delivery method of the ticket
85
+ attr_accessor :ticket_delivery_method
86
+
87
+ attr_accessor :ticket_number
88
+
89
+ attr_accessor :total_fare
90
+
91
+ attr_accessor :total_fee
92
+
93
+ attr_accessor :total_taxes
94
+
95
+ attr_accessor :travel_agency_name
96
+
97
+ # @return (Hash)
98
+ def to_h
99
+ hash = super
100
+ hash['agentNumericCode'] = @agent_numeric_code unless @agent_numeric_code.nil?
101
+ hash['code'] = @code unless @code.nil?
102
+ hash['flightDate'] = @flight_date unless @flight_date.nil?
103
+ hash['flightIndicator'] = @flight_indicator unless @flight_indicator.nil?
104
+ hash['flightLegs'] = @flight_legs.collect{|val| val.to_h} unless @flight_legs.nil?
105
+ hash['invoiceNumber'] = @invoice_number unless @invoice_number.nil?
106
+ hash['isETicket'] = @is_e_ticket unless @is_e_ticket.nil?
107
+ hash['isRestrictedTicket'] = @is_restricted_ticket unless @is_restricted_ticket.nil?
108
+ hash['isThirdParty'] = @is_third_party unless @is_third_party.nil?
109
+ hash['issueDate'] = @issue_date unless @issue_date.nil?
110
+ hash['merchantCustomerId'] = @merchant_customer_id unless @merchant_customer_id.nil?
111
+ hash['name'] = @name unless @name.nil?
112
+ hash['passengerName'] = @passenger_name unless @passenger_name.nil?
113
+ hash['passengers'] = @passengers.collect{|val| val.to_h} unless @passengers.nil?
114
+ hash['placeOfIssue'] = @place_of_issue unless @place_of_issue.nil?
115
+ hash['pnr'] = @pnr unless @pnr.nil?
116
+ hash['pointOfSale'] = @point_of_sale unless @point_of_sale.nil?
117
+ hash['posCityCode'] = @pos_city_code unless @pos_city_code.nil?
118
+ hash['ticketCurrency'] = @ticket_currency unless @ticket_currency.nil?
119
+ hash['ticketDeliveryMethod'] = @ticket_delivery_method unless @ticket_delivery_method.nil?
120
+ hash['ticketNumber'] = @ticket_number unless @ticket_number.nil?
121
+ hash['totalFare'] = @total_fare unless @total_fare.nil?
122
+ hash['totalFee'] = @total_fee unless @total_fee.nil?
123
+ hash['totalTaxes'] = @total_taxes unless @total_taxes.nil?
124
+ hash['travelAgencyName'] = @travel_agency_name unless @travel_agency_name.nil?
125
+ hash
106
126
  end
107
- @invoice_number = hash['invoiceNumber'] if hash.key? 'invoiceNumber'
108
- @is_e_ticket = hash['isETicket'] if hash.key? 'isETicket'
109
- @is_restricted_ticket = hash['isRestrictedTicket'] if hash.key? 'isRestrictedTicket'
110
- @is_third_party = hash['isThirdParty'] if hash.key? 'isThirdParty'
111
- @issue_date = hash['issueDate'] if hash.key? 'issueDate'
112
- @merchant_customer_id = hash['merchantCustomerId'] if hash.key? 'merchantCustomerId'
113
- @name = hash['name'] if hash.key? 'name'
114
- @passenger_name = hash['passengerName'] if hash.key? 'passengerName'
115
- if hash.key? 'passengers'
116
- raise TypeError, "value '%s' is not an Array" % [hash['passengers']] unless hash['passengers'].is_a? Array
117
- @passengers = []
118
- hash['passengers'].each do |e|
119
- @passengers << OnlinePayments::SDK::Domain::AirlinePassenger.new_from_hash(e)
127
+
128
+ def from_hash(hash)
129
+ super
130
+ if hash.has_key? 'agentNumericCode'
131
+ @agent_numeric_code = hash['agentNumericCode']
132
+ end
133
+ if hash.has_key? 'code'
134
+ @code = hash['code']
135
+ end
136
+ if hash.has_key? 'flightDate'
137
+ @flight_date = hash['flightDate']
138
+ end
139
+ if hash.has_key? 'flightIndicator'
140
+ @flight_indicator = hash['flightIndicator']
141
+ end
142
+ if hash.has_key? 'flightLegs'
143
+ raise TypeError, "value '%s' is not an Array" % [hash['flightLegs']] unless hash['flightLegs'].is_a? Array
144
+ @flight_legs = []
145
+ hash['flightLegs'].each do |e|
146
+ @flight_legs << OnlinePayments::SDK::Domain::AirlineFlightLeg.new_from_hash(e)
147
+ end
148
+ end
149
+ if hash.has_key? 'invoiceNumber'
150
+ @invoice_number = hash['invoiceNumber']
151
+ end
152
+ if hash.has_key? 'isETicket'
153
+ @is_e_ticket = hash['isETicket']
154
+ end
155
+ if hash.has_key? 'isRestrictedTicket'
156
+ @is_restricted_ticket = hash['isRestrictedTicket']
157
+ end
158
+ if hash.has_key? 'isThirdParty'
159
+ @is_third_party = hash['isThirdParty']
160
+ end
161
+ if hash.has_key? 'issueDate'
162
+ @issue_date = hash['issueDate']
163
+ end
164
+ if hash.has_key? 'merchantCustomerId'
165
+ @merchant_customer_id = hash['merchantCustomerId']
166
+ end
167
+ if hash.has_key? 'name'
168
+ @name = hash['name']
169
+ end
170
+ if hash.has_key? 'passengerName'
171
+ @passenger_name = hash['passengerName']
172
+ end
173
+ if hash.has_key? 'passengers'
174
+ raise TypeError, "value '%s' is not an Array" % [hash['passengers']] unless hash['passengers'].is_a? Array
175
+ @passengers = []
176
+ hash['passengers'].each do |e|
177
+ @passengers << OnlinePayments::SDK::Domain::AirlinePassenger.new_from_hash(e)
178
+ end
179
+ end
180
+ if hash.has_key? 'placeOfIssue'
181
+ @place_of_issue = hash['placeOfIssue']
182
+ end
183
+ if hash.has_key? 'pnr'
184
+ @pnr = hash['pnr']
185
+ end
186
+ if hash.has_key? 'pointOfSale'
187
+ @point_of_sale = hash['pointOfSale']
188
+ end
189
+ if hash.has_key? 'posCityCode'
190
+ @pos_city_code = hash['posCityCode']
191
+ end
192
+ if hash.has_key? 'ticketCurrency'
193
+ @ticket_currency = hash['ticketCurrency']
194
+ end
195
+ if hash.has_key? 'ticketDeliveryMethod'
196
+ @ticket_delivery_method = hash['ticketDeliveryMethod']
197
+ end
198
+ if hash.has_key? 'ticketNumber'
199
+ @ticket_number = hash['ticketNumber']
200
+ end
201
+ if hash.has_key? 'totalFare'
202
+ @total_fare = hash['totalFare']
203
+ end
204
+ if hash.has_key? 'totalFee'
205
+ @total_fee = hash['totalFee']
206
+ end
207
+ if hash.has_key? 'totalTaxes'
208
+ @total_taxes = hash['totalTaxes']
209
+ end
210
+ if hash.has_key? 'travelAgencyName'
211
+ @travel_agency_name = hash['travelAgencyName']
120
212
  end
121
213
  end
122
- @place_of_issue = hash['placeOfIssue'] if hash.key? 'placeOfIssue'
123
- @pnr = hash['pnr'] if hash.key? 'pnr'
124
- @point_of_sale = hash['pointOfSale'] if hash.key? 'pointOfSale'
125
- @pos_city_code = hash['posCityCode'] if hash.key? 'posCityCode'
126
- @ticket_currency = hash['ticketCurrency'] if hash.key? 'ticketCurrency'
127
- @ticket_delivery_method = hash['ticketDeliveryMethod'] if hash.key? 'ticketDeliveryMethod'
128
- @ticket_number = hash['ticketNumber'] if hash.key? 'ticketNumber'
129
- @total_fare = hash['totalFare'] if hash.key? 'totalFare'
130
- @total_fee = hash['totalFee'] if hash.key? 'totalFee'
131
- @total_taxes = hash['totalTaxes'] if hash.key? 'totalTaxes'
132
- @travel_agency_name = hash['travelAgencyName'] if hash.key? 'travelAgencyName'
133
214
  end
134
215
  end
135
216
  end
@@ -1,101 +1,164 @@
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] airline_class
10
- # @attr [String] arrival_airport
11
- # @attr [String] arrival_time
12
- # @attr [String] carrier_code
13
- # @attr [String] conjunction_ticket
14
- # @attr [String] coupon_number
15
- # @attr [String] date
16
- # @attr [String] departure_time
17
- # @attr [String] endorsement_or_restriction
18
- # @attr [String] exchange_ticket
19
- # @attr [String] fare
20
- # @attr [String] fare_basis
21
- # @attr [Integer] fee
22
- # @attr [String] flight_number
23
- # @attr [Integer] leg_fare
24
- # @attr [Integer] number
25
- # @attr [String] origin_airport
26
- # @attr [String] passenger_class
27
- # @attr [String] stopover_code
28
- # @attr [Integer] taxes
29
- class AirlineFlightLeg < OnlinePayments::SDK::DataObject
30
- attr_accessor :airline_class
31
- attr_accessor :arrival_airport
32
- attr_accessor :arrival_time
33
- attr_accessor :carrier_code
34
- attr_accessor :conjunction_ticket
35
- attr_accessor :coupon_number
36
- attr_accessor :date
37
- attr_accessor :departure_time
38
- attr_accessor :endorsement_or_restriction
39
- attr_accessor :exchange_ticket
40
- attr_accessor :fare
41
- attr_accessor :fare_basis
42
- attr_accessor :fee
43
- attr_accessor :flight_number
44
- attr_accessor :leg_fare
45
- attr_accessor :number
46
- attr_accessor :origin_airport
47
- attr_accessor :passenger_class
48
- attr_accessor :stopover_code
49
- attr_accessor :taxes
50
-
51
- # @return (Hash)
52
- def to_h
53
- hash = super
54
- hash['airlineClass'] = @airline_class unless @airline_class.nil?
55
- hash['arrivalAirport'] = @arrival_airport unless @arrival_airport.nil?
56
- hash['arrivalTime'] = @arrival_time unless @arrival_time.nil?
57
- hash['carrierCode'] = @carrier_code unless @carrier_code.nil?
58
- hash['conjunctionTicket'] = @conjunction_ticket unless @conjunction_ticket.nil?
59
- hash['couponNumber'] = @coupon_number unless @coupon_number.nil?
60
- hash['date'] = @date unless @date.nil?
61
- hash['departureTime'] = @departure_time unless @departure_time.nil?
62
- hash['endorsementOrRestriction'] = @endorsement_or_restriction unless @endorsement_or_restriction.nil?
63
- hash['exchangeTicket'] = @exchange_ticket unless @exchange_ticket.nil?
64
- hash['fare'] = @fare unless @fare.nil?
65
- hash['fareBasis'] = @fare_basis unless @fare_basis.nil?
66
- hash['fee'] = @fee unless @fee.nil?
67
- hash['flightNumber'] = @flight_number unless @flight_number.nil?
68
- hash['legFare'] = @leg_fare unless @leg_fare.nil?
69
- hash['number'] = @number unless @number.nil?
70
- hash['originAirport'] = @origin_airport unless @origin_airport.nil?
71
- hash['passengerClass'] = @passenger_class unless @passenger_class.nil?
72
- hash['stopoverCode'] = @stopover_code unless @stopover_code.nil?
73
- hash['taxes'] = @taxes unless @taxes.nil?
74
- hash
75
- end
4
+ require 'onlinepayments/sdk/domain/data_object'
5
+
6
+ module OnlinePayments
7
+ module SDK
8
+ module Domain
9
+ # @attr [String] airline_class
10
+ # @attr [String] arrival_airport
11
+ # @attr [String] arrival_time
12
+ # @attr [String] carrier_code
13
+ # @attr [String] conjunction_ticket
14
+ # @attr [String] coupon_number
15
+ # @attr [String] date
16
+ # @attr [String] departure_time
17
+ # @attr [String] endorsement_or_restriction
18
+ # @attr [String] exchange_ticket
19
+ # @attr [String] fare
20
+ # @attr [String] fare_basis
21
+ # @attr [Integer] fee
22
+ # @attr [String] flight_number
23
+ # @attr [Integer] leg_fare
24
+ # @attr [Integer] number
25
+ # @attr [String] origin_airport
26
+ # @attr [String] passenger_class
27
+ # @attr [String] stopover_code
28
+ # @attr [Integer] taxes
29
+ class AirlineFlightLeg < OnlinePayments::SDK::Domain::DataObject
30
+
31
+ attr_accessor :airline_class
32
+
33
+ attr_accessor :arrival_airport
34
+
35
+ attr_accessor :arrival_time
36
+
37
+ attr_accessor :carrier_code
38
+
39
+ attr_accessor :conjunction_ticket
40
+
41
+ attr_accessor :coupon_number
42
+
43
+ attr_accessor :date
44
+
45
+ attr_accessor :departure_time
46
+
47
+ attr_accessor :endorsement_or_restriction
48
+
49
+ attr_accessor :exchange_ticket
50
+
51
+ # @deprecated Use legFare instead. Fare of this leg
52
+ attr_accessor :fare
53
+
54
+ attr_accessor :fare_basis
55
+
56
+ attr_accessor :fee
57
+
58
+ attr_accessor :flight_number
59
+
60
+ attr_accessor :leg_fare
61
+
62
+ # @deprecated This field is not used by any payment product Sequence number of the flight leg
63
+ attr_accessor :number
64
+
65
+ attr_accessor :origin_airport
66
+
67
+ attr_accessor :passenger_class
68
+
69
+ attr_accessor :stopover_code
70
+
71
+ attr_accessor :taxes
72
+
73
+ # @return (Hash)
74
+ def to_h
75
+ hash = super
76
+ hash['airlineClass'] = @airline_class unless @airline_class.nil?
77
+ hash['arrivalAirport'] = @arrival_airport unless @arrival_airport.nil?
78
+ hash['arrivalTime'] = @arrival_time unless @arrival_time.nil?
79
+ hash['carrierCode'] = @carrier_code unless @carrier_code.nil?
80
+ hash['conjunctionTicket'] = @conjunction_ticket unless @conjunction_ticket.nil?
81
+ hash['couponNumber'] = @coupon_number unless @coupon_number.nil?
82
+ hash['date'] = @date unless @date.nil?
83
+ hash['departureTime'] = @departure_time unless @departure_time.nil?
84
+ hash['endorsementOrRestriction'] = @endorsement_or_restriction unless @endorsement_or_restriction.nil?
85
+ hash['exchangeTicket'] = @exchange_ticket unless @exchange_ticket.nil?
86
+ hash['fare'] = @fare unless @fare.nil?
87
+ hash['fareBasis'] = @fare_basis unless @fare_basis.nil?
88
+ hash['fee'] = @fee unless @fee.nil?
89
+ hash['flightNumber'] = @flight_number unless @flight_number.nil?
90
+ hash['legFare'] = @leg_fare unless @leg_fare.nil?
91
+ hash['number'] = @number unless @number.nil?
92
+ hash['originAirport'] = @origin_airport unless @origin_airport.nil?
93
+ hash['passengerClass'] = @passenger_class unless @passenger_class.nil?
94
+ hash['stopoverCode'] = @stopover_code unless @stopover_code.nil?
95
+ hash['taxes'] = @taxes unless @taxes.nil?
96
+ hash
97
+ end
76
98
 
77
- def from_hash(hash)
78
- super
79
- @airline_class = hash['airlineClass'] if hash.key? 'airlineClass'
80
- @arrival_airport = hash['arrivalAirport'] if hash.key? 'arrivalAirport'
81
- @arrival_time = hash['arrivalTime'] if hash.key? 'arrivalTime'
82
- @carrier_code = hash['carrierCode'] if hash.key? 'carrierCode'
83
- @conjunction_ticket = hash['conjunctionTicket'] if hash.key? 'conjunctionTicket'
84
- @coupon_number = hash['couponNumber'] if hash.key? 'couponNumber'
85
- @date = hash['date'] if hash.key? 'date'
86
- @departure_time = hash['departureTime'] if hash.key? 'departureTime'
87
- @endorsement_or_restriction = hash['endorsementOrRestriction'] if hash.key? 'endorsementOrRestriction'
88
- @exchange_ticket = hash['exchangeTicket'] if hash.key? 'exchangeTicket'
89
- @fare = hash['fare'] if hash.key? 'fare'
90
- @fare_basis = hash['fareBasis'] if hash.key? 'fareBasis'
91
- @fee = hash['fee'] if hash.key? 'fee'
92
- @flight_number = hash['flightNumber'] if hash.key? 'flightNumber'
93
- @leg_fare = hash['legFare'] if hash.key? 'legFare'
94
- @number = hash['number'] if hash.key? 'number'
95
- @origin_airport = hash['originAirport'] if hash.key? 'originAirport'
96
- @passenger_class = hash['passengerClass'] if hash.key? 'passengerClass'
97
- @stopover_code = hash['stopoverCode'] if hash.key? 'stopoverCode'
98
- @taxes = hash['taxes'] if hash.key? 'taxes'
99
+ def from_hash(hash)
100
+ super
101
+ if hash.has_key? 'airlineClass'
102
+ @airline_class = hash['airlineClass']
103
+ end
104
+ if hash.has_key? 'arrivalAirport'
105
+ @arrival_airport = hash['arrivalAirport']
106
+ end
107
+ if hash.has_key? 'arrivalTime'
108
+ @arrival_time = hash['arrivalTime']
109
+ end
110
+ if hash.has_key? 'carrierCode'
111
+ @carrier_code = hash['carrierCode']
112
+ end
113
+ if hash.has_key? 'conjunctionTicket'
114
+ @conjunction_ticket = hash['conjunctionTicket']
115
+ end
116
+ if hash.has_key? 'couponNumber'
117
+ @coupon_number = hash['couponNumber']
118
+ end
119
+ if hash.has_key? 'date'
120
+ @date = hash['date']
121
+ end
122
+ if hash.has_key? 'departureTime'
123
+ @departure_time = hash['departureTime']
124
+ end
125
+ if hash.has_key? 'endorsementOrRestriction'
126
+ @endorsement_or_restriction = hash['endorsementOrRestriction']
127
+ end
128
+ if hash.has_key? 'exchangeTicket'
129
+ @exchange_ticket = hash['exchangeTicket']
130
+ end
131
+ if hash.has_key? 'fare'
132
+ @fare = hash['fare']
133
+ end
134
+ if hash.has_key? 'fareBasis'
135
+ @fare_basis = hash['fareBasis']
136
+ end
137
+ if hash.has_key? 'fee'
138
+ @fee = hash['fee']
139
+ end
140
+ if hash.has_key? 'flightNumber'
141
+ @flight_number = hash['flightNumber']
142
+ end
143
+ if hash.has_key? 'legFare'
144
+ @leg_fare = hash['legFare']
145
+ end
146
+ if hash.has_key? 'number'
147
+ @number = hash['number']
148
+ end
149
+ if hash.has_key? 'originAirport'
150
+ @origin_airport = hash['originAirport']
151
+ end
152
+ if hash.has_key? 'passengerClass'
153
+ @passenger_class = hash['passengerClass']
154
+ end
155
+ if hash.has_key? 'stopoverCode'
156
+ @stopover_code = hash['stopoverCode']
157
+ end
158
+ if hash.has_key? 'taxes'
159
+ @taxes = hash['taxes']
160
+ end
161
+ end
99
162
  end
100
163
  end
101
164
  end