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,56 +1,60 @@
1
1
  require 'English'
2
+ require 'onlinepayments/sdk/logging/communicator_logger'
2
3
 
3
- module OnlinePayments::SDK
4
- module Logging
4
+ module OnlinePayments
5
+ module SDK
6
+ module Logging
7
+ # Logging class that Logs messages and errors to a logger.
8
+ # Errors can be logged at a separate level compared to regular messages.
9
+ class RubyCommunicatorLogger < CommunicatorLogger
5
10
 
6
- # Logging class that Logs messages and errors to a logger.
7
- # Errors can be logged at a separate level compared to regular messages.
8
- class RubyCommunicatorLogger < CommunicatorLogger
11
+ # Creates a new RubyCommunicatorLogger instance.
12
+ #
13
+ # @param logger [Logger] the logger to log messages to. Messages to log will be provided using logger#log(message level, message)
14
+ # @param log_level [String] log level to use for non-error messages.
15
+ # @param error_level [String, nil] error logging level to use.
16
+ def initialize(logger, log_level, error_level = nil)
17
+ # implement the interface
18
+ error_level ||= log_level
19
+ raise ArgumentError unless logger
20
+ raise ArgumentError unless log_level
21
+ raise ArgumentError unless error_level
9
22
 
10
- # Creates a new RubyCommunicatorLogger instance.
11
- #
12
- # @param logger [Logger] the logger to log messages to. Messages to log will be provided using logger#log(message level, message)
13
- # @param log_level [String] log level to use for non-error messages.
14
- # @param error_level [String] error logging level to use.
15
- def initialize(logger, log_level, error_level = false)
16
- # implement the interface
17
- error_level ||= log_level
18
- raise ArgumentError unless logger
19
- raise ArgumentError unless log_level
20
- raise ArgumentError unless error_level
21
-
22
- @logger = logger
23
- @log_level = log_level
24
- @errorLevel = error_level
25
- end
23
+ @logger = logger
24
+ @log_level = log_level
25
+ @error_level = error_level
26
+ end
26
27
 
27
- # Logs a single error or non-error message to the logger.
28
- def log(msg, thrown = nil)
29
- # use Ruby Logger
30
- if thrown
31
- @logger.log(@errorLevel) { msg + $RS + thrown.to_s + $RS + thrown.backtrace.join($RS) }
32
- else
33
- @logger.log(@log_level, msg)
28
+ # Logs a single error or non-error message to the logger.
29
+ def log(msg, thrown = nil)
30
+ # use Ruby Logger
31
+ if thrown
32
+ @logger.log(@error_level) { msg + $RS + thrown.to_s + $RS + thrown.backtrace.join($RS) }
33
+ else
34
+ @logger.log(@log_level, msg)
35
+ end
34
36
  end
35
- end
36
37
 
37
- # Opens or creates a new file in write-only mode with _filename_.
38
- def self.create_logfile(filename)
39
- logdev = begin
40
- open(filename, (File::WRONLY | File::APPEND | File::CREAT | File::EXCL))
41
- rescue Errno::EEXIST
42
- # file is created by another process
43
- open_logfile(filename)
44
- end
45
- logdev.sync = true
46
- logdev
47
- end
38
+ # Opens or creates a new file in write-only mode with _filename_.
39
+ def self.create_logfile(filename)
40
+ logdev = begin
41
+ open(filename, (File::WRONLY | File::APPEND | File::CREAT | File::EXCL))
42
+ rescue Errno::EEXIST
43
+ # file is created by another process
44
+ open_logfile(filename)
45
+ end
46
+ logdev.sync = true
47
+ logdev
48
+ end
48
49
 
49
- # Opens or creates a new file in write-only mode with _filename_.
50
- def self.open_logfile(filename)
51
- open(filename, (File::WRONLY | File::APPEND))
52
- rescue Errno::ENOENT
53
- create_logfile(filename)
50
+ # Opens or creates a new file in write-only mode with _filename_.
51
+ def self.open_logfile(filename)
52
+ begin
53
+ open(filename, (File::WRONLY | File::APPEND))
54
+ rescue Errno::ENOENT
55
+ create_logfile(filename)
56
+ end
57
+ end
54
58
  end
