connect-sdk-ruby 2.45.0 → 2.46.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 (588) hide show
  1. checksums.yaml +4 -4
  2. data/connect-sdk-ruby.gemspec +1 -1
  3. data/examples/merchant/captures/create_refund_capture_example.rb +1 -1
  4. data/examples/merchant/captures/get_capture_example.rb +1 -1
  5. data/examples/merchant/disputes/cancel_dispute_example.rb +1 -1
  6. data/examples/merchant/disputes/get_dispute_example.rb +1 -1
  7. data/examples/merchant/disputes/submit_dispute_example.rb +1 -1
  8. data/examples/merchant/disputes/upload_dispute_file_example.rb +1 -1
  9. data/examples/merchant/files/get_file_example.rb +1 -1
  10. data/examples/merchant/hostedcheckouts/create_hosted_checkout_example.rb +1 -1
  11. data/examples/merchant/hostedcheckouts/delete_hosted_checkout_example.rb +1 -1
  12. data/examples/merchant/hostedcheckouts/get_hosted_checkout_example.rb +1 -1
  13. data/examples/merchant/hostedmandatemanagements/create_hosted_mandate_management_example.rb +1 -1
  14. data/examples/merchant/hostedmandatemanagements/get_hosted_mandate_management_example.rb +1 -1
  15. data/examples/merchant/installments/get_installments_info_example.rb +1 -1
  16. data/examples/merchant/mandates/block_mandate_example.rb +1 -1
  17. data/examples/merchant/mandates/create_mandate_example.rb +1 -1
  18. data/examples/merchant/mandates/create_mandate_with_reference_example.rb +1 -1
  19. data/examples/merchant/mandates/get_mandate_example.rb +1 -1
  20. data/examples/merchant/mandates/revoke_mandate_example.rb +1 -1
  21. data/examples/merchant/mandates/unblock_mandate_example.rb +1 -1
  22. data/examples/merchant/payments/approve_payment_example.rb +1 -1
  23. data/examples/merchant/payments/cancel_approval_payment_example.rb +1 -1
  24. data/examples/merchant/payments/cancel_payment_example.rb +1 -1
  25. data/examples/merchant/payments/capture_payment_example.rb +1 -1
  26. data/examples/merchant/payments/complete_payment_example.rb +1 -1
  27. data/examples/merchant/payments/create_payment_dispute_example.rb +1 -1
  28. data/examples/merchant/payments/create_payment_example.rb +1 -1
  29. data/examples/merchant/payments/find_payments_example.rb +1 -1
  30. data/examples/merchant/payments/get_payment_captures_example.rb +1 -1
  31. data/examples/merchant/payments/get_payment_device_fingerprint_details_example.rb +1 -1
  32. data/examples/merchant/payments/get_payment_disputes_example.rb +1 -1
  33. data/examples/merchant/payments/get_payment_example.rb +1 -1
  34. data/examples/merchant/payments/get_refunds_example.rb +1 -1
  35. data/examples/merchant/payments/get_third_party_status_example.rb +1 -1
  36. data/examples/merchant/payments/process_challenged_payment_example.rb +1 -1
  37. data/examples/merchant/payments/refund_payment_example.rb +1 -1
  38. data/examples/merchant/payments/tokenize_payment_example.rb +1 -1
  39. data/examples/merchant/payouts/approve_payout_example.rb +1 -1
  40. data/examples/merchant/payouts/cancel_approval_payout_example.rb +1 -1
  41. data/examples/merchant/payouts/cancel_payout_example.rb +1 -1
  42. data/examples/merchant/payouts/create_payout_example.rb +1 -1
  43. data/examples/merchant/payouts/find_payouts_example.rb +1 -1
  44. data/examples/merchant/payouts/get_payout_example.rb +1 -1
  45. data/examples/merchant/productgroups/get_device_fingerprint_for_groups_example.rb +1 -1
  46. data/examples/merchant/productgroups/get_payment_product_group_example.rb +1 -1
  47. data/examples/merchant/productgroups/get_payment_product_groups_example.rb +1 -1
  48. data/examples/merchant/products/create_payment_product_session_example.rb +1 -1
  49. data/examples/merchant/products/get_customer_details_example.rb +1 -1
  50. data/examples/merchant/products/get_device_fingerprint_example.rb +1 -1
  51. data/examples/merchant/products/get_directory_example.rb +1 -1
  52. data/examples/merchant/products/get_networks_example.rb +1 -1
  53. data/examples/merchant/products/get_payment_product_example.rb +1 -1
  54. data/examples/merchant/products/get_payment_products_example.rb +1 -1
  55. data/examples/merchant/refunds/approve_refund_example.rb +1 -1
  56. data/examples/merchant/refunds/cancel_approval_refund_example.rb +1 -1
  57. data/examples/merchant/refunds/cancel_refund_example.rb +1 -1
  58. data/examples/merchant/refunds/find_refunds_example.rb +1 -1
  59. data/examples/merchant/refunds/get_refund_example.rb +1 -1
  60. data/examples/merchant/riskassessments/risk_assessment_bank_account_example.rb +1 -1
  61. data/examples/merchant/riskassessments/risk_assessment_cards_example.rb +1 -1
  62. data/examples/merchant/services/convert_amount_example.rb +1 -1
  63. data/examples/merchant/services/convert_bank_account_example.rb +1 -1
  64. data/examples/merchant/services/get_privacy_policy_example.rb +1 -1
  65. data/examples/merchant/services/iin_details_example.rb +1 -1
  66. data/examples/merchant/services/test_connection_example.rb +1 -1
  67. data/examples/merchant/sessions/create_session_example.rb +1 -1
  68. data/examples/merchant/tokens/approve_sepa_direct_debit_token_example.rb +1 -1
  69. data/examples/merchant/tokens/create_token_example.rb +1 -1
  70. data/examples/merchant/tokens/delete_token_example.rb +1 -1
  71. data/examples/merchant/tokens/get_token_example.rb +1 -1
  72. data/examples/merchant/tokens/update_token_example.rb +1 -1
  73. data/lib/ingenico/connect/sdk/api_exception.rb +46 -43
  74. data/lib/ingenico/connect/sdk/api_resource.rb +124 -107
  75. data/lib/ingenico/connect/sdk/authenticator.rb +15 -12
  76. data/lib/ingenico/connect/sdk/authorization_exception.rb +13 -8
  77. data/lib/ingenico/connect/sdk/call_context.rb +24 -21
  78. data/lib/ingenico/connect/sdk/client.rb +3 -4
  79. data/lib/ingenico/connect/sdk/communication_exception.rb +14 -11
  80. data/lib/ingenico/connect/sdk/communicator.rb +475 -471
  81. data/lib/ingenico/connect/sdk/communicator_configuration.rb +79 -73
  82. data/lib/ingenico/connect/sdk/connection.rb +38 -33
  83. data/lib/ingenico/connect/sdk/data_object.rb +26 -24
  84. data/lib/ingenico/connect/sdk/declined_payment_exception.rb +38 -35
  85. data/lib/ingenico/connect/sdk/declined_payout_exception.rb +38 -35
  86. data/lib/ingenico/connect/sdk/declined_refund_exception.rb +37 -36
  87. data/lib/ingenico/connect/sdk/declined_transaction_exception.rb +15 -10
  88. data/lib/ingenico/connect/sdk/defaultimpl/authorization_type.rb +16 -13
  89. data/lib/ingenico/connect/sdk/defaultimpl/default_authenticator.rb +98 -94
  90. data/lib/ingenico/connect/sdk/defaultimpl/default_connection.rb +365 -347
  91. data/lib/ingenico/connect/sdk/defaultimpl/default_marshaller.rb +30 -25
  92. data/lib/ingenico/connect/sdk/defaultimpl.rb +1 -6
  93. data/lib/ingenico/connect/sdk/domain/capture/capture.rb +35 -32
  94. data/lib/ingenico/connect/sdk/domain/capture/capture_output.rb +117 -114
  95. data/lib/ingenico/connect/sdk/domain/capture/capture_response.rb +9 -6
  96. data/lib/ingenico/connect/sdk/domain/capture/capture_status_output.rb +36 -33
  97. data/lib/ingenico/connect/sdk/domain/capture/captures_response.rb +24 -21
  98. data/lib/ingenico/connect/sdk/domain/capture.rb +5 -0
  99. data/lib/ingenico/connect/sdk/domain/definitions/abstract_order_status.rb +21 -18
  100. data/lib/ingenico/connect/sdk/domain/definitions/abstract_payment_method_specific_input.rb +21 -18
  101. data/lib/ingenico/connect/sdk/domain/definitions/additional_order_input_airline_data.rb +29 -26
  102. data/lib/ingenico/connect/sdk/domain/definitions/address.rb +63 -60
  103. data/lib/ingenico/connect/sdk/domain/definitions/airline_data.rb +200 -197
  104. data/lib/ingenico/connect/sdk/domain/definitions/airline_flight_leg.rb +159 -156
  105. data/lib/ingenico/connect/sdk/domain/definitions/airline_passenger.rb +45 -42
  106. data/lib/ingenico/connect/sdk/domain/definitions/amount_of_money.rb +27 -24
  107. data/lib/ingenico/connect/sdk/domain/definitions/bank_account.rb +21 -18
  108. data/lib/ingenico/connect/sdk/domain/definitions/bank_account_bban.rb +51 -48
  109. data/lib/ingenico/connect/sdk/domain/definitions/bank_account_iban.rb +21 -18
  110. data/lib/ingenico/connect/sdk/domain/definitions/card.rb +27 -24
  111. data/lib/ingenico/connect/sdk/domain/definitions/card_essentials.rb +33 -30
  112. data/lib/ingenico/connect/sdk/domain/definitions/card_fraud_results.rb +47 -44
  113. data/lib/ingenico/connect/sdk/domain/definitions/card_without_cvv.rb +21 -18
  114. data/lib/ingenico/connect/sdk/domain/definitions/company_information.rb +27 -24
  115. data/lib/ingenico/connect/sdk/domain/definitions/contact_details_base.rb +27 -24
  116. data/lib/ingenico/connect/sdk/domain/definitions/customer_base.rb +36 -33
  117. data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields.rb +171 -168
  118. data/lib/ingenico/connect/sdk/domain/definitions/fraud_fields_shipping_details.rb +40 -37
  119. data/lib/ingenico/connect/sdk/domain/definitions/fraud_results.rb +35 -32
  120. data/lib/ingenico/connect/sdk/domain/definitions/fraud_results_retail_decisions.rb +33 -30
  121. data/lib/ingenico/connect/sdk/domain/definitions/fraugster_results.rb +27 -24
  122. data/lib/ingenico/connect/sdk/domain/definitions/in_auth.rb +52 -49
  123. data/lib/ingenico/connect/sdk/domain/definitions/key_value_pair.rb +27 -24
  124. data/lib/ingenico/connect/sdk/domain/definitions/lodging_charge.rb +33 -30
  125. data/lib/ingenico/connect/sdk/domain/definitions/lodging_data.rb +135 -132
  126. data/lib/ingenico/connect/sdk/domain/definitions/lodging_room.rb +69 -66
  127. data/lib/ingenico/connect/sdk/domain/definitions/microsoft_fraud_results.rb +57 -54
  128. data/lib/ingenico/connect/sdk/domain/definitions/order_status_output.rb +64 -61
  129. data/lib/ingenico/connect/sdk/domain/definitions/payment_product_filter.rb +34 -31
  130. data/lib/ingenico/connect/sdk/domain/definitions/personal_name_base.rb +33 -30
  131. data/lib/ingenico/connect/sdk/domain/definitions/redirect_data_base.rb +27 -24
  132. data/lib/ingenico/connect/sdk/domain/definitions/result_do_risk_assessment.rb +47 -44
  133. data/lib/ingenico/connect/sdk/domain/definitions/retail_decisions_cc_fraud_check_output.rb +33 -30
  134. data/lib/ingenico/connect/sdk/domain/definitions/validation_bank_account_check.rb +33 -30
  135. data/lib/ingenico/connect/sdk/domain/definitions/validation_bank_account_output.rb +48 -45
  136. data/lib/ingenico/connect/sdk/domain/definitions.rb +5 -0
  137. data/lib/ingenico/connect/sdk/domain/dispute/create_dispute_request.rb +46 -43
  138. data/lib/ingenico/connect/sdk/domain/dispute/dispute.rb +47 -44
  139. data/lib/ingenico/connect/sdk/domain/dispute/dispute_creation_detail.rb +33 -30
  140. data/lib/ingenico/connect/sdk/domain/dispute/dispute_output.rb +75 -72
  141. data/lib/ingenico/connect/sdk/domain/dispute/dispute_reference.rb +52 -49
  142. data/lib/ingenico/connect/sdk/domain/dispute/dispute_response.rb +9 -6
  143. data/lib/ingenico/connect/sdk/domain/dispute/dispute_status_output.rb +45 -42
  144. data/lib/ingenico/connect/sdk/domain/dispute/disputes_response.rb +24 -21
  145. data/lib/ingenico/connect/sdk/domain/dispute/upload_dispute_file_response.rb +27 -24
  146. data/lib/ingenico/connect/sdk/domain/dispute.rb +5 -0
  147. data/lib/ingenico/connect/sdk/domain/errors/api_error.rb +57 -54
  148. data/lib/ingenico/connect/sdk/domain/errors/error_response.rb +30 -27
  149. data/lib/ingenico/connect/sdk/domain/errors.rb +5 -0
  150. data/lib/ingenico/connect/sdk/domain/file/hosted_file.rb +45 -42
  151. data/lib/ingenico/connect/sdk/domain/file.rb +5 -0
  152. data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_request.rb +92 -89
  153. data/lib/ingenico/connect/sdk/domain/hostedcheckout/create_hosted_checkout_response.rb +48 -45
  154. data/lib/ingenico/connect/sdk/domain/hostedcheckout/created_payment_output.rb +62 -59
  155. data/lib/ingenico/connect/sdk/domain/hostedcheckout/displayed_data.rb +36 -33
  156. data/lib/ingenico/connect/sdk/domain/hostedcheckout/frequency.rb +27 -24
  157. data/lib/ingenico/connect/sdk/domain/hostedcheckout/get_hosted_checkout_response.rb +28 -25
  158. data/lib/ingenico/connect/sdk/domain/hostedcheckout/hosted_checkout_specific_input.rb +77 -74
  159. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_method_specific_input_hosted_checkout.rb +53 -50
  160. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product302_specific_input_hosted_checkout.rb +21 -18
  161. data/lib/ingenico/connect/sdk/domain/hostedcheckout/mobile_payment_product320_specific_input_hosted_checkout.rb +34 -31
  162. data/lib/ingenico/connect/sdk/domain/hostedcheckout/payment_product_filters_hosted_checkout.rb +35 -32
  163. data/lib/ingenico/connect/sdk/domain/hostedcheckout/recurring_payments_data.rb +29 -26
  164. data/lib/ingenico/connect/sdk/domain/hostedcheckout/trial_information.rb +48 -45
  165. data/lib/ingenico/connect/sdk/domain/hostedcheckout/trial_period.rb +27 -24
  166. data/lib/ingenico/connect/sdk/domain/hostedcheckout.rb +5 -0
  167. data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/create_hosted_mandate_management_request.rb +29 -26
  168. data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/create_hosted_mandate_management_response.rb +33 -30
  169. data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/get_hosted_mandate_management_response.rb +28 -25
  170. data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/hosted_mandate_info.rb +52 -49
  171. data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement/hosted_mandate_management_specific_input.rb +45 -42
  172. data/lib/ingenico/connect/sdk/domain/hostedmandatemanagement.rb +5 -0
  173. data/lib/ingenico/connect/sdk/domain/installments/get_installment_request.rb +46 -43
  174. data/lib/ingenico/connect/sdk/domain/installments/installment_display_hints.rb +33 -30
  175. data/lib/ingenico/connect/sdk/domain/installments/installment_options.rb +37 -34
  176. data/lib/ingenico/connect/sdk/domain/installments/installment_options_response.rb +24 -21
  177. data/lib/ingenico/connect/sdk/domain/installments.rb +5 -0
  178. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_base.rb +58 -55
  179. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_request.rb +9 -6
  180. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_response.rb +29 -26
  181. data/lib/ingenico/connect/sdk/domain/mandates/create_mandate_with_return_url.rb +21 -18
  182. data/lib/ingenico/connect/sdk/domain/mandates/get_mandate_response.rb +22 -19
  183. data/lib/ingenico/connect/sdk/domain/mandates/mandate_address.rb +52 -49
  184. data/lib/ingenico/connect/sdk/domain/mandates/mandate_contact_details.rb +21 -18
  185. data/lib/ingenico/connect/sdk/domain/mandates/mandate_customer.rb +49 -46
  186. data/lib/ingenico/connect/sdk/domain/mandates/mandate_merchant_action.rb +28 -25
  187. data/lib/ingenico/connect/sdk/domain/mandates/mandate_personal_information.rb +28 -25
  188. data/lib/ingenico/connect/sdk/domain/mandates/mandate_personal_name.rb +27 -24
  189. data/lib/ingenico/connect/sdk/domain/mandates/mandate_redirect_data.rb +9 -6
  190. data/lib/ingenico/connect/sdk/domain/mandates/mandate_response.rb +52 -49
  191. data/lib/ingenico/connect/sdk/domain/mandates.rb +5 -0
  192. data/lib/ingenico/connect/sdk/domain/metadata/shopping_cart_extension.rb +49 -42
  193. data/lib/ingenico/connect/sdk/domain/metadata.rb +1 -0
  194. data/lib/ingenico/connect/sdk/domain/payment/abstract_bank_transfer_payment_method_specific_input.rb +21 -18
  195. data/lib/ingenico/connect/sdk/domain/payment/abstract_card_payment_method_specific_input.rb +129 -119
  196. data/lib/ingenico/connect/sdk/domain/payment/abstract_cash_payment_method_specific_input.rb +9 -6
  197. data/lib/ingenico/connect/sdk/domain/payment/abstract_e_invoice_payment_method_specific_input.rb +21 -18
  198. data/lib/ingenico/connect/sdk/domain/payment/abstract_payment_method_specific_output.rb +21 -18
  199. data/lib/ingenico/connect/sdk/domain/payment/abstract_redirect_payment_method_specific_input.rb +52 -49
  200. data/lib/ingenico/connect/sdk/domain/payment/abstract_redirect_payment_product4101_specific_input.rb +9 -6
  201. data/lib/ingenico/connect/sdk/domain/payment/abstract_redirect_payment_product840_specific_input.rb +21 -18
  202. data/lib/ingenico/connect/sdk/domain/payment/abstract_sepa_direct_debit_payment_method_specific_input.rb +9 -6
  203. data/lib/ingenico/connect/sdk/domain/payment/abstract_sepa_direct_debit_payment_product771_specific_input.rb +23 -20
  204. data/lib/ingenico/connect/sdk/domain/payment/abstract_three_d_secure.rb +72 -69
  205. data/lib/ingenico/connect/sdk/domain/payment/account_funding_recipient.rb +53 -50
  206. data/lib/ingenico/connect/sdk/domain/payment/additional_order_input.rb +82 -79
  207. data/lib/ingenico/connect/sdk/domain/payment/address_personal.rb +22 -19
  208. data/lib/ingenico/connect/sdk/domain/payment/afr_name.rb +27 -24
  209. data/lib/ingenico/connect/sdk/domain/payment/amount_breakdown.rb +27 -24
  210. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_card_payment_method_specific_output.rb +21 -18
  211. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_direct_debit_payment_method_specific_input.rb +9 -6
  212. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_mobile_payment_method_specific_output.rb +21 -18
  213. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_non_sepa_direct_debit_payment_method_specific_input.rb +9 -6
  214. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_payment_method_specific_input.rb +27 -24
  215. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_request.rb +48 -45
  216. data/lib/ingenico/connect/sdk/domain/payment/approve_payment_sepa_direct_debit_payment_method_specific_input.rb +9 -6
  217. data/lib/ingenico/connect/sdk/domain/payment/bank_transfer_payment_method_specific_input.rb +9 -6
  218. data/lib/ingenico/connect/sdk/domain/payment/bank_transfer_payment_method_specific_input_base.rb +9 -6
  219. data/lib/ingenico/connect/sdk/domain/payment/bank_transfer_payment_method_specific_output.rb +22 -19
  220. data/lib/ingenico/connect/sdk/domain/payment/browser_data.rb +57 -54
  221. data/lib/ingenico/connect/sdk/domain/payment/cancel_approval_payment_response.rb +22 -19
  222. data/lib/ingenico/connect/sdk/domain/payment/cancel_payment_card_payment_method_specific_output.rb +21 -18
  223. data/lib/ingenico/connect/sdk/domain/payment/cancel_payment_mobile_payment_method_specific_output.rb +21 -18
  224. data/lib/ingenico/connect/sdk/domain/payment/cancel_payment_response.rb +36 -33
  225. data/lib/ingenico/connect/sdk/domain/payment/capture_payment_request.rb +27 -24
  226. data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input.rb +65 -62
  227. data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_input_base.rb +22 -19
  228. data/lib/ingenico/connect/sdk/domain/payment/card_payment_method_specific_output.rb +60 -57
  229. data/lib/ingenico/connect/sdk/domain/payment/card_recurrence_details.rb +33 -30
  230. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input.rb +66 -63
  231. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_method_specific_input_base.rb +9 -6
  232. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_method_specific_output.rb +22 -19
  233. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1503_specific_input.rb +24 -21
  234. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1504_specific_input.rb +9 -6
  235. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1521_specific_input.rb +9 -6
  236. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1522_specific_input.rb +9 -6
  237. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1523_specific_input.rb +9 -6
  238. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1524_specific_input.rb +9 -6
  239. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product1526_specific_input.rb +9 -6
  240. data/lib/ingenico/connect/sdk/domain/payment/cash_payment_product_with_redirect_specific_input_base.rb +21 -18
  241. data/lib/ingenico/connect/sdk/domain/payment/complete_payment_card_payment_method_specific_input.rb +22 -19
  242. data/lib/ingenico/connect/sdk/domain/payment/complete_payment_request.rb +36 -33
  243. data/lib/ingenico/connect/sdk/domain/payment/complete_payment_response.rb +9 -6
  244. data/lib/ingenico/connect/sdk/domain/payment/contact_details.rb +45 -42
  245. data/lib/ingenico/connect/sdk/domain/payment/create_payment_request.rb +120 -117
  246. data/lib/ingenico/connect/sdk/domain/payment/create_payment_response.rb +9 -6
  247. data/lib/ingenico/connect/sdk/domain/payment/create_payment_result.rb +36 -33
  248. data/lib/ingenico/connect/sdk/domain/payment/customer.rb +89 -86
  249. data/lib/ingenico/connect/sdk/domain/payment/customer_account.rb +104 -101
  250. data/lib/ingenico/connect/sdk/domain/payment/customer_account_authentication.rb +33 -30
  251. data/lib/ingenico/connect/sdk/domain/payment/customer_approve_payment.rb +21 -18
  252. data/lib/ingenico/connect/sdk/domain/payment/customer_device.rb +64 -61
  253. data/lib/ingenico/connect/sdk/domain/payment/customer_payment_activity.rb +33 -30
  254. data/lib/ingenico/connect/sdk/domain/payment/decrypted_payment_data.rb +65 -62
  255. data/lib/ingenico/connect/sdk/domain/payment/device_fingerprint_details.rb +27 -24
  256. data/lib/ingenico/connect/sdk/domain/payment/device_render_options.rb +38 -35
  257. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input.rb +28 -25
  258. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_input_base.rb +9 -6
  259. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_method_specific_output.rb +29 -26
  260. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_input.rb +28 -25
  261. data/lib/ingenico/connect/sdk/domain/payment/e_invoice_payment_product9000_specific_output.rb +21 -18
  262. data/lib/ingenico/connect/sdk/domain/payment/exemption_output.rb +33 -30
  263. data/lib/ingenico/connect/sdk/domain/payment/external_cardholder_authentication_data.rb +83 -80
  264. data/lib/ingenico/connect/sdk/domain/payment/find_payments_response.rb +47 -44
  265. data/lib/ingenico/connect/sdk/domain/payment/g_pay_three_d_secure.rb +46 -43
  266. data/lib/ingenico/connect/sdk/domain/payment/gift_card_purchase.rb +28 -25
  267. data/lib/ingenico/connect/sdk/domain/payment/hosted_checkout_specific_output.rb +27 -24
  268. data/lib/ingenico/connect/sdk/domain/payment/installments.rb +53 -50
  269. data/lib/ingenico/connect/sdk/domain/payment/invoice_payment_method_specific_input.rb +21 -18
  270. data/lib/ingenico/connect/sdk/domain/payment/invoice_payment_method_specific_output.rb +22 -19
  271. data/lib/ingenico/connect/sdk/domain/payment/level3_summary_data.rb +40 -37
  272. data/lib/ingenico/connect/sdk/domain/payment/line_item.rb +45 -42
  273. data/lib/ingenico/connect/sdk/domain/payment/line_item_invoice_data.rb +52 -49
  274. data/lib/ingenico/connect/sdk/domain/payment/line_item_level3_interchange_information.rb +63 -60
  275. data/lib/ingenico/connect/sdk/domain/payment/loan_recipient.rb +56 -53
  276. data/lib/ingenico/connect/sdk/domain/payment/merchant.rb +46 -43
  277. data/lib/ingenico/connect/sdk/domain/payment/merchant_action.rb +67 -64
  278. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_data.rb +27 -24
  279. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_input.rb +59 -56
  280. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_method_specific_output.rb +48 -45
  281. data/lib/ingenico/connect/sdk/domain/payment/mobile_payment_product320_specific_input.rb +28 -25
  282. data/lib/ingenico/connect/sdk/domain/payment/mobile_three_d_secure_challenge_parameters.rb +45 -42
  283. data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_input.rb +71 -68
  284. data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_method_specific_output.rb +22 -19
  285. data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_product705_specific_input.rb +34 -31
  286. data/lib/ingenico/connect/sdk/domain/payment/non_sepa_direct_debit_payment_product730_specific_input.rb +22 -19
  287. data/lib/ingenico/connect/sdk/domain/payment/order.rb +77 -74
  288. data/lib/ingenico/connect/sdk/domain/payment/order_approve_payment.rb +36 -33
  289. data/lib/ingenico/connect/sdk/domain/payment/order_invoice_data.rb +47 -44
  290. data/lib/ingenico/connect/sdk/domain/payment/order_line_details.rb +101 -98
  291. data/lib/ingenico/connect/sdk/domain/payment/order_output.rb +29 -26
  292. data/lib/ingenico/connect/sdk/domain/payment/order_references.rb +52 -49
  293. data/lib/ingenico/connect/sdk/domain/payment/order_references_approve_payment.rb +21 -18
  294. data/lib/ingenico/connect/sdk/domain/payment/order_type_information.rb +45 -42
  295. data/lib/ingenico/connect/sdk/domain/payment/payment.rb +48 -45
  296. data/lib/ingenico/connect/sdk/domain/payment/payment_account_on_file.rb +27 -24
  297. data/lib/ingenico/connect/sdk/domain/payment/payment_approval_response.rb +45 -42
  298. data/lib/ingenico/connect/sdk/domain/payment/payment_creation_output.rb +45 -42
  299. data/lib/ingenico/connect/sdk/domain/payment/payment_creation_references.rb +27 -24
  300. data/lib/ingenico/connect/sdk/domain/payment/payment_error_response.rb +37 -34
  301. data/lib/ingenico/connect/sdk/domain/payment/payment_output.rb +117 -114
  302. data/lib/ingenico/connect/sdk/domain/payment/payment_product3201_specific_output.rb +22 -19
  303. data/lib/ingenico/connect/sdk/domain/payment/payment_product771_specific_output.rb +21 -18
  304. data/lib/ingenico/connect/sdk/domain/payment/payment_product806_specific_output.rb +29 -26
  305. data/lib/ingenico/connect/sdk/domain/payment/payment_product836_specific_output.rb +21 -18
  306. data/lib/ingenico/connect/sdk/domain/payment/payment_product840_customer_account.rb +75 -72
  307. data/lib/ingenico/connect/sdk/domain/payment/payment_product840_specific_output.rb +49 -46
  308. data/lib/ingenico/connect/sdk/domain/payment/payment_product863_third_party_data.rb +57 -54
  309. data/lib/ingenico/connect/sdk/domain/payment/payment_references.rb +57 -54
  310. data/lib/ingenico/connect/sdk/domain/payment/payment_response.rb +9 -6
  311. data/lib/ingenico/connect/sdk/domain/payment/payment_status_output.rb +33 -30
  312. data/lib/ingenico/connect/sdk/domain/payment/personal_identification.rb +33 -30
  313. data/lib/ingenico/connect/sdk/domain/payment/personal_information.rb +47 -44
  314. data/lib/ingenico/connect/sdk/domain/payment/personal_name.rb +21 -18
  315. data/lib/ingenico/connect/sdk/domain/payment/protection_eligibility.rb +27 -24
  316. data/lib/ingenico/connect/sdk/domain/payment/redirect_data.rb +9 -6
  317. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input.rb +92 -89
  318. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_input_base.rb +29 -26
  319. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_method_specific_output.rb +76 -73
  320. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product4101_specific_input.rb +33 -30
  321. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product4101_specific_input_base.rb +21 -18
  322. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product809_specific_input.rb +29 -26
  323. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product816_specific_input.rb +22 -19
  324. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input.rb +29 -26
  325. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product840_specific_input_base.rb +9 -6
  326. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product861_specific_input.rb +21 -18
  327. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product863_specific_input.rb +27 -24
  328. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product869_specific_input.rb +33 -30
  329. data/lib/ingenico/connect/sdk/domain/payment/redirect_payment_product882_specific_input.rb +21 -18
  330. data/lib/ingenico/connect/sdk/domain/payment/redirection_data.rb +27 -24
  331. data/lib/ingenico/connect/sdk/domain/payment/refund_bank_method_specific_output.rb +9 -6
  332. data/lib/ingenico/connect/sdk/domain/payment/refund_card_method_specific_output.rb +28 -25
  333. data/lib/ingenico/connect/sdk/domain/payment/refund_cash_method_specific_output.rb +9 -6
  334. data/lib/ingenico/connect/sdk/domain/payment/refund_e_invoice_method_specific_output.rb +9 -6
  335. data/lib/ingenico/connect/sdk/domain/payment/refund_e_wallet_method_specific_output.rb +22 -19
  336. data/lib/ingenico/connect/sdk/domain/payment/refund_method_specific_output.rb +33 -30
  337. data/lib/ingenico/connect/sdk/domain/payment/refund_mobile_method_specific_output.rb +21 -18
  338. data/lib/ingenico/connect/sdk/domain/payment/refund_output.rb +69 -66
  339. data/lib/ingenico/connect/sdk/domain/payment/refund_payment_product840_customer_account.rb +33 -30
  340. data/lib/ingenico/connect/sdk/domain/payment/refund_payment_product840_specific_output.rb +22 -19
  341. data/lib/ingenico/connect/sdk/domain/payment/scheme_token_data.rb +52 -49
  342. data/lib/ingenico/connect/sdk/domain/payment/sdk_data_input.rb +58 -55
  343. data/lib/ingenico/connect/sdk/domain/payment/sdk_data_output.rb +21 -18
  344. data/lib/ingenico/connect/sdk/domain/payment/seller.rb +102 -99
  345. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input.rb +64 -61
  346. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_input_base.rb +22 -19
  347. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_method_specific_output.rb +35 -32
  348. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_product771_specific_input.rb +28 -25
  349. data/lib/ingenico/connect/sdk/domain/payment/sepa_direct_debit_payment_product771_specific_input_base.rb +28 -25
  350. data/lib/ingenico/connect/sdk/domain/payment/shipping.rb +64 -61
  351. data/lib/ingenico/connect/sdk/domain/payment/shopping_cart.rb +59 -56
  352. data/lib/ingenico/connect/sdk/domain/payment/third_party_data.rb +22 -19
  353. data/lib/ingenico/connect/sdk/domain/payment/third_party_status_response.rb +21 -18
  354. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure.rb +29 -26
  355. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_base.rb +9 -6
  356. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_data.rb +33 -30
  357. data/lib/ingenico/connect/sdk/domain/payment/three_d_secure_results.rb +112 -109
  358. data/lib/ingenico/connect/sdk/domain/payment/tokenize_payment_request.rb +21 -18
  359. data/lib/ingenico/connect/sdk/domain/payment/trustly_bank_account.rb +45 -42
  360. data/lib/ingenico/connect/sdk/domain/payment.rb +5 -0
  361. data/lib/ingenico/connect/sdk/domain/payout/abstract_payout_method_specific_input.rb +9 -6
  362. data/lib/ingenico/connect/sdk/domain/payout/approve_payout_request.rb +21 -18
  363. data/lib/ingenico/connect/sdk/domain/payout/bank_transfer_payout_method_specific_input.rb +56 -53
  364. data/lib/ingenico/connect/sdk/domain/payout/card_payout_method_specific_input.rb +47 -44
  365. data/lib/ingenico/connect/sdk/domain/payout/create_payout_request.rb +126 -123
  366. data/lib/ingenico/connect/sdk/domain/payout/find_payouts_response.rb +47 -44
  367. data/lib/ingenico/connect/sdk/domain/payout/payout_customer.rb +49 -46
  368. data/lib/ingenico/connect/sdk/domain/payout/payout_details.rb +36 -33
  369. data/lib/ingenico/connect/sdk/domain/payout/payout_error_response.rb +37 -34
  370. data/lib/ingenico/connect/sdk/domain/payout/payout_merchant.rb +21 -18
  371. data/lib/ingenico/connect/sdk/domain/payout/payout_recipient.rb +33 -30
  372. data/lib/ingenico/connect/sdk/domain/payout/payout_references.rb +33 -30
  373. data/lib/ingenico/connect/sdk/domain/payout/payout_response.rb +9 -6
  374. data/lib/ingenico/connect/sdk/domain/payout/payout_result.rb +35 -32
  375. data/lib/ingenico/connect/sdk/domain/payout.rb +5 -0
  376. data/lib/ingenico/connect/sdk/domain/product/abstract_indicator.rb +27 -24
  377. data/lib/ingenico/connect/sdk/domain/product/account_on_file.rb +48 -45
  378. data/lib/ingenico/connect/sdk/domain/product/account_on_file_attribute.rb +27 -24
  379. data/lib/ingenico/connect/sdk/domain/product/account_on_file_display_hints.rb +30 -27
  380. data/lib/ingenico/connect/sdk/domain/product/authentication_indicator.rb +9 -6
  381. data/lib/ingenico/connect/sdk/domain/product/boleto_bancario_requiredness_validator.rb +21 -18
  382. data/lib/ingenico/connect/sdk/domain/product/create_payment_product_session_request.rb +22 -19
  383. data/lib/ingenico/connect/sdk/domain/product/create_payment_product_session_response.rb +22 -19
  384. data/lib/ingenico/connect/sdk/domain/product/device_fingerprint_request.rb +21 -18
  385. data/lib/ingenico/connect/sdk/domain/product/device_fingerprint_response.rb +27 -24
  386. data/lib/ingenico/connect/sdk/domain/product/directory.rb +24 -21
  387. data/lib/ingenico/connect/sdk/domain/product/directory_entry.rb +47 -44
  388. data/lib/ingenico/connect/sdk/domain/product/empty_validator.rb +9 -6
  389. data/lib/ingenico/connect/sdk/domain/product/fixed_list_validator.rb +24 -21
  390. data/lib/ingenico/connect/sdk/domain/product/get_customer_details_request.rb +30 -27
  391. data/lib/ingenico/connect/sdk/domain/product/get_customer_details_response.rb +75 -72
  392. data/lib/ingenico/connect/sdk/domain/product/label_template_element.rb +27 -24
  393. data/lib/ingenico/connect/sdk/domain/product/length_validator.rb +27 -24
  394. data/lib/ingenico/connect/sdk/domain/product/mobile_payment_product_session302_specific_input.rb +33 -30
  395. data/lib/ingenico/connect/sdk/domain/product/mobile_payment_product_session302_specific_output.rb +21 -18
  396. data/lib/ingenico/connect/sdk/domain/product/payment_product.rb +203 -200
  397. data/lib/ingenico/connect/sdk/domain/product/payment_product302_specific_data.rb +24 -21
  398. data/lib/ingenico/connect/sdk/domain/product/payment_product320_specific_data.rb +30 -27
  399. data/lib/ingenico/connect/sdk/domain/product/payment_product863_specific_data.rb +24 -21
  400. data/lib/ingenico/connect/sdk/domain/product/payment_product_display_hints.rb +33 -30
  401. data/lib/ingenico/connect/sdk/domain/product/payment_product_field.rb +47 -44
  402. data/lib/ingenico/connect/sdk/domain/product/payment_product_field_data_restrictions.rb +28 -25
  403. data/lib/ingenico/connect/sdk/domain/product/payment_product_field_display_element.rb +45 -42
  404. data/lib/ingenico/connect/sdk/domain/product/payment_product_field_display_hints.rb +77 -74
  405. data/lib/ingenico/connect/sdk/domain/product/payment_product_field_form_element.rb +30 -27
  406. data/lib/ingenico/connect/sdk/domain/product/payment_product_field_tooltip.rb +27 -24
  407. data/lib/ingenico/connect/sdk/domain/product/payment_product_field_validators.rb +92 -89
  408. data/lib/ingenico/connect/sdk/domain/product/payment_product_group.rb +59 -56
  409. data/lib/ingenico/connect/sdk/domain/product/payment_product_group_response.rb +9 -6
  410. data/lib/ingenico/connect/sdk/domain/product/payment_product_groups.rb +24 -21
  411. data/lib/ingenico/connect/sdk/domain/product/payment_product_networks_response.rb +24 -21
  412. data/lib/ingenico/connect/sdk/domain/product/payment_product_response.rb +9 -6
  413. data/lib/ingenico/connect/sdk/domain/product/payment_products.rb +24 -21
  414. data/lib/ingenico/connect/sdk/domain/product/range_validator.rb +27 -24
  415. data/lib/ingenico/connect/sdk/domain/product/regular_expression_validator.rb +21 -18
  416. data/lib/ingenico/connect/sdk/domain/product/value_mapping_element.rb +38 -35
  417. data/lib/ingenico/connect/sdk/domain/product.rb +5 -0
  418. data/lib/ingenico/connect/sdk/domain/refund/approve_refund_request.rb +21 -18
  419. data/lib/ingenico/connect/sdk/domain/refund/bank_account_bban_refund.rb +33 -30
  420. data/lib/ingenico/connect/sdk/domain/refund/bank_refund_method_specific_input.rb +35 -32
  421. data/lib/ingenico/connect/sdk/domain/refund/find_refunds_response.rb +47 -44
  422. data/lib/ingenico/connect/sdk/domain/refund/refund_customer.rb +48 -45
  423. data/lib/ingenico/connect/sdk/domain/refund/refund_error_response.rb +37 -34
  424. data/lib/ingenico/connect/sdk/domain/refund/refund_references.rb +21 -18
  425. data/lib/ingenico/connect/sdk/domain/refund/refund_request.rb +49 -46
  426. data/lib/ingenico/connect/sdk/domain/refund/refund_response.rb +9 -6
  427. data/lib/ingenico/connect/sdk/domain/refund/refund_result.rb +35 -32
  428. data/lib/ingenico/connect/sdk/domain/refund/refunds_response.rb +24 -21
  429. data/lib/ingenico/connect/sdk/domain/refund.rb +5 -0
  430. data/lib/ingenico/connect/sdk/domain/riskassessments/contact_details_risk_assessment.rb +21 -18
  431. data/lib/ingenico/connect/sdk/domain/riskassessments/customer_account_risk_assessment.rb +27 -24
  432. data/lib/ingenico/connect/sdk/domain/riskassessments/customer_device_risk_assessment.rb +27 -24
  433. data/lib/ingenico/connect/sdk/domain/riskassessments/customer_risk_assessment.rb +77 -74
  434. data/lib/ingenico/connect/sdk/domain/riskassessments/merchant_risk_assessment.rb +21 -18
  435. data/lib/ingenico/connect/sdk/domain/riskassessments/order_risk_assessment.rb +43 -40
  436. data/lib/ingenico/connect/sdk/domain/riskassessments/personal_information_risk_assessment.rb +22 -19
  437. data/lib/ingenico/connect/sdk/domain/riskassessments/personal_name_risk_assessment.rb +9 -6
  438. data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment.rb +48 -45
  439. data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment_bank_account.rb +29 -26
  440. data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment_card.rb +22 -19
  441. data/lib/ingenico/connect/sdk/domain/riskassessments/risk_assessment_response.rb +24 -21
  442. data/lib/ingenico/connect/sdk/domain/riskassessments/shipping_risk_assessment.rb +34 -31
  443. data/lib/ingenico/connect/sdk/domain/riskassessments.rb +5 -0
  444. data/lib/ingenico/connect/sdk/domain/services/bank_data.rb +45 -42
  445. data/lib/ingenico/connect/sdk/domain/services/bank_details.rb +29 -26
  446. data/lib/ingenico/connect/sdk/domain/services/bank_details_request.rb +9 -6
  447. data/lib/ingenico/connect/sdk/domain/services/bank_details_response.rb +43 -40
  448. data/lib/ingenico/connect/sdk/domain/services/convert_amount.rb +21 -18
  449. data/lib/ingenico/connect/sdk/domain/services/get_iin_details_request.rb +28 -25
  450. data/lib/ingenico/connect/sdk/domain/services/get_iin_details_response.rb +47 -44
  451. data/lib/ingenico/connect/sdk/domain/services/get_privacy_policy_response.rb +21 -18
  452. data/lib/ingenico/connect/sdk/domain/services/iin_detail.rb +27 -24
  453. data/lib/ingenico/connect/sdk/domain/services/payment_context.rb +46 -43
  454. data/lib/ingenico/connect/sdk/domain/services/swift.rb +75 -72
  455. data/lib/ingenico/connect/sdk/domain/services/test_connection.rb +21 -18
  456. data/lib/ingenico/connect/sdk/domain/services.rb +5 -0
  457. data/lib/ingenico/connect/sdk/domain/sessions/payment_product_filters_client_session.rb +29 -26
  458. data/lib/ingenico/connect/sdk/domain/sessions/session_request.rb +31 -28
  459. data/lib/ingenico/connect/sdk/domain/sessions/session_response.rb +54 -51
  460. data/lib/ingenico/connect/sdk/domain/sessions.rb +5 -0
  461. data/lib/ingenico/connect/sdk/domain/token/abstract_token.rb +21 -18
  462. data/lib/ingenico/connect/sdk/domain/token/approve_token_request.rb +9 -6
  463. data/lib/ingenico/connect/sdk/domain/token/contact_details_token.rb +9 -6
  464. data/lib/ingenico/connect/sdk/domain/token/create_token_request.rb +55 -52
  465. data/lib/ingenico/connect/sdk/domain/token/create_token_response.rb +33 -30
  466. data/lib/ingenico/connect/sdk/domain/token/creditor.rb +81 -78
  467. data/lib/ingenico/connect/sdk/domain/token/customer_token.rb +29 -26
  468. data/lib/ingenico/connect/sdk/domain/token/customer_token_with_contact_details.rb +22 -19
  469. data/lib/ingenico/connect/sdk/domain/token/debtor.rb +81 -78
  470. data/lib/ingenico/connect/sdk/domain/token/mandate_approval.rb +33 -30
  471. data/lib/ingenico/connect/sdk/domain/token/mandate_non_sepa_direct_debit.rb +29 -26
  472. data/lib/ingenico/connect/sdk/domain/token/mandate_sepa_direct_debit.rb +22 -19
  473. data/lib/ingenico/connect/sdk/domain/token/mandate_sepa_direct_debit_with_mandate_id.rb +21 -18
  474. data/lib/ingenico/connect/sdk/domain/token/mandate_sepa_direct_debit_without_creditor.rb +54 -51
  475. data/lib/ingenico/connect/sdk/domain/token/personal_information_token.rb +22 -19
  476. data/lib/ingenico/connect/sdk/domain/token/personal_name_token.rb +9 -6
  477. data/lib/ingenico/connect/sdk/domain/token/token_card.rb +29 -26
  478. data/lib/ingenico/connect/sdk/domain/token/token_card_data.rb +34 -31
  479. data/lib/ingenico/connect/sdk/domain/token/token_e_wallet.rb +29 -26
  480. data/lib/ingenico/connect/sdk/domain/token/token_e_wallet_data.rb +21 -18
  481. data/lib/ingenico/connect/sdk/domain/token/token_non_sepa_direct_debit.rb +29 -26
  482. data/lib/ingenico/connect/sdk/domain/token/token_non_sepa_direct_debit_payment_product705_specific_data.rb +28 -25
  483. data/lib/ingenico/connect/sdk/domain/token/token_non_sepa_direct_debit_payment_product730_specific_data.rb +22 -19
  484. data/lib/ingenico/connect/sdk/domain/token/token_response.rb +61 -58
  485. data/lib/ingenico/connect/sdk/domain/token/token_sepa_direct_debit.rb +29 -26
  486. data/lib/ingenico/connect/sdk/domain/token/token_sepa_direct_debit_without_creditor.rb +29 -26
  487. data/lib/ingenico/connect/sdk/domain/token/update_token_request.rb +49 -46
  488. data/lib/ingenico/connect/sdk/domain/token.rb +5 -0
  489. data/lib/ingenico/connect/sdk/domain.rb +1 -0
  490. data/lib/ingenico/connect/sdk/endpoint_configuration.rb +120 -116
  491. data/lib/ingenico/connect/sdk/exceptions.rb +1 -8
  492. data/lib/ingenico/connect/sdk/factory.rb +193 -182
  493. data/lib/ingenico/connect/sdk/global_collect_exception.rb +15 -10
  494. data/lib/ingenico/connect/sdk/idempotence_exception.rb +23 -19
  495. data/lib/ingenico/connect/sdk/logging/communicator_logger.rb +20 -16
  496. data/lib/ingenico/connect/sdk/logging/log_message_builder.rb +73 -67
  497. data/lib/ingenico/connect/sdk/logging/logging_capable.rb +12 -12
  498. data/lib/ingenico/connect/sdk/logging/logging_util.rb +304 -297
  499. data/lib/ingenico/connect/sdk/logging/obfuscation/body_obfuscator.rb +83 -79
  500. data/lib/ingenico/connect/sdk/logging/obfuscation/header_obfuscator.rb +42 -38
  501. data/lib/ingenico/connect/sdk/logging/obfuscation/obfuscation_capable.rb +17 -12
  502. data/lib/ingenico/connect/sdk/logging/obfuscation/obfuscation_rule.rb +40 -36
  503. data/lib/ingenico/connect/sdk/logging/obfuscation.rb +1 -0
  504. data/lib/ingenico/connect/sdk/logging/request_log_message_builder.rb +42 -34
  505. data/lib/ingenico/connect/sdk/logging/response_log_message_builder.rb +35 -29
  506. data/lib/ingenico/connect/sdk/logging/ruby_communicator_logger.rb +51 -47
  507. data/lib/ingenico/connect/sdk/logging/stdout_communicator_logger.rb +26 -22
  508. data/lib/ingenico/connect/sdk/logging.rb +1 -14
  509. data/lib/ingenico/connect/sdk/marshaller.rb +22 -19
  510. data/lib/ingenico/connect/sdk/marshaller_syntax_exception.rb +7 -4
  511. data/lib/ingenico/connect/sdk/merchant/captures/captures_client.rb +75 -72
  512. data/lib/ingenico/connect/sdk/merchant/captures.rb +5 -0
  513. data/lib/ingenico/connect/sdk/merchant/disputes/disputes_client.rb +134 -131
  514. data/lib/ingenico/connect/sdk/merchant/disputes/upload_file_request.rb +17 -14
  515. data/lib/ingenico/connect/sdk/merchant/disputes.rb +5 -0
  516. data/lib/ingenico/connect/sdk/merchant/files/files_client.rb +43 -40
  517. data/lib/ingenico/connect/sdk/merchant/files.rb +5 -0
  518. data/lib/ingenico/connect/sdk/merchant/hostedcheckouts/hostedcheckouts_client.rb +98 -95
  519. data/lib/ingenico/connect/sdk/merchant/hostedcheckouts.rb +5 -0
  520. data/lib/ingenico/connect/sdk/merchant/hostedmandatemanagements/hostedmandatemanagements_client.rb +70 -67
  521. data/lib/ingenico/connect/sdk/merchant/hostedmandatemanagements.rb +5 -0
  522. data/lib/ingenico/connect/sdk/merchant/installments/installments_client.rb +41 -38
  523. data/lib/ingenico/connect/sdk/merchant/installments.rb +5 -0
  524. data/lib/ingenico/connect/sdk/merchant/mandates/mandates_client.rb +191 -188
  525. data/lib/ingenico/connect/sdk/merchant/mandates.rb +5 -0
  526. data/lib/ingenico/connect/sdk/merchant/merchant_client.rb +110 -107
  527. data/lib/ingenico/connect/sdk/merchant/payments/find_payments_params.rb +35 -32
  528. data/lib/ingenico/connect/sdk/merchant/payments/payments_client.rb +519 -516
  529. data/lib/ingenico/connect/sdk/merchant/payments.rb +5 -0
  530. data/lib/ingenico/connect/sdk/merchant/payouts/find_payouts_params.rb +26 -23
  531. data/lib/ingenico/connect/sdk/merchant/payouts/payouts_client.rb +186 -183
  532. data/lib/ingenico/connect/sdk/merchant/payouts.rb +5 -0
  533. data/lib/ingenico/connect/sdk/merchant/productgroups/find_productgroups_params.rb +49 -46
  534. data/lib/ingenico/connect/sdk/merchant/productgroups/get_productgroup_params.rb +49 -46
  535. data/lib/ingenico/connect/sdk/merchant/productgroups/productgroups_client.rb +101 -98
  536. data/lib/ingenico/connect/sdk/merchant/productgroups.rb +5 -0
  537. data/lib/ingenico/connect/sdk/merchant/products/directory_params.rb +20 -17
  538. data/lib/ingenico/connect/sdk/merchant/products/find_products_params.rb +49 -46
  539. data/lib/ingenico/connect/sdk/merchant/products/get_product_params.rb +44 -41
  540. data/lib/ingenico/connect/sdk/merchant/products/networks_params.rb +26 -23
  541. data/lib/ingenico/connect/sdk/merchant/products/products_client.rb +223 -220
  542. data/lib/ingenico/connect/sdk/merchant/products.rb +5 -0
  543. data/lib/ingenico/connect/sdk/merchant/refunds/find_refunds_params.rb +35 -32
  544. data/lib/ingenico/connect/sdk/merchant/refunds/refunds_client.rb +157 -154
  545. data/lib/ingenico/connect/sdk/merchant/refunds.rb +5 -0
  546. data/lib/ingenico/connect/sdk/merchant/riskassessments/riskassessments_client.rb +68 -65
  547. data/lib/ingenico/connect/sdk/merchant/riskassessments.rb +5 -0
  548. data/lib/ingenico/connect/sdk/merchant/services/convert_amount_params.rb +23 -20
  549. data/lib/ingenico/connect/sdk/merchant/services/privacypolicy_params.rb +20 -17
  550. data/lib/ingenico/connect/sdk/merchant/services/services_client.rb +145 -142
  551. data/lib/ingenico/connect/sdk/merchant/services.rb +5 -0
  552. data/lib/ingenico/connect/sdk/merchant/sessions/sessions_client.rb +41 -38
  553. data/lib/ingenico/connect/sdk/merchant/sessions.rb +5 -0
  554. data/lib/ingenico/connect/sdk/merchant/tokens/delete_token_params.rb +17 -14
  555. data/lib/ingenico/connect/sdk/merchant/tokens/tokens_client.rb +159 -156
  556. data/lib/ingenico/connect/sdk/merchant/tokens.rb +5 -0
  557. data/lib/ingenico/connect/sdk/merchant.rb +5 -0
  558. data/lib/ingenico/connect/sdk/meta_data_provider.rb +151 -146
  559. data/lib/ingenico/connect/sdk/multipart_form_data_object.rb +36 -33
  560. data/lib/ingenico/connect/sdk/multipart_form_data_request.rb +10 -6
  561. data/lib/ingenico/connect/sdk/not_found_exception.rb +14 -11
  562. data/lib/ingenico/connect/sdk/param_request.rb +11 -8
  563. data/lib/ingenico/connect/sdk/pooled_connection.rb +20 -15
  564. data/lib/ingenico/connect/sdk/proxy_configuration.rb +63 -61
  565. data/lib/ingenico/connect/sdk/reference_exception.rb +14 -9
  566. data/lib/ingenico/connect/sdk/request_header.rb +52 -44
  567. data/lib/ingenico/connect/sdk/request_param.rb +22 -19
  568. data/lib/ingenico/connect/sdk/response_exception.rb +46 -41
  569. data/lib/ingenico/connect/sdk/response_header.rb +63 -55
  570. data/lib/ingenico/connect/sdk/session.rb +34 -31
  571. data/lib/ingenico/connect/sdk/uploadable_file.rb +23 -20
  572. data/lib/ingenico/connect/sdk/validation_exception.rb +14 -9
  573. data/lib/ingenico/connect/sdk/webhooks/api_version_mismatch_exception.rb +19 -15
  574. data/lib/ingenico/connect/sdk/webhooks/in_memory_secret_key_store.rb +49 -44
  575. data/lib/ingenico/connect/sdk/webhooks/secret_key_not_available_exception.rb +18 -12
  576. data/lib/ingenico/connect/sdk/webhooks/secret_key_store.rb +15 -11
  577. data/lib/ingenico/connect/sdk/webhooks/signature_validation_exception.rb +17 -14
  578. data/lib/ingenico/connect/sdk/webhooks/signature_validator.rb +83 -0
  579. data/lib/ingenico/connect/sdk/webhooks/webhooks.rb +20 -15
  580. data/lib/ingenico/connect/sdk/webhooks/webhooks_event.rb +60 -50
  581. data/lib/ingenico/connect/sdk/webhooks/webhooks_helper.rb +43 -94
  582. data/lib/ingenico/connect/sdk/webhooks/webhooks_helper_builder.rb +22 -17
  583. data/lib/ingenico/connect/sdk/webhooks.rb +1 -11
  584. data/lib/ingenico/connect/sdk.rb +1 -30
  585. data/spec/integration/connection_pooling_spec.rb +1 -1
  586. data/spec/lib/defaultimpl/default_connection_logger_spec.rb +17 -17
  587. data/spec/lib/webhooks/webhooks_spec.rb +2 -1
  588. metadata +40 -2
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
5
  require 'ingenico/connect/sdk/factory'
6
6
  require 'ingenico/connect/sdk/domain/sessions/session_request'
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
5
  require 'ingenico/connect/sdk/factory'
6
6
  require 'ingenico/connect/sdk/domain/token/approve_token_request'
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
5
  require 'ingenico/connect/sdk/factory'
6
6
  require 'ingenico/connect/sdk/domain/definitions/address'
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
5
  require 'ingenico/connect/sdk/factory'
6
6
  require 'ingenico/connect/sdk/merchant/tokens/delete_token_params'
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
5
  require 'ingenico/connect/sdk/factory'
6
6
 
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
5
  require 'ingenico/connect/sdk/factory'
6
6
  require 'ingenico/connect/sdk/domain/definitions/address'
@@ -1,50 +1,53 @@
1
- module Ingenico::Connect::SDK
1
+ module Ingenico
2
+ module Connect
3
+ module SDK
4
+ # Base class for many exceptions raised by the SDK.
5
+ # It is raised when an error response is received from the Ingenico ePayments platform.
6
+ # It contains data about the returned response.
7
+ #
8
+ # @attr_reader [Integer] status_code HTTP status code of the returned response.
9
+ # @attr_reader [String] response_body Message body of the returned response.
10
+ # @attr_reader [String] error_id An error id corresponding to the error that occurred, if available.
11
+ # @attr_reader [Array<Ingenico::Connect::SDK::Domain::Errors::APIError>] errors A list of errors received from the Ingenico ePayments platform;
12
+ # may be empty but never _nil_
13
+ class ApiException < RuntimeError
2
14
 
3
- # Base class for many exceptions raised by the SDK.
4
- # It is raised when an error response is received from the Ingenico ePayments platform.
5
- # It contains data about the returned response.
6
- #
7
- # @attr_reader [Integer] status_code HTTP status code of the returned response.
8
- # @attr_reader [String] response_body Message body of the returned response.
9
- # @attr_reader [String] error_id An error id corresponding to the error that occurred, if available.
10
- # @attr_reader [Array<Ingenico::Connect::SDK::Domain::Errors::APIError>] errors A list of errors received from the Ingenico ePayments platform;
11
- # may be empty but never _nil_
12
- class ApiException < RuntimeError
15
+ # Creates a new ApiException that reports an error response from the Ingenico ePayments platform.
16
+ #
17
+ # @param status_code (Integer) HTTP status code the response
18
+ # @param response_body (String) HTTP response body
19
+ # @param error_id (String) error id of the error, may be _nil_
20
+ # @param errors (Array<Ingenico::Connect::SDK::Domain::Errors::APIError>) a list of errors that occurred, may be empty
21
+ # @param message (String) error message to include
22
+ def initialize(status_code, response_body, error_id, errors,
23
+ message = 'the Ingenico ePayments platform returned an error response')
24
+ super(message)
25
+ @status_code = status_code
26
+ @response_body = response_body
27
+ @error_id = error_id
28
+ if errors.nil?
29
+ @errors = [].freeze
30
+ else
31
+ @errors = errors
32
+ end
33
+ end
13
34
 
14
- # Creates a new ApiException that reports an error response from the Ingenico ePayments platform.
15
- #
16
- # @param status_code (Integer) HTTP status code the response
17
- # @param response_body (String) HTTP response body
18
- # @param error_id (String) error id of the error, may be _nil_
19
- # @param errors (Array<Ingenico::Connect::SDK::Domain::Errors::APIError>) a list of errors that occurred, may be empty
20
- # @param message (String) error message to include
21
- def initialize(status_code, response_body, error_id, errors,
22
- message='the Ingenico ePayments platform returned an error response')
23
- super(message)
24
- @status_code = status_code
25
- @response_body = response_body
26
- @error_id = error_id
27
- if errors.nil?
28
- @errors = [].freeze
29
- else
30
- @errors = errors
31
- end
32
- end
35
+ attr_reader :status_code
36
+ attr_reader :response_body
37
+ attr_reader :error_id
38
+ attr_reader :errors
33
39
 
34
- attr_reader :status_code
35
- attr_reader :response_body
36
- attr_reader :error_id
37
- attr_reader :errors
38
-
39
- def to_s
40
- str = super.to_s
41
- if @status_code > 0
42
- str += '; status_code=' + @status_code.to_s
43
- end
44
- if !@response_body.nil? && @response_body.length > 0
45
- str += "; response_body='" + @response_body + "'"
40
+ def to_s
41
+ str = super.to_s
42
+ if @status_code > 0
43
+ str += '; status_code=' + @status_code.to_s
44
+ end
45
+ if !@response_body.nil? && @response_body.length > 0
46
+ str += "; response_body='" + @response_body + "'"
47
+ end
48
+ str.to_s
49
+ end
46
50
  end
47
- str.to_s
48
51
  end
49
52
  end
50
53
  end
@@ -1,127 +1,144 @@
1
+ require 'ingenico/connect/sdk/api_exception'
2
+ require 'ingenico/connect/sdk/authorization_exception'
3
+ require 'ingenico/connect/sdk/declined_payment_exception'
4
+ require 'ingenico/connect/sdk/declined_payout_exception'
5
+ require 'ingenico/connect/sdk/declined_refund_exception'
1
6
  require 'ingenico/connect/sdk/domain/errors/error_response'
7
+ require 'ingenico/connect/sdk/domain/payment/payment_error_response'
8
+ require 'ingenico/connect/sdk/domain/payout/payout_error_response'
9
+ require 'ingenico/connect/sdk/domain/refund/refund_error_response'
10
+ require 'ingenico/connect/sdk/global_collect_exception'
11
+ require 'ingenico/connect/sdk/idempotence_exception'
12
+ require 'ingenico/connect/sdk/reference_exception'
13
+ require 'ingenico/connect/sdk/request_header'
14
+ require 'ingenico/connect/sdk/validation_exception'
2
15
 
3
- module Ingenico::Connect::SDK
16
+ module Ingenico
17
+ module Connect
18
+ module SDK
19
+ # Base class of all Ingenico ePayments platform API resources.
20
+ # Provides shared functionality to facilitate communication with the Ingenico ePayments platform.
21
+ #
22
+ # @attr_reader [Ingenico::Connect::SDK::Communicator] communicator Communicator instance that provides communication with the Ingenico ePayments platform.
23
+ # @attr_reader [String] client_meta_info JSON string containing client info specific to the current client.
24
+ class ApiResource
4
25
 
5
- # Base class of all Ingenico ePayments platform API resources.
6
- # Provides shared functionality to facilitate communication with the Ingenico ePayments platform.
7
- #
8
- # @attr_reader [Ingenico::Connect::SDK::Communicator] communicator Communicator instance that provides communication with the Ingenico ePayments platform.
9
- # @attr_reader [String] client_meta_info JSON string containing client info specific to the current client.
10
- class ApiResource
11
-
12
- # Creates a new ApiResource.
13
- #
14
- # @param arg [Ingenico::Connect::SDK::ApiResource, Ingenico::Connect::SDK::Communicator] parent class or Communicator instance.
15
- # If a parent class is given its communicator will be used for communication.
16
- # @param path_context [Hash] hash that contains substitutions for generic locations in the URL path.
17
- # This hash will be used to instantiate a concrete URL used to access specific resources.
18
- # For example in the URL https://eu.sandbox.api-ingenico.com/!{version}/!{merchantId}/payments
19
- # !{version} and !{merchantId} can be instantiated using the hash
20
- # !{'version' => 'v1', 'merchantId' => '1234'}. The final URL in this case will be
21
- # https://eu.sandbox.api-ingenico.com/v1/1234/payments.
22
- # @param client_meta_info [String] JSON string containing the meta data for the client.
23
- def initialize(arg, path_context, client_meta_info=false)
24
- if client_meta_info == false
25
- if arg.nil?
26
- raise ArgumentError.new('parent is required')
27
- end
28
- @parent = arg
29
- @communicator = arg.communicator
30
- @path_context = path_context
31
- @client_meta_info = arg.client_meta_info
32
- else
33
- if arg.nil?
34
- raise ArgumentError.new('communicator is required')
26
+ # Creates a new ApiResource.
27
+ #
28
+ # @param arg [Ingenico::Connect::SDK::ApiResource, Ingenico::Connect::SDK::Communicator] parent class or Communicator instance.
29
+ # If a parent class is given its communicator will be used for communication.
30
+ # @param path_context [Hash] hash that contains substitutions for generic locations in the URL path.
31
+ # This hash will be used to instantiate a concrete URL used to access specific resources.
32
+ # For example in the URL https://eu.sandbox.api-ingenico.com/!{version}/!{merchantId}/payments
33
+ # !{version} and !{merchantId} can be instantiated using the hash
34
+ # !{'version' => 'v1', 'merchantId' => '1234'}. The final URL in this case will be
35
+ # https://eu.sandbox.api-ingenico.com/v1/1234/payments.
36
+ # @param client_meta_info [String] JSON string containing the meta data for the client.
37
+ def initialize(arg, path_context, client_meta_info = false)
38
+ if client_meta_info == false
39
+ if arg.nil?
40
+ raise ArgumentError.new('parent is required')
41
+ end
42
+ @parent = arg
43
+ @communicator = arg.communicator
44
+ @path_context = path_context
45
+ @client_meta_info = arg.client_meta_info
46
+ else
47
+ if arg.nil?
48
+ raise ArgumentError.new('communicator is required')
49
+ end
50
+ @parent = nil
51
+ @communicator = arg
52
+ @path_context = path_context
53
+ @client_meta_info = client_meta_info
54
+ end
35
55
  end
36
- @parent = nil
37
- @communicator = arg
38
- @path_context = path_context
39
- @client_meta_info = client_meta_info
40
- end
41
- end
42
56
 
43
- attr_reader :communicator
44
- attr_reader :client_meta_info
57
+ attr_reader :communicator
58
+ attr_reader :client_meta_info
45
59
 
46
- protected
60
+ protected
47
61
 
48
- # @return [String] the X-GCS-ClientMetaInfo header as an [Array<Ingenico::Connect::SDK::RequestHeader>]
49
- def client_headers
50
- if @client_meta_info.nil?
51
- nil
52
- else
53
- [RequestHeader.new('X-GCS-ClientMetaInfo', @client_meta_info)]
54
- end
55
- end
62
+ # @return [Array<Ingenico::Connect::SDK::RequestHeader>, nil] the client headers,
63
+ # including the X-GCS-ClientMetaInfo header if meta data for the client is available
64
+ def client_headers
65
+ if @client_meta_info.nil?
66
+ nil
67
+ else
68
+ [RequestHeader.new('X-GCS-ClientMetaInfo', @client_meta_info)]
69
+ end
70
+ end
56
71
 
57
- def instantiate_uri(uri, path_context=false)
58
- if path_context == false
59
- uri = replace_all(uri, @path_context)
60
- unless @parent.nil?
61
- uri = @parent.instantiate_uri(uri)
72
+ def instantiate_uri(uri, path_context = false)
73
+ if path_context == false
74
+ uri = replace_all(uri, @path_context)
75
+ unless @parent.nil?
76
+ uri = @parent.instantiate_uri(uri)
77
+ end
78
+ uri
79
+ else
80
+ uri = replace_all(uri, path_context)
81
+ instantiate_uri(uri)
82
+ end
62
83
  end
63
- uri
64
- else
65
- uri = replace_all(uri, path_context)
66
- instantiate_uri(uri)
67
- end
68
- end
69
84
 
70
- def create_exception(status_code, response_body, error_object, context)
71
- if error_object.is_a?(Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse) && !error_object.payment_result.nil?
72
- return DeclinedPaymentException.new(status_code, response_body, error_object)
73
- elsif error_object.is_a?(Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse) && !error_object.payout_result.nil?
74
- return DeclinedPayoutException.new(status_code, response_body, error_object)
75
- elsif error_object.is_a?(Ingenico::Connect::SDK::Domain::Refund::RefundErrorResponse) && !error_object.refund_result.nil?
76
- return DeclinedRefundException.new(status_code, response_body, error_object)
77
- end
78
- if !(error_object.is_a?(Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse) ||
79
- error_object.is_a?(Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse) ||
80
- error_object.is_a?(Ingenico::Connect::SDK::Domain::Refund::RefundErrorResponse) ||
81
- error_object.is_a?(Ingenico::Connect::SDK::Domain::Errors::ErrorResponse))
82
- raise ArgumentError.new("unsupported error object type: " + error_object.class.name)
83
- else
84
- error_id = error_object.error_id
85
- errors = error_object.errors
86
- end
87
- case status_code
88
- when 400
89
- return ValidationException.new(status_code, response_body, error_id, errors)
90
- when 403
91
- return AuthorizationException.new(status_code, response_body, error_id, errors)
92
- when 404, 410
93
- return ReferenceException.new(status_code, response_body, error_id, errors)
94
- when 409
95
- if is_idempotence_error(errors, context)
96
- idempotence_key = context.idempotence_key
97
- idempotence_request_timestamp = context.idempotence_request_timestamp
98
- return IdempotenceException.new(status_code, response_body, error_id,
99
- errors, idempotence_key,
100
- idempotence_request_timestamp)
85
+ def create_exception(status_code, response_body, error_object, context)
86
+ if error_object.is_a?(Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse) && !error_object.payment_result.nil?
87
+ return DeclinedPaymentException.new(status_code, response_body, error_object)
88
+ elsif error_object.is_a?(Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse) && !error_object.payout_result.nil?
89
+ return DeclinedPayoutException.new(status_code, response_body, error_object)
90
+ elsif error_object.is_a?(Ingenico::Connect::SDK::Domain::Refund::RefundErrorResponse) && !error_object.refund_result.nil?
91
+ return DeclinedRefundException.new(status_code, response_body, error_object)
92
+ end
93
+ if !(error_object.is_a?(Ingenico::Connect::SDK::Domain::Payment::PaymentErrorResponse) ||
94
+ error_object.is_a?(Ingenico::Connect::SDK::Domain::Payout::PayoutErrorResponse) ||
95
+ error_object.is_a?(Ingenico::Connect::SDK::Domain::Refund::RefundErrorResponse) ||
96
+ error_object.is_a?(Ingenico::Connect::SDK::Domain::Errors::ErrorResponse))
97
+ raise ArgumentError.new("unsupported error object type: " + error_object.class.name)
101
98
  else
99
+ error_id = error_object.error_id
100
+ errors = error_object.errors
101
+ end
102
+ case status_code
103
+ when 400
104
+ return ValidationException.new(status_code, response_body, error_id, errors)
105
+ when 403
106
+ return AuthorizationException.new(status_code, response_body, error_id, errors)
107
+ when 404, 410
102
108
  return ReferenceException.new(status_code, response_body, error_id, errors)
109
+ when 409
110
+ if is_idempotence_error(errors, context)
111
+ idempotence_key = context.idempotence_key
112
+ idempotence_request_timestamp = context.idempotence_request_timestamp
113
+ return IdempotenceException.new(status_code, response_body, error_id,
114
+ errors, idempotence_key,
115
+ idempotence_request_timestamp)
116
+ else
117
+ return ReferenceException.new(status_code, response_body, error_id, errors)
118
+ end
119
+ when 500, 502, 503
120
+ return GlobalCollectException.new(status_code, response_body, error_id, errors)
121
+ else
122
+ return ApiException.new(status_code, response_body, error_id, errors)
103
123
  end
104
- when 500, 502, 503
105
- return GlobalCollectException.new(status_code, response_body, error_id, errors)
106
- else
107
- return ApiException.new(status_code, response_body, error_id, errors)
108
- end
109
- end
124
+ end
110
125
 
111
- private
126
+ private
112
127
 
113
- def replace_all(uri, path_context)
114
- unless path_context.nil?
115
- path_context.each do |key, value|
116
- uri = uri.gsub('{' + key + '}', value)
128
+ def replace_all(uri, path_context)
129
+ unless path_context.nil?
130
+ path_context.each do |key, value|
131
+ uri = uri.gsub('{' + key + '}', value)
132
+ end
133
+ end
134
+ uri
117
135
  end
118
- end
119
- uri
120
- end
121
136
 
122
- def is_idempotence_error(errors, context)
123
- !context.nil? && !context.idempotence_key.nil? && errors.length == 1 &&
124
- errors[0].code == '1409'
137
+ def is_idempotence_error(errors, context)
138
+ !context.nil? && !context.idempotence_key.nil? && errors.length == 1 &&
139
+ errors[0].code == '1409'
140
+ end
141
+ end
125
142
  end
126
143
  end
127
144
  end
@@ -1,16 +1,19 @@
1
- module Ingenico::Connect::SDK
1
+ module Ingenico
2
+ module Connect
3
+ module SDK
4
+ # Abstract class that is responsible for authenticating requests sent to the Ingenico ePayments platform.
5
+ class Authenticator
2
6
 
3
- # Abstract class that is responsible for authenticating requests sent to the Ingenico ePayments platform.
4
- class Authenticator
5
-
6
- # Creates a signature to authenticate a request.
7
- #
8
- # @param http_method [String] 'GET', 'PUT', 'POST' or 'DELETE' indicating which HTTP method will be used with the request
9
- # @param resource_uri [URI::HTTP] URI object that includes #path and #query of the URL that will be used, #query may be *nil*
10
- # @param request_headers [Array<Ingenico::Connect::SDK::RequestHeader>] all headers used by the request
11
- # @return [String] the created signature
12
- def create_simple_authentication_signature(http_method, resource_uri, request_headers)
13
- raise NotImplementedError
7
+ # Creates a signature to authenticate a request.
8
+ #
9
+ # @param http_method [String] 'GET', 'PUT', 'POST' or 'DELETE' indicating which HTTP method will be used with the request
10
+ # @param resource_uri [URI::HTTP] URI object that includes #path and #query of the URL that will be used, #query may be *nil*
11
+ # @param request_headers [Array<Ingenico::Connect::SDK::RequestHeader>] all headers used by the request
12
+ # @return [String] the created signature
13
+ def create_simple_authentication_signature(http_method, resource_uri, request_headers)
14
+ raise NotImplementedError
15
+ end
16
+ end
14
17
  end
15
18
  end
16
19
  end
@@ -1,13 +1,18 @@
1
- module Ingenico::Connect::SDK
1
+ require 'ingenico/connect/sdk/api_exception'
2
2
 
3
- # This exception is thrown when a request sent to the Ingenico ePayments platform is not correctly authenticated.
4
- # Corresponds to a HTTP status code of 403.
5
- # @see ApiException#initialize
6
- class AuthorizationException < ApiException
3
+ module Ingenico
4
+ module Connect
5
+ module SDK
6
+ # This exception is thrown when a request sent to the Ingenico ePayments platform is not correctly authenticated.
7
+ # Corresponds to a HTTP status code of 403.
8
+ # @see ApiException#initialize
9
+ class AuthorizationException < ApiException
7
10
 
8
- def initialize(status_code, response_body, error_id, errors,
9
- message='the Ingenico ePayments platform returned an authorization error response')
10
- super(status_code, response_body, error_id, errors, message)
11
+ def initialize(status_code, response_body, error_id, errors,
12
+ message = 'the Ingenico ePayments platform returned an authorization error response')
13
+ super(status_code, response_body, error_id, errors, message)
14
+ end
15
+ end
11
16
  end
12
17
  end
13
18
  end
@@ -1,26 +1,29 @@
1
- module Ingenico::Connect::SDK
1
+ module Ingenico
2
+ module Connect
3
+ module SDK
4
+ # A CallContext is used to identify requests and manage idempotent requests.
5
+ # A CallContext contains the following:
6
+ #
7
+ # idempotence_key:: A randomly generated key used to identify requests
8
+ # idempotence_request_timestamp:: If a previous request arrived with the same idempotence key,
9
+ # this value will be set to a timestamp of that request.
10
+ #
11
+ # @attr_reader [String] idempotence_key The idempotence key used to identify this request.
12
+ # If two requests share the same _idempotence_key_, they are considered to be the same request
13
+ # and only the first request will be processed.
14
+ # @attr [Integer] idempotence_request_timestamp If two or more requests arrive at the Ingenico ePayments platform with the same _idempotence_key_,
15
+ # the _idempotence_request_timestamp_ will be set to the arrival time of the first of these requests.
16
+ class CallContext
17
+ @idempotence_request_timestamp = nil
18
+ @idempotence_key = nil
2
19
 
3
- # A CallContext is used to identify requests and manage idempotent requests.
4
- # A CallContext contains the following:
5
- #
6
- # idempotence_key:: A randomly generated key used to identify requests
7
- # idempotence_request_timestamp:: If a previous request arrived with the same idempotence key,
8
- # this value will be set to a timestamp of that request.
9
- #
10
- # @attr_reader [String] idempotence_key The idempotence key used to identify this request.
11
- # If two requests share the same _idempotence_key_, they are considered to be the same request
12
- # and only the first request will be processed.
13
- # @attr [Integer] idempotence_request_timestamp If two or more requests arrive at the Ingenico ePayments platform with the same _idempotence_key_,
14
- # the _idempotence_request_timestamp_ will be set to the arrival time of the first of these requests.
15
- class CallContext
16
- @idempotence_request_timestamp = nil
17
- @idempotence_key = nil
20
+ def initialize(idempotence_key = nil)
21
+ @idempotence_key = idempotence_key
22
+ end
18
23
 
19
- def initialize(idempotence_key=nil)
20
- @idempotence_key = idempotence_key
24
+ attr_reader :idempotence_key
25
+ attr_accessor :idempotence_request_timestamp
26
+ end
21
27
  end
22
-
23
- attr_reader :idempotence_key
24
- attr_accessor :idempotence_request_timestamp
25
28
  end
26
29
  end
@@ -1,18 +1,17 @@
1
1
  #
2
2
  # This class was auto-generated from the API references found at
3
- # https://epayments-api.developer-ingenico.com/s2sapi/v1/
3
+ # https://epayments-api.developer-ingenico.com/
4
4
  #
5
+ require 'base64'
5
6
  require 'ingenico/connect/sdk/api_resource'
6
7
  require 'ingenico/connect/sdk/data_object'
7
8
  require 'ingenico/connect/sdk/logging/logging_capable'
8
9
  require 'ingenico/connect/sdk/logging/obfuscation/obfuscation_capable'
9
10
  require 'ingenico/connect/sdk/merchant/merchant_client'
10
- require 'base64'
11
11
 
12
12
  module Ingenico
13
13
  module Connect
14
14
  module SDK
15
-
16
15
  # Ingenico ePayments platform client.
17
16
  #
18
17
  # This client and all its child clients are bound to one specific value for the X-GCS-ClientMetaInfo header.
@@ -31,7 +30,7 @@ module Ingenico
31
30
 
32
31
  # @param communicator [Ingenico::Connect::SDK::Communicator]
33
32
  # @param client_meta_info [String]
34
- def initialize(communicator, client_meta_info=nil)
33
+ def initialize(communicator, client_meta_info = nil)
35
34
  super(communicator, nil, client_meta_info)
36
35
  end
37
36
 
@@ -1,16 +1,19 @@
1
- module Ingenico::Connect::SDK
1
+ module Ingenico
2
+ module Connect
3
+ module SDK
4
+ # This exception is used when an error occurs during network communication with the Ingenico ePayments platform.
5
+ # A common cause is a timeout while connecting or when receiving or sending data.
6
+ #
7
+ # @attr [Exception] cause The error that is the cause of this error.
8
+ class CommunicationException < RuntimeError
2
9
 
3
- # This exception is used when an error occurs during network communication with the Ingenico ePayments platform.
4
- # A common cause is a timeout while connecting or when receiving or sending data.
5
- #
6
- # @attr [Exception] cause The error that is the cause of this error.
7
- class CommunicationException < RuntimeError
10
+ def initialize(cause)
11
+ super()
12
+ @cause = cause
13
+ end
8
14
 
9
- def initialize(cause)
10
- super()
11
- @cause = cause
15
+ attr_accessor :cause
16
+ end
12
17
  end
13
-
14
- attr_accessor :cause
15
18
  end
16
19
  end