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,357 +1,258 @@
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/cancel_payment_request'
5
+ require 'onlinepayments/sdk/exception_factory'
6
+ require 'onlinepayments/sdk/communication/response_exception'
7
7
  require 'onlinepayments/sdk/domain/cancel_payment_response'
8
- require 'onlinepayments/sdk/domain/capture_payment_request'
9
8
  require 'onlinepayments/sdk/domain/capture_response'
10
- require 'onlinepayments/sdk/domain/captures_response'
11
- require 'onlinepayments/sdk/domain/complete_payment_request'
12
- require 'onlinepayments/sdk/domain/complete_payment_response'
13
- require 'onlinepayments/sdk/domain/create_payment_request'
14
9
  require 'onlinepayments/sdk/domain/create_payment_response'
15
10
  require 'onlinepayments/sdk/domain/error_response'
16
11
  require 'onlinepayments/sdk/domain/payment_details_response'
17
12
  require 'onlinepayments/sdk/domain/payment_error_response'
18
13
  require 'onlinepayments/sdk/domain/payment_response'
19
14
  require 'onlinepayments/sdk/domain/refund_error_response'
20
- require 'onlinepayments/sdk/domain/refund_request'
21
15
  require 'onlinepayments/sdk/domain/refund_response'
22
- require 'onlinepayments/sdk/domain/refunds_response'
23
- require 'onlinepayments/sdk/domain/subsequent_payment_request'
24
16
  require 'onlinepayments/sdk/domain/subsequent_payment_response'
25
17
 
26
- module OnlinePayments::SDK
27
- module Merchant
28
- module Payments
18
+ module OnlinePayments
19
+ module SDK
20
+ module Merchant
21
+ module Payments
22
+ # Payments client. Thread-safe.
23
+ class PaymentsClient < OnlinePayments::SDK::ApiResource
29
24
 
30
- # Payments client. Thread-safe.
31
- class PaymentsClient < OnlinePayments::SDK::ApiResource
25
+ # @param parent [OnlinePayments::SDK::ApiResource]
26
+ # @param path_context [Hash, nil]
27
+ def initialize(parent, path_context)
28
+ super(parent: parent, path_context: path_context)
29
+ end
32
30
 