55
59
  end
56
60
  end
@@ -1,33 +1,30 @@
1
1
  require 'English'
2
2
  require 'singleton'
3
+ require 'onlinepayments/sdk/logging/communicator_logger'
3
4
 
4
- module OnlinePayments::SDK
5
- module Logging
5
+ module OnlinePayments
6
+ module SDK
7
+ module Logging
8
+ # Logging class that logs the messages to $stdout.
9
+ class StdoutCommunicatorLogger < CommunicatorLogger
10
+ include Singleton
6
11
 
7
- # {OnlinePayments::SDK::Logging::CommunicatorLogger} that logs the messages to $stdout.
8
- class StdoutCommunicatorLogger < CommunicatorLogger
9
- include Singleton
12
+ def initialize
13
+ # implement the interface
14
+ end
10
15
 
11
- def initialize
12
- # implement the interface
13
- end
14
-
15
- # NOTE: this alias is needed to not break existing method calls depending on old interface
16
- class << self
17
- alias_method :INSTANCE, :instance
18
- end
19
-
20
- # Logs a single error or non-error message to $stdout.
21
- def log(msg, thrown = nil)
22
- $stdout.puts get_date_prefix + msg
23
- $stdout.puts thrown.to_s if thrown
24
- $stdout.puts thrown.backtrace.join($RS) if thrown
25
- end
16
+ # Logs a single error or non-error message to $stdout.
17
+ def log(msg, thrown = nil)
18
+ $stdout.puts get_date_prefix + msg
19
+ $stdout.puts thrown.to_s if thrown
20
+ $stdout.puts thrown.backtrace.join($RS) if thrown
21
+ end
26
22
 
27
- private
23
+ private
28
24
 
29
- def get_date_prefix
30
- Time.now.strftime("%Y-%m-%dT%H:%M:%S ")
25
+ def get_date_prefix
26
+ Time.now.strftime("%Y-%m-%dT%H:%M:%S ")
27
+ end
31
28
  end
32
29
  end
33
30
  end
