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,114 +1,115 @@
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_token_request'
5
+ require 'onlinepayments/sdk/exception_factory'
6
+ require 'onlinepayments/sdk/communication/response_exception'
7
7
  require 'onlinepayments/sdk/domain/created_token_response'
8
8
  require 'onlinepayments/sdk/domain/error_response'
9
9
  require 'onlinepayments/sdk/domain/token_response'
10
10
 
11
- module OnlinePayments::SDK
12
- module Merchant
13
- module Tokens
11
+ module OnlinePayments
12
+ module SDK
13
+ module Merchant
14
+ module Tokens
15
+ # Tokens client. Thread-safe.
16
+ class TokensClient < OnlinePayments::SDK::ApiResource
14
17
 
15
- # Tokens client. Thread-safe.
16
- class TokensClient < 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}/tokens
25
- # @param body [OnlinePayments::SDK::Domain::CreateTokenRequest]
26
- # @param context [OnlinePayments::SDK::CallContext]
27
- # @return [OnlinePayments::SDK::Domain::CreatedTokenResponse]
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_token(body, context = nil)
38
- uri = instantiate_uri('/v2/{merchantId}/tokens')
39
- @communicator.post(
40
- uri,
41
- client_headers,
42
- nil,
43
- body,
44
- OnlinePayments::SDK::Domain::CreatedTokenResponse,
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}/tokens/!{tokenId} - Get token
25
+ #
26
+ # @param token_id [String]
27
+ # @param context [OnlinePayments::SDK::CallContext, nil]
28
+ # @return [OnlinePayments::SDK::Domain::TokenResponse]
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 get_token(token_id, context = nil)
39
+ path_context = {
40
+ 'tokenId'.freeze => token_id,
41
+ }
42
+ uri = instantiate_uri('/v2/{merchantId}/tokens/{tokenId}', path_context)
43
+ @communicator.get(
44
+ uri,
45
+ client_headers,
46
+ nil,
47
+ OnlinePayments::SDK::Domain::TokenResponse,
48
+ context)
49
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
50
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
51
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
52
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
53
+ end
52
54
 
53
- # Resource /v2/!{merchantId}/tokens/!{tokenId}
54
- # @param token_id [String]
55
- # @param context [OnlinePayments::SDK::CallContext]
56
- # @return [OnlinePayments::SDK::Domain::TokenResponse]
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_token(token_id, context = nil)
67
- path_context = {
68
- 'tokenId'.freeze => token_id,
69
- }
70
- uri = instantiate_uri('/v2/{merchantId}/tokens/{tokenId}', path_context)
71
- @communicator.get(
72
- uri,
73
- client_headers,
74
- nil,
75
- OnlinePayments::SDK::Domain::TokenResponse,
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)
82
- end
55
+ # Resource /v2/!{merchantId}/tokens/!{tokenId} - Delete token
56
+ #
57
+ # @param token_id [String]
58
+ # @param context [OnlinePayments::SDK::CallContext, nil]
59
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
60
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
61
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
62
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
63
+ # or there was a conflict (HTTP status code 404, 409 or 410)
64
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
65
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
66
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
67
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
68
+ def delete_token(token_id, context = nil)
69
+ path_context = {
70
+ 'tokenId'.freeze => token_id,
71
+ }
72
+ uri = instantiate_uri('/v2/{merchantId}/tokens/{tokenId}', path_context)
73
+ @communicator.delete(
74
+ uri,
75
+ client_headers,
76
+ nil,
77
+ nil,
78
+ context)
79
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
80
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
81
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
82
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
83
+ end
83
84
 