33
- # @param parent [OnlinePayments::SDK::ApiResource]
34
- # @param path_context [Hash, nil]
35
- def initialize(parent, path_context = nil)
36
- super(parent, path_context)
37
- end
38
-
39
- # Resource /v2/!{merchantId}/payments
40
- # @param body [OnlinePayments::SDK::Domain::CreatePaymentRequest]
41
- # @param context [OnlinePayments::SDK::CallContext]
42
- # @return [OnlinePayments::SDK::Domain::CreatePaymentResponse]
43
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
44
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
45
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
46
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
47
- # or there was a conflict (HTTP status code 404, 409 or 410)
48
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
49
- # the payment platform was unable to process a message from a downstream partner/acquirer,
50
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
51
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
52
- def create_payment(body, context = nil)
53
- uri = instantiate_uri('/v2/{merchantId}/payments')
54
- @communicator.post(
55
- uri,
56
- client_headers,
57
- nil,
58
- body,
59
- OnlinePayments::SDK::Domain::CreatePaymentResponse,
60
- context
61
- )
62
- rescue ResponseException => e
63
- error_type = OnlinePayments::SDK::Domain::PaymentErrorResponse
64
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
65
- raise create_exception(e.status_code, e.body, error_object, context)
66
- end
67
-
68
- # Resource /v2/!{merchantId}/payments/!{paymentId}
69
- # @param payment_id [String]
70
- # @param context [OnlinePayments::SDK::CallContext]
71
- # @return [OnlinePayments::SDK::Domain::PaymentResponse]
72
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
73
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
74
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
75
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
76
- # or there was a conflict (HTTP status code 404, 409 or 410)
77
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
78
- # the payment platform was unable to process a message from a downstream partner/acquirer,
79
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
80
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
81
- def get_payment(payment_id, context = nil)
82
- path_context = {
83
- 'paymentId'.freeze => payment_id,
84
- }
85
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}', path_context)
86
- @communicator.get(
87
- uri,
88
- client_headers,
89
- nil,
90
- OnlinePayments::SDK::Domain::PaymentResponse,
91
- context
92
- )
93
- rescue ResponseException => e
94
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
95
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
96
- raise create_exception(e.status_code, e.body, error_object, context)
97
- end
98
-
99
- # Resource /v2/!{merchantId}/payments/!{paymentId}/complete
100
- # @param payment_id [String]
101
- # @param body [OnlinePayments::SDK::Domain::CompletePaymentRequest]
102
- # @param context [OnlinePayments::SDK::CallContext]
103
- # @return [OnlinePayments::SDK::Domain::CompletePaymentResponse]
104
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
105
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
106
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
107
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
108
- # or there was a conflict (HTTP status code 404, 409 or 410)
109
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
110
- # the payment platform was unable to process a message from a downstream partner/acquirer,
111
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
112
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
113
- def complete_payment(payment_id, body, context = nil)
114
- path_context = {
115
- 'paymentId'.freeze => payment_id,
116
- }
117
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/complete', path_context)
118
- @communicator.post(
119
- uri,
120
- client_headers,
121
- nil,
122
- body,
123
- OnlinePayments::SDK::Domain::CompletePaymentResponse,
124
- context
125
- )
126
- rescue ResponseException => e
127
- error_type = OnlinePayments::SDK::Domain::PaymentErrorResponse
128
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
129
- raise create_exception(e.status_code, e.body, error_object, context)
130
- end
31
+ # Resource /v2/!{merchantId}/payments - Create payment
32
+ #
33
+ # @param body [OnlinePayments::SDK::Domain::CreatePaymentRequest]
34
+ # @param context [OnlinePayments::SDK::CallContext, nil]
35
+ # @return [OnlinePayments::SDK::Domain::CreatePaymentResponse]
36
+ # @raise [OnlinePayments::SDK::DeclinedPaymentException] if the payment platform declined / rejected the payment. The payment result will be available from the exception.
37
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
38
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
39
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
40
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
41
+ # or there was a conflict (HTTP status code 404, 409 or 410)
42
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
43
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
44
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
45
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
46
+ def create_payment(body, context = nil)
47
+ uri = instantiate_uri('/v2/{merchantId}/payments', nil)
48
+ @communicator.post(
49
+ uri,
50
+ client_headers,
51
+ nil,
52
+ body,
53
+ OnlinePayments::SDK::Domain::CreatePaymentResponse,
54
+ context)
55
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
56
+ error_type = OnlinePayments::SDK::Domain::PaymentErrorResponse
57
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
58
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
59
+ end
131
60
 
132
- # Resource /v2/!{merchantId}/payments/!{paymentId}/cancel
133
- # @param payment_id [String]
134
- # @param body [OnlinePayments::SDK::Domain::CancelPaymentRequest]
135
- # @param context [OnlinePayments::SDK::CallContext]
136
- # @return [OnlinePayments::SDK::Domain::CancelPaymentResponse]
137
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
138
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
139
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
140
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
141
- # or there was a conflict (HTTP status code 404, 409 or 410)
142
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
143
- # the payment platform was unable to process a message from a downstream partner/acquirer,
144
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
145
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
146
- def cancel_payment(payment_id, body = nil, context = nil)
147
- path_context = {
148
- 'paymentId'.freeze => payment_id,
149
- }
150
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/cancel', path_context)
151
- @communicator.post(
152
- uri,
153
- client_headers,
154
- nil,
155
- body,
156
- OnlinePayments::SDK::Domain::CancelPaymentResponse,
157
- context
158
- )
159
- rescue ResponseException => e
160
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
161
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
162
- raise create_exception(e.status_code, e.body, error_object, context)
163
- end
61
+ # Resource /v2/!{merchantId}/payments/!{paymentId} - Get payment
62
+ #
63
+ # @param payment_id [String]
64
+ # @param context [OnlinePayments::SDK::CallContext, nil]
65
+ # @return [OnlinePayments::SDK::Domain::PaymentResponse]
66
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
67
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
68
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
69
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
70
+ # or there was a conflict (HTTP status code 404, 409 or 410)
71
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
72
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
73
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
74
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
75
+ def get_payment(payment_id, context = nil)
76
+ path_context = {
77
+ 'paymentId'.freeze => payment_id,
78
+ }
79
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}', path_context)
80
+ @communicator.get(
81
+ uri,
82
+ client_headers,
83
+ nil,
84
+ OnlinePayments::SDK::Domain::PaymentResponse,
85
+ context)
86
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
87
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
88
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
89
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
90
+ end
164
91
 