@@ -1,10 +1 @@
1
- prefix = 'onlinepayments/sdk/logging'
2
-
3
- require "#{prefix}/logging_capable"
4
- require "#{prefix}/log_message_builder"
5
- require "#{prefix}/request_log_message_builder"
6
- require "#{prefix}/response_log_message_builder"
7
- require "#{prefix}/logging_util"
8
- require "#{prefix}/communicator_logger"
9
- require "#{prefix}/ruby_communicator_logger"
10
- require "#{prefix}/stdout_communicator_logger"
1
+ Dir[File.join(__dir__, 'logging', '*.rb')].each { |f| require f }
@@ -0,0 +1,57 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'onlinepayments/sdk/api_resource'
5
+ require 'onlinepayments/sdk/exception_factory'
6
+ require 'onlinepayments/sdk/communication/response_exception'
7
+ require 'onlinepayments/sdk/domain/captures_response'
8
+ require 'onlinepayments/sdk/domain/error_response'
9
+
10
+ module OnlinePayments
11
+ module SDK
12
+ module Merchant
13
+ module Captures
14
+ # Captures client. Thread-safe.
15
+ class CapturesClient < OnlinePayments::SDK::ApiResource
16
+
17
+ # @param parent [OnlinePayments::SDK::ApiResource]
18
+ # @param path_context [Hash, nil]
19
+ def initialize(parent, path_context)
20
+ super(parent: parent, path_context: path_context)
21
+ end
22
+
23
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/captures - Get captures of payment
24
+ #
25
+ # @param payment_id [String]
26
+ # @param context [OnlinePayments::SDK::CallContext, nil]
27
+ # @return [OnlinePayments::SDK::Domain::CapturesResponse]
28
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
29
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
30
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
31
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
32
+ # or there was a conflict (HTTP status code 404, 409 or 410)
33
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
34
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
35
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
36
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
37
+ def get_captures(payment_id, context = nil)
38
+ path_context = {
39
+ 'paymentId'.freeze => payment_id,
40
+ }
41
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/captures', path_context)
42
+ @communicator.get(
43
+ uri,
44
+ client_headers,
45
+ nil,
46
+ OnlinePayments::SDK::Domain::CapturesResponse,
47
+ context)
48
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
49
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
50
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
51
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'captures', '*.rb')].each { |f| require f }
@@ -0,0 +1,60 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require 'onlinepayments/sdk/api_resource'
5
+ require 'onlinepayments/sdk/exception_factory'
6
+ require 'onlinepayments/sdk/communication/response_exception'
7
+ require 'onlinepayments/sdk/domain/complete_payment_response'
8
+ require 'onlinepayments/sdk/domain/payment_error_response'
9
+
10
+ module OnlinePayments
11
+ module SDK
12
+ module Merchant
13
+ module Complete
14
+ # Complete client. Thread-safe.
15
+ class CompleteClient < OnlinePayments::SDK::ApiResource
16
+
17
+ # @param parent [OnlinePayments::SDK::ApiResource]
18
+ # @param path_context [Hash, nil]
19
+ def initialize(parent, path_context)
20
+ super(parent: parent, path_context: path_context)
21
+ end
22
+
23
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/complete - Complete payment
24
+ #
25
+ # @param payment_id [String]
26
+ # @param body [OnlinePayments::SDK::Domain::CompletePaymentRequest]
27
+ # @param context [OnlinePayments::SDK::CallContext, nil]
28
+ # @return [OnlinePayments::SDK::Domain::CompletePaymentResponse]
29
+ # @raise [OnlinePayments::SDK::DeclinedPaymentException] if the payment platform declined / rejected the payment. The payment result will be available from the exception.
30
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
31
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
32
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
33
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
34
+ # or there was a conflict (HTTP status code 404, 409 or 410)
35
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
36
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
37
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
38
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
39
+ def complete_payment(payment_id, body, context = nil)
40
+ path_context = {
41
+ 'paymentId'.freeze => payment_id,
42
+ }
43
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/complete', path_context)
44
+ @communicator.post(
45
+ uri,
46
+ client_headers,
47
+ nil,
48
+ body,
49
+ OnlinePayments::SDK::Domain::CompletePaymentResponse,
50
+ context)
51
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
52
+ error_type = OnlinePayments::SDK::Domain::PaymentErrorResponse
53
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
54
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'complete', '*.rb')].each { |f| require f }
@@ -1,84 +1,85 @@
1
1
  #
2
- # This class was auto-generated.
2
+ # This file was automatically generated.
3
3
  #
4
4
  require 'onlinepayments/sdk/api_resource'
5
- require 'onlinepayments/sdk/response_exception'
6
- require 'onlinepayments/sdk/domain/create_hosted_checkout_request'
5
+ require 'onlinepayments/sdk/exception_factory'
6
+ require 'onlinepayments/sdk/communication/response_exception'
7
7
  require 'onlinepayments/sdk/domain/create_hosted_checkout_response'
8
8
  require 'onlinepayments/sdk/domain/error_response'
9
9
  require 'onlinepayments/sdk/domain/get_hosted_checkout_response'
10
10
 
11
- module OnlinePayments::SDK
12
- module Merchant
13
- module HostedCheckout
11
+ module OnlinePayments
12
+ module SDK
13
+ module Merchant
14
+ module HostedCheckout
15
+ # HostedCheckout client. Thread-safe.
16
+ class HostedCheckoutClient < OnlinePayments::SDK::ApiResource
14
17
 
15
- # HostedCheckout client. Thread-safe.
16
- class HostedCheckoutClient < OnlinePayments::SDK::ApiResource
18
+ # @param parent [OnlinePayments::SDK::ApiResource]
19
+ # @param path_context [Hash, nil]
20
+ def initialize(parent, path_context)
21
+ super(parent: parent, path_context: path_context)
22
+ end
17
23
 
18
- # @param parent [OnlinePayments::SDK::ApiResource]
19
- # @param path_context [Hash, nil]
20
- def initialize(parent, path_context = nil)
21
- super(parent, path_context)
22
- end
23
-
24
- # Resource /v2/!{merchantId}/hostedcheckouts
25
- # @param body [OnlinePayments::SDK::Domain::CreateHostedCheckoutRequest]
26
- # @param context [OnlinePayments::SDK::CallContext]
27
- # @return [OnlinePayments::SDK::Domain::CreateHostedCheckoutResponse]
28
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
29
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
30
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
31
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
32
- # or there was a conflict (HTTP status code 404, 409 or 410)
33
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
34
- # the payment platform was unable to process a message from a downstream partner/acquirer,
35
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
36
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
37
- def create_hosted_checkout(body, context = nil)
38
- uri = instantiate_uri('/v2/{merchantId}/hostedcheckouts')
39
- @communicator.post(
40
- uri,
41
- client_headers,
42
- nil,
43
- body,
44
- OnlinePayments::SDK::Domain::CreateHostedCheckoutResponse,
45
- context
46
- )
47
- rescue ResponseException => e
48
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
49
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
50
- raise create_exception(e.status_code, e.body, error_object, context)
51
- end
24
+ # Resource /v2/!{merchantId}/hostedcheckouts - Create hosted checkout
25
+ #
26
+ # @param body [OnlinePayments::SDK::Domain::CreateHostedCheckoutRequest]
27
+ # @param context [OnlinePayments::SDK::CallContext, nil]
28
+ # @return [OnlinePayments::SDK::Domain::CreateHostedCheckoutResponse]
29
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
30
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
31
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
32
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
33
+ # or there was a conflict (HTTP status code 404, 409 or 410)
34
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
35
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
36
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
37
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
38
+ def create_hosted_checkout(body, context = nil)
39
+ uri = instantiate_uri('/v2/{merchantId}/hostedcheckouts', nil)
40
+ @communicator.post(
41
+ uri,
42
+ client_headers,
43
+ nil,
44
+ body,
45
+ OnlinePayments::SDK::Domain::CreateHostedCheckoutResponse,
46
+ context)
47
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
48
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
49
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
50
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
51
+ end
52
52
 
53
- # Resource /v2/!{merchantId}/hostedcheckouts/!{hostedCheckoutId}
54
- # @param hosted_checkout_id [String]
55
- # @param context [OnlinePayments::SDK::CallContext]
56
- # @return [OnlinePayments::SDK::Domain::GetHostedCheckoutResponse]
57
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
58
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
59
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
60
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
61
- # or there was a conflict (HTTP status code 404, 409 or 410)
62
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
63
- # the payment platform was unable to process a message from a downstream partner/acquirer,
64
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
65
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
66
- def get_hosted_checkout(hosted_checkout_id, context = nil)
67
- path_context = {
68
- 'hostedCheckoutId'.freeze => hosted_checkout_id,
69
- }
70
- uri = instantiate_uri('/v2/{merchantId}/hostedcheckouts/{hostedCheckoutId}', path_context)
71
- @communicator.get(
72
- uri,
73
- client_headers,
74
- nil,
75
- OnlinePayments::SDK::Domain::GetHostedCheckoutResponse,
76
- context
77
- )
78
- rescue ResponseException => e
79
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
80
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
81
- raise create_exception(e.status_code, e.body, error_object, context)
53
+ # Resource /v2/!{merchantId}/hostedcheckouts/!{hostedCheckoutId} - Get hosted checkout status
54
+ #
55
+ # @param hosted_checkout_id [String]
56
+ # @param context [OnlinePayments::SDK::CallContext, nil]
57
+ # @return [OnlinePayments::SDK::Domain::GetHostedCheckoutResponse]
58
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
59
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
60
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
61
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
62
+ # or there was a conflict (HTTP status code 404, 409 or 410)
63
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
64
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
65
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
66
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
67
+ def get_hosted_checkout(hosted_checkout_id, context = nil)
68
+ path_context = {
69
+ 'hostedCheckoutId'.freeze => hosted_checkout_id,
70
+ }
71
+ uri = instantiate_uri('/v2/{merchantId}/hostedcheckouts/{hostedCheckoutId}', path_context)
72
+ @communicator.get(
73
+ uri,
74
+ client_headers,
75
+ nil,
76
+ OnlinePayments::SDK::Domain::GetHostedCheckoutResponse,
77
+ context)
78
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
79
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
80
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
81
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
82
+ end
82
83
  end
83
84
  end
84
85
  end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'hostedcheckout', '*.rb')].each { |f| require f }