84
- # Resource /v2/!{merchantId}/tokens/!{tokenId}
85
- # @param token_id [String]
86
- # @param context [OnlinePayments::SDK::CallContext]
87
- # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
88
- # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
89
- # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
90
- # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
91
- # or there was a conflict (HTTP status code 404, 409 or 410)
92
- # @raise [OnlinePayments::SDK::PaymentPlatformException] if something went wrong at the payment platform,
93
- # the payment platform was unable to process a message from a downstream partner/acquirer,
94
- # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
95
- # @raise [OnlinePayments::SDK::ApiException]if the payment platform returned any other error
96
- def delete_token(token_id, context = nil)
97
- path_context = {
98
- 'tokenId'.freeze => token_id,
99
- }
100
- uri = instantiate_uri('/v2/{merchantId}/tokens/{tokenId}', path_context)
101
- @communicator.delete(
102
- uri,
103
- client_headers,
104
- nil,
105
- nil,
106
- context
107
- )
108
- rescue ResponseException => e
109
- error_type = OnlinePayments::SDK::Domain::ErrorResponse
110
- error_object = @communicator.marshaller.unmarshal(e.body, error_type)
111
- raise create_exception(e.status_code, e.body, error_object, context)
85
+ # Resource /v2/!{merchantId}/tokens - Create token
86
+ #
87
+ # @param body [OnlinePayments::SDK::Domain::CreateTokenRequest]
88
+ # @param context [OnlinePayments::SDK::CallContext, nil]
89
+ # @return [OnlinePayments::SDK::Domain::CreatedTokenResponse]
90
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
91
+ # @raise [OnlinePayments::SDK::ValidationException] if the request was not correct and couldn't be processed (HTTP status code 400)
92
+ # @raise [OnlinePayments::SDK::AuthorizationException] if the request was not allowed (HTTP status code 403)
93
+ # @raise [OnlinePayments::SDK::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
94
+ # or there was a conflict (HTTP status code 404, 409 or 410)
95
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
96
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
97
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
98
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
99
+ def create_token(body, context = nil)
100
+ uri = instantiate_uri('/v2/{merchantId}/tokens', nil)
101
+ @communicator.post(
102
+ uri,
103
+ client_headers,
104
+ nil,
105
+ body,
106
+ OnlinePayments::SDK::Domain::CreatedTokenResponse,
107
+ context)
108
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
109
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
110
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
111
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
112
+ end
112
113
  end
113
114
  end
114
115
  end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'tokens', '*.rb')].each { |f| require f }
@@ -0,0 +1,83 @@
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/error_response'
8
+ require 'onlinepayments/sdk/domain/validate_credentials_response'
9
+
10
+ module OnlinePayments
11
+ module SDK
12
+ module Merchant
13
+ module Webhooks
14
+ # Webhooks client. Thread-safe.
15
+ class WebhooksClient < 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}/webhooks/validateCredentials - Validate credentials
24
+ #
25
+ # @param body [OnlinePayments::SDK::Domain::ValidateCredentialsRequest]
26
+ # @param context [OnlinePayments::SDK::CallContext, nil]
27
+ # @return [OnlinePayments::SDK::Domain::ValidateCredentialsResponse]
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 validate_webhook_credentials(body, context = nil)
38
+ uri = instantiate_uri('/v2/{merchantId}/webhooks/validateCredentials', nil)
39
+ @communicator.post(
40
+ uri,
41
+ client_headers,
42
+ nil,
43
+ body,
44
+ OnlinePayments::SDK::Domain::ValidateCredentialsResponse,
45
+ context)
46
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
47
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
48
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
49
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
50
+ end
51
+
52
+ # Resource /v2/!{merchantId}/webhooks/sendtest - Send test
53
+ #
54
+ # @param body [OnlinePayments::SDK::Domain::SendTestRequest]
55
+ # @param context [OnlinePayments::SDK::CallContext, nil]
56
+ # @raise [OnlinePayments::SDK::IdempotenceException] if an idempotent request caused a conflict (HTTP status code 409)
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::ReferenceException] if an object was attempted to be referenced that doesn't exist or has been removed,
60
+ # or there was a conflict (HTTP status code 404, 409 or 410)
61
+ # @raise [OnlinePayments::SDK::PlatformException] if something went wrong at the payment platform,
62
+ # the payment platform was unable to process a message from a downstream partner/acquirer,
63
+ # or the service that you're trying to reach is temporary unavailable (HTTP status code 500, 502 or 503)
64
+ # @raise [OnlinePayments::SDK::ApiException] if the payment platform returned any other error
65
+ def send_test_webhook(body, context = nil)
66
+ uri = instantiate_uri('/v2/{merchantId}/webhooks/sendtest', nil)
67
+ @communicator.post(
68
+ uri,
69
+ client_headers,
70
+ nil,
71
+ body,
72
+ nil,
73
+ context)
74
+ rescue OnlinePayments::SDK::Communication::ResponseException => e
75
+ error_type = OnlinePayments::SDK::Domain::ErrorResponse
76
+ error_object = @communicator.marshaller.unmarshal(e.body, error_type)
77
+ raise OnlinePayments::SDK.create_exception(e.status_code, e.body, error_object, context)
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'webhooks', '*.rb')].each { |f| require f }
@@ -0,0 +1,4 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ Dir[File.join(__dir__, 'merchant', '*.rb')].each { |f| require f }
@@ -0,0 +1,19 @@
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require_relative 'api_exception'
5
+
6
+ module OnlinePayments
7
+ module SDK
8
+ # Represents an error response from the payment platform when something went wrong at the payment platform or further downstream.
9
+ class PlatformException < ApiException
10
+
11
+ # Create a new PlatformException.
12
+ # @see ApiException#initialize
13
+ def initialize(status_code, response_body, error_id, errors,
14
+ message='the payment platform returned an error response')
15
+ super(status_code, response_body, error_id, errors, message)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,74 +1,74 @@
1
- module OnlinePayments::SDK
2
-
3
- # Contains the URL, username and password of a proxy.
4
- #
5
- # @attr [String] scheme Proxy scheme (http or https)
6
- # @attr [String] host Proxy hostname
7
- # @attr [Integer] port Proxy port
8
- # @attr [String] username Proxy authentication username
9
- # @attr [String] password Proxy authentication password
10
- class ProxyConfiguration
11
-
12
- # Initialize a new ProxyConfiguration from the parameter hash.
13
- # In order to be complete either host, port and scheme, or an address is required.
1
+ module OnlinePayments
2
+ module SDK
3
+ # Contains the URL, username and password of a proxy.
14
4
  #