165
- # Resource /v2/!{merchantId}/payments/!{paymentId}/subsequent
166
- # @param payment_id [String]
167
- # @param body [OnlinePayments::SDK::Domain::SubsequentPaymentRequest]
168
- # @param context [OnlinePayments::SDK::CallContext]
169
- # @return [OnlinePayments::SDK::Domain::SubsequentPaymentResponse]
170
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
171
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
172
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
173
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
174
- # or there was a conflict (HTTP status code 404, 409 or 410)
175
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
176
- # the payment platform was unable to process a message from a downstream partner/acquirer,
177
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
178
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
179
- def subsequent_payment(payment_id, body, context = nil)
180
- path_context = {
181
- 'paymentId'.freeze => payment_id,
182
- }
183
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/subsequent', path_context)
184
- @communicator.post(
185
- uri,
186
- client_headers,
187
- nil,
188
- body,
189
- OnlinePayments::SDK::Domain::SubsequentPaymentResponse,
190
- context
191
- )
192
- rescue ResponseException => e
193
- error_type = OnlinePayments::SDK::Domain::PaymentErrorResponse
194
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
195
- raise create_exception(e.status_code, e.body, error_object, context)
196
- end
92
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/details - Get payment details
93
+ #
94
+ # @param payment_id [String]
95
+ # @param context [OnlinePayments::SDK::CallContext, nil]
96
+ # @return [OnlinePayments::SDK::Domain::PaymentDetailsResponse]
97
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
98
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
99
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
100
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
101
+ # or there was a conflict (HTTP status code 404, 409 or 410)
102
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
103
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
104
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
105
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
106
+ def get_payment_details(payment_id, context = nil)
107
+ path_context = {
108
+ 'paymentId'.freeze => payment_id,
109
+ }
110
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/details', path_context)
111
+ @communicator.get(
112
+ uri,
113
+ client_headers,
114
+ nil,
115
+ OnlinePayments::SDK::Domain::PaymentDetailsResponse,
116
+ context)
117
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
118
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
119
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
120
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
121
+ end
197
122
 
198
- # Resource /v2/!{merchantId}/payments/!{paymentId}/refund
199
- # @param payment_id [String]
200
- # @param body [OnlinePayments::SDK::Domain::RefundRequest]
201
- # @param context [OnlinePayments::SDK::CallContext]
202
- # @return [OnlinePayments::SDK::Domain::RefundResponse]
203
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
204
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
205
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
206
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
207
- # or there was a conflict (HTTP status code 404, 409 or 410)
208
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
209
- # the payment platform was unable to process a message from a downstream partner/acquirer,
210
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
211
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
212
- def refund_payment(payment_id, body, context = nil)
213
- path_context = {
214
- 'paymentId'.freeze => payment_id,
215
- }
216
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/refund', path_context)
217
- @communicator.post(
218
- uri,
219
- client_headers,
220
- nil,
221
- body,
222
- OnlinePayments::SDK::Domain::RefundResponse,
223
- context
224
- )
225
- rescue ResponseException => e
226
- error_type = OnlinePayments::SDK::Domain::RefundErrorResponse
227
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
228
- raise create_exception(e.status_code, e.body, error_object, context)
229
- end
123
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/cancel - Cancel payment
124
+ #
125
+ # @param payment_id [String]
126
+ # @param body [OnlinePayments::SDK::Domain::CancelPaymentRequest]
127
+ # @param context [OnlinePayments::SDK::CallContext, nil]
128
+ # @return [OnlinePayments::SDK::Domain::CancelPaymentResponse]
129
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
130
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
131
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
132
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
133
+ # or there was a conflict (HTTP status code 404, 409 or 410)
134
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
135
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
136
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
137
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
138
+ def cancel_payment(payment_id, body, context = nil)
139
+ path_context = {
140
+ 'paymentId'.freeze => payment_id,
141
+ }
142
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/cancel', path_context)
143
+ @communicator.post(
144
+ uri,
145
+ client_headers,
146
+ nil,
147
+ body,
148
+ OnlinePayments::SDK::Domain::CancelPaymentResponse,
149
+ context)
150
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
151
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
152
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
153
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
154
+ end
230
155
 
231
- # Resource /v2/!{merchantId}/payments/!{paymentId}/capture
232
- # @param payment_id [String]
233
- # @param body [OnlinePayments::SDK::Domain::CapturePaymentRequest]
234
- # @param context [OnlinePayments::SDK::CallContext]
235
- # @return [OnlinePayments::SDK::Domain::CaptureResponse]
236
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
237
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
238
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
239
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
240
- # or there was a conflict (HTTP status code 404, 409 or 410)
241
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
242
- # the payment platform was unable to process a message from a downstream partner/acquirer,
243
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
244
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
245
- def capture_payment(payment_id, body, context = nil)
246
- path_context = {
247
- 'paymentId'.freeze => payment_id,
248
- }
249
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/capture', path_context)
250
- @communicator.post(
251
- uri,
252
- client_headers,
253
- nil,
254
- body,
255
- OnlinePayments::SDK::Domain::CaptureResponse,
256
- context
257
- )
258
- rescue ResponseException => e
259
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
260
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
261
- raise create_exception(e.status_code, e.body, error_object, context)
262
- end
156
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/capture - Capture payment
157
+ #
158
+ # @param payment_id [String]
159
+ # @param body [OnlinePayments::SDK::Domain::CapturePaymentRequest]
160
+ # @param context [OnlinePayments::SDK::CallContext, nil]
161
+ # @return [OnlinePayments::SDK::Domain::CaptureResponse]
162
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
163
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
164
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
165
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
166
+ # or there was a conflict (HTTP status code 404, 409 or 410)
167
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
168
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
169
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
170
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
171
+ def capture_payment(payment_id, body, context = nil)
172
+ path_context = {
173
+ 'paymentId'.freeze => payment_id,
174
+ }
175
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/capture', path_context)
176
+ @communicator.post(
177
+ uri,
178
+ client_headers,
179
+ nil,
180
+ body,
181
+ OnlinePayments::SDK::Domain::CaptureResponse,
182
+ context)
183
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
184
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
185
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
186
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
187
+ end
263
188
 
264
- # Resource /v2/!{merchantId}/payments/!{paymentId}/captures
265
- # @param payment_id [String]
266
- # @param context [OnlinePayments::SDK::CallContext]
267
- # @return [OnlinePayments::SDK::Domain::CapturesResponse]
268
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
269
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
270
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
271
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
272
- # or there was a conflict (HTTP status code 404, 409 or 410)
273
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
274
- # the payment platform was unable to process a message from a downstream partner/acquirer,
275
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
276
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
277
- def get_captures(payment_id, context = nil)
278
- path_context = {
279
- 'paymentId'.freeze => payment_id,
280
- }
281
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/captures', path_context)
282
- @communicator.get(
283
- uri,
284
- client_headers,
285
- nil,
286
- OnlinePayments::SDK::Domain::CapturesResponse,
287
- context
288
- )
289
- rescue ResponseException => e
290
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
291
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
292
- raise create_exception(e.status_code, e.body, error_object, context)
293
- end
294
-
295
- # Resource /v2/!{merchantId}/payments/!{paymentId}/details
296
- # @param payment_id [String]
297
- # @param context [OnlinePayments::SDK::CallContext]
298
- # @return [OnlinePayments::SDK::Domain::PaymentDetailsResponse]
299
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
300
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
301
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
302
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
303
- # or there was a conflict (HTTP status code 404, 409 or 410)
304
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
305
- # the payment platform was unable to process a message from a downstream partner/acquirer,
306
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
307
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
308
- def get_payment_details(payment_id, context = nil)
309
- path_context = {
310
- 'paymentId'.freeze => payment_id,
311
- }
312
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/details', path_context)
313
- @communicator.get(
314
- uri,
315
- client_headers,
316
- nil,
317
- OnlinePayments::SDK::Domain::PaymentDetailsResponse,
318
- context
319
- )
320
- rescue ResponseException => e
321
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
322
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
323
- raise create_exception(e.status_code, e.body, error_object, context)
324
- end
189
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/refund - Refund payment
190
+ #
191
+ # @param payment_id [String]
192
+ # @param body [OnlinePayments::SDK::Domain::RefundRequest]
193
+ # @param context [OnlinePayments::SDK::CallContext, nil]
194
+ # @return [OnlinePayments::SDK::Domain::RefundResponse]
195
+ # @raise [OnlinePayments::SDK::DeclinedRefundException] if the payment platform declined / rejected the refund. The refund result will be available from the exception.
196
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
197
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
198
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
199
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
200
+ # or there was a conflict (HTTP status code 404, 409 or 410)
201
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
202
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
203
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
204
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
205
+ def refund_payment(payment_id, body, context = nil)
206
+ path_context = {
207
+ 'paymentId'.freeze => payment_id,
208
+ }
209
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/refund', path_context)
210
+ @communicator.post(
211
+ uri,
212
+ client_headers,
213
+ nil,
214
+ body,
215
+ OnlinePayments::SDK::Domain::RefundResponse,
216
+ context)
217
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
218
+ error_type = OnlinePayments::SDK::Domain::RefundErrorResponse
219
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
220
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
221
+ end
325
222
 
326
- # Resource /v2/!{merchantId}/payments/!{paymentId}/refunds
327
- # @param payment_id [String]
328
- # @param context [OnlinePayments::SDK::CallContext]
329
- # @return [OnlinePayments::SDK::Domain::RefundsResponse]
330
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
331
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
332
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
333
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
334
- # or there was a conflict (HTTP status code 404, 409 or 410)
335
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
336
- # the payment platform was unable to process a message from a downstream partner/acquirer,
337
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
338
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
339
- def get_refunds(payment_id, context = nil)
340
- path_context = {
341
- 'paymentId'.freeze => payment_id,
342
- }
343
- uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/refunds', path_context)
344
- @communicator.get(
345
- uri,
346
- client_headers,
347
- nil,
348
- OnlinePayments::SDK::Domain::RefundsResponse,
349
- context
350
- )
351
- rescue ResponseException => e
352
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
353
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
354
- raise create_exception(e.status_code, e.body, error_object, context)
223
+ # Resource /v2/!{merchantId}/payments/!{paymentId}/subsequent - Subsequent payment
224
+ #
225
+ # @param payment_id [String]
226
+ # @param body [OnlinePayments::SDK::Domain::SubsequentPaymentRequest]
227
+ # @param context [OnlinePayments::SDK::CallContext, nil]
228
+ # @return [OnlinePayments::SDK::Domain::SubsequentPaymentResponse]
229
+ # @raise [OnlinePayments::SDK::DeclinedPaymentException] if the payment platform declined / rejected the payment. The payment result will be available from the exception.
230
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
231
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
232
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
233
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
234
+ # or there was a conflict (HTTP status code 404, 409 or 410)
235
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
236
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
237
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
238
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
239
+ def subsequent_payment(payment_id, body, context = nil)
240
+ path_context = {
241
+ 'paymentId'.freeze => payment_id,
242
+ }
243
+ uri = instantiate_uri('/v2/{merchantId}/payments/{paymentId}/subsequent', path_context)
244
+ @communicator.post(
245
+ uri,
246
+ client_headers,
247
+ nil,
248
+ body,
249
+ OnlinePayments::SDK::Domain::SubsequentPaymentResponse,
250
+ context)
251
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
252
+ error_type = OnlinePayments::SDK::Domain::PaymentErrorResponse
253
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
254
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
255
+ end
355
256
  end
356
257
  end
357
258
  end