15
- # @param args [Hash] the parameters to initialize the proxy configuration with
16
- # @option args [String] :host host part of the URL to the proxy.
17
- # @option args [Integer] :port port the proxy will be accessed through.
18
- # @option args [String] :scheme HTTP scheme used to communicate with the proxy (http or https).
19
- # @option args [String] :address full URI to the proxy excluding username and password.
20
- # If given this uri takes precedence over individual host, port and scheme.
21
- # @option args [String] :username username used in authentication to the proxy.
22
- # @option args [String] :password password used to authenticate to the proxy.
23
- def initialize(args)
5
+ # @attr [String] scheme Proxy scheme (http or https)
6
+ # @attr [String] host Proxy hostname
7
+ # @attr [Integer] port Proxy port
8
+ # @attr [String] username Proxy authentication username
9
+ # @attr [String] password Proxy authentication password
10
+ class ProxyConfiguration
24
11
 
25
- host = args[:host]
26
- port = args[:port]
27
- username = args[:username]
28
- password = args[:password]
29
- scheme = args[:scheme] || 'http'
12
+ # Initialize a new ProxyConfiguration from the parameter hash.
13
+ # In order to be complete either host, port and scheme, or an address is required.
14
+ #
15
+ # @param args [Hash] the parameters to initialize the proxy configuration with
16
+ # @option args [String] :host host part of the URL to the proxy.
17
+ # @option args [Integer] :port port the proxy will be accessed through.
18
+ # @option args [String] :scheme HTTP scheme used to communicate with the proxy (http or https).
19
+ # @option args [String] :address full URI to the proxy excluding username and password.
20
+ # If given this uri takes precedence over individual host, port and scheme.
21
+ # @option args [String] :username username used in authentication to the proxy.
22
+ # @option args [String] :password password used to authenticate to the proxy.
23
+ def initialize(args)
24
+ host = args[:host]
25
+ port = args[:port]
26
+ username = args[:username]
27
+ password = args[:password]
28
+ scheme = args[:scheme] || 'http'
30
29
 
31
- # Don't switch the order, a given address overrides host, port and username
32
- address = args[:address]
33
- host = address.host if address
34
- port = address.port if address
35
- scheme = address.scheme if address
30
+ # Don't switch the order, a given address overrides host, port and username
31
+ address = args[:address]
32
+ host = address.host if address
33
+ port = address.port if address
34
+ scheme = address.scheme if address
36
35
 
37
- raise ArgumentError, 'scheme is required' unless scheme && !scheme.strip.empty?
38
- raise ArgumentError, 'host is required' unless host && !host.strip.empty?
39
- raise ArgumentError, 'port is required' unless port&.positive? && port <= 65535
36
+ raise ArgumentError.new('scheme is required') unless scheme and not scheme.strip.empty?
37
+ raise ArgumentError.new('host is required') unless host and not host.strip.empty?
38
+ raise ArgumentError.new('port is required') unless port and port > 0 and port <= 65535
40
39
 
41
- @host = host
42
- @port = port
43
- @username = username
44
- @password = password
45
- @scheme = scheme
46
- end
40
+ @host = host
41
+ @port = port
42
+ @username = username
43
+ @password = password
44
+ @scheme = scheme
45
+ end
47
46
 
48
- attr_accessor :scheme
49
- attr_accessor :host
50
- attr_accessor :port
47
+ attr_accessor :scheme
48
+ attr_accessor :host
49
+ attr_accessor :port
51
50
 
52
- attr_accessor :username
53
- attr_accessor :password
51
+ attr_accessor :username
52
+ attr_accessor :password
54
53
 
55
- # @return [String] a URL string representation of the proxy, excluding authentication.
56
- def proxy_uri
57
- "#{scheme}://#{host}:#{port}"
58
- end
54
+ # @return [String] a URL string representation of the proxy, excluding authentication.
55
+ def proxy_uri
56
+ "#{scheme}://#{host}:#{port}"
57
+ end
59
58
 
60
- def to_s
61
- proxy_uri
62
- end
59
+ def to_s
60
+ proxy_uri
61
+ end
63
62
 
64
- private
63
+ private
65
64
 
66
- def self.get_port(address)
67
- port = address.port
68
- return port if port != -1
69
- return 80 if address.scheme.casecmp('http') == 0
70
- return 443 if address.scheme.casecmp('https') == 0
71
- raise ArgumentError, "unsupported scheme: #{address.scheme}"
65
+ def self.get_port(address)
66
+ port = address.port
67
+ return port if port != -1
68
+ return 80 if address.scheme.casecmp('http') == 0
69
+ return 443 if address.scheme.casecmp('https') == 0
70
+ raise ArgumentError.new('unsupported scheme: ' + address.scheme)
71
+ end
72
72
  end
73
73
  end
74
74
  end
@@ -1,14 +1,19 @@
1
- module OnlinePayments::SDK
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require_relative 'api_exception'
2
5
 
3
- # This error is raised when the request refers to a resource or object that is not found by the Online Payments platform.
4
- # The object referred to may not exist or it could have been removed recently.
5
- class ReferenceException < ApiException
6
+ module OnlinePayments
7
+ module SDK
8
+ # Represents an error response from the payment platform when a non-existing or removed object is trying to be accessed.
9
+ class ReferenceException < ApiException
6
10
 
7
- # Create a new ReferenceException.
8
- # @see ApiException#initialize
9
- def initialize(status_code, response_body, error_id, errors,
10
- message = 'the Online Payments platform returned a reference error response')
11
- super(status_code, response_body, error_id, errors, message)
11
+ # Create a new ReferenceException.
12
+ # @see ApiException#initialize
13
+ def initialize(status_code, response_body, error_id, errors,
14
+ message='the payment platform returned a reference error response')
15
+ super(status_code, response_body, error_id, errors, message)
16
+ end
12
17
  end
13
18
  end
14
19
  end
@@ -1,14 +1,19 @@
1
- module OnlinePayments::SDK
1
+ #
2
+ # This file was automatically generated.
3
+ #
4
+ require_relative 'api_exception'
2
5
 
3
- # Raised when the request sent to the Online Payments platform returned a HTTP response with status code 400.
4
- # This indicates the request received by the Online Payments platform was malformed.
5
- class ValidationException < ApiException
6
+ module OnlinePayments
7
+ module SDK
8
+ # Represents an error response from the payment platform when validation of requests failed.
9
+ class ValidationException < ApiException
6
10
 
7
- # Create a new ValidationException
8
- # @see ApiException#initialize
9
- def initialize(status_code, response_body, error_id, errors,
10
- message = 'the Online Payments platform returned an incorrect request error response')
11
- super(status_code, response_body, error_id, errors, message)
11
+ # Create a new ValidationException.
12
+ # @see ApiException#initialize
13
+ def initialize(status_code, response_body, error_id, errors,
14
+ message='the payment platform returned an incorrect request error response')
15
+ super(status_code, response_body, error_id, errors, message)
16
+ end
12
17
  end
13
18
  end
14
19
  end
@@ -1,20 +1,22 @@
1
- module OnlinePayments::SDK
2
- module Webhooks
3
- # Raised when a webhooks event has an API version that is not supported by current version
4
- # of SDK.
5
- #
6
- # @attr_reader [String] event_api_version The API version from the webhooks event.
7
- # @attr_reader [String] sdk_api_version The API version that this version of the SDK supports.
8
- class ApiVersionMismatchException < RuntimeError
1
+ module OnlinePayments
2
+ module SDK
3
+ module Webhooks
4
+ # Raised when a webhooks event has an API version that is not supported by current version
5
+ # of SDK.
6
+ #
7
+ # @attr_reader [String] event_api_version The API version from the webhooks event.
8
+ # @attr_reader [String] sdk_api_version The API version that this version of the SDK supports.
9
+ class ApiVersionMismatchException < RuntimeError
9
10
 
10
- def initialize(event_api_version, sdk_api_version)
11
- super("event API version '#{event_api_version}' is not compatible with SDK API version '#{sdk_api_version}'")
12
- @event_api_version = event_api_version
13
- @sdk_api_version = sdk_api_version
14
- end
11
+ def initialize(event_api_version, sdk_api_version)
12
+ super("event API version #{event_api_version} is not compatible with SDK API version #{sdk_api_version}")
13
+ @event_api_version = event_api_version
14
+ @sdk_api_version = sdk_api_version
15
+ end
15
16
 
16
- attr_reader :event_api_version
17
- attr_reader :sdk_api_version
17
+ attr_reader :event_api_version
18
+ attr_reader :sdk_api_version
19
+ end
18
20
  end
19
21
  end
20
22
  end