univapay-apimatic-sdk 0.0.1

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 (272) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +224 -0
  4. data/bin/console +15 -0
  5. data/lib/univapay_client_sdk/api_helper.rb +10 -0
  6. data/lib/univapay_client_sdk/apis/base_api.rb +67 -0
  7. data/lib/univapay_client_sdk/apis/cancels_api.rb +293 -0
  8. data/lib/univapay_client_sdk/apis/charges_api.rb +903 -0
  9. data/lib/univapay_client_sdk/apis/merchants_api.rb +57 -0
  10. data/lib/univapay_client_sdk/apis/refunds_api.rb +298 -0
  11. data/lib/univapay_client_sdk/apis/stores_api.rb +126 -0
  12. data/lib/univapay_client_sdk/apis/subscriptions_api.rb +1014 -0
  13. data/lib/univapay_client_sdk/apis/transaction_tokens_api.rb +455 -0
  14. data/lib/univapay_client_sdk/apis/webhooks_api.rb +463 -0
  15. data/lib/univapay_client_sdk/client.rb +116 -0
  16. data/lib/univapay_client_sdk/configuration.rb +178 -0
  17. data/lib/univapay_client_sdk/events/unknown_event.rb +32 -0
  18. data/lib/univapay_client_sdk/events/webhooks/bank_transfer_handler.rb +37 -0
  19. data/lib/univapay_client_sdk/events/webhooks/cancel_handler.rb +37 -0
  20. data/lib/univapay_client_sdk/events/webhooks/charge_finished_handler.rb +37 -0
  21. data/lib/univapay_client_sdk/events/webhooks/charge_updated_handler.rb +37 -0
  22. data/lib/univapay_client_sdk/events/webhooks/customs_handler.rb +37 -0
  23. data/lib/univapay_client_sdk/events/webhooks/recurring_token_deleted_handler.rb +37 -0
  24. data/lib/univapay_client_sdk/events/webhooks/refund_handler.rb +37 -0
  25. data/lib/univapay_client_sdk/events/webhooks/subscription_canceled_handler.rb +37 -0
  26. data/lib/univapay_client_sdk/events/webhooks/subscription_completed_handler.rb +37 -0
  27. data/lib/univapay_client_sdk/events/webhooks/subscription_created_handler.rb +37 -0
  28. data/lib/univapay_client_sdk/events/webhooks/subscription_failure_handler.rb +37 -0
  29. data/lib/univapay_client_sdk/events/webhooks/subscription_payment_handler.rb +37 -0
  30. data/lib/univapay_client_sdk/events/webhooks/subscription_suspended_handler.rb +37 -0
  31. data/lib/univapay_client_sdk/events/webhooks/token_created_handler.rb +37 -0
  32. data/lib/univapay_client_sdk/events/webhooks/token_cvv_auth_check_updated_handler.rb +37 -0
  33. data/lib/univapay_client_sdk/events/webhooks/token_cvv_auth_updated_handler.rb +37 -0
  34. data/lib/univapay_client_sdk/events/webhooks/token_replaced_handler.rb +37 -0
  35. data/lib/univapay_client_sdk/events/webhooks/token_three_ds_updated_handler.rb +37 -0
  36. data/lib/univapay_client_sdk/events/webhooks/token_updated_handler.rb +37 -0
  37. data/lib/univapay_client_sdk/exceptions/api_error_exception.rb +199 -0
  38. data/lib/univapay_client_sdk/exceptions/api_exception.rb +21 -0
  39. data/lib/univapay_client_sdk/http/api_response.rb +19 -0
  40. data/lib/univapay_client_sdk/http/auth/oauth_2.rb +53 -0
  41. data/lib/univapay_client_sdk/http/http_call_back.rb +10 -0
  42. data/lib/univapay_client_sdk/http/http_method_enum.rb +10 -0
  43. data/lib/univapay_client_sdk/http/http_request.rb +10 -0
  44. data/lib/univapay_client_sdk/http/http_response.rb +10 -0
  45. data/lib/univapay_client_sdk/http/proxy_settings.rb +22 -0
  46. data/lib/univapay_client_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  47. data/lib/univapay_client_sdk/logging/sdk_logger.rb +17 -0
  48. data/lib/univapay_client_sdk/models/api_error_detail.rb +87 -0
  49. data/lib/univapay_client_sdk/models/api_error_status.rb +26 -0
  50. data/lib/univapay_client_sdk/models/bank_transfer_event.rb +27 -0
  51. data/lib/univapay_client_sdk/models/bank_transfer_ledger.rb +199 -0
  52. data/lib/univapay_client_sdk/models/bank_transfer_ledger_bank_ledger_type.rb +36 -0
  53. data/lib/univapay_client_sdk/models/bank_transfer_ledger_list.rb +104 -0
  54. data/lib/univapay_client_sdk/models/bank_transfer_ledger_mode.rb +36 -0
  55. data/lib/univapay_client_sdk/models/bank_transfer_payment_status.rb +44 -0
  56. data/lib/univapay_client_sdk/models/bank_transfer_status_data.rb +229 -0
  57. data/lib/univapay_client_sdk/models/bank_transfer_status_webhook_callback.rb +134 -0
  58. data/lib/univapay_client_sdk/models/bank_transfer_status_webhook_callback_extension.rb +75 -0
  59. data/lib/univapay_client_sdk/models/base_bank_transfer_data.rb +100 -0
  60. data/lib/univapay_client_sdk/models/base_konbini_data.rb +99 -0
  61. data/lib/univapay_client_sdk/models/base_konbini_data_convenience_store.rb +60 -0
  62. data/lib/univapay_client_sdk/models/base_model.rb +110 -0
  63. data/lib/univapay_client_sdk/models/base_online_data.rb +123 -0
  64. data/lib/univapay_client_sdk/models/base_online_data_brand.rb +48 -0
  65. data/lib/univapay_client_sdk/models/base_online_data_call_method.rb +52 -0
  66. data/lib/univapay_client_sdk/models/base_online_data_os_type.rb +36 -0
  67. data/lib/univapay_client_sdk/models/base_online_data_user_identifier_source.rb +36 -0
  68. data/lib/univapay_client_sdk/models/cancel.rb +183 -0
  69. data/lib/univapay_client_sdk/models/cancel_create_request.rb +77 -0
  70. data/lib/univapay_client_sdk/models/cancel_event.rb +26 -0
  71. data/lib/univapay_client_sdk/models/cancel_list.rb +94 -0
  72. data/lib/univapay_client_sdk/models/cancel_status.rb +44 -0
  73. data/lib/univapay_client_sdk/models/cancel_update_request.rb +76 -0
  74. data/lib/univapay_client_sdk/models/cancel_webhook_callback.rb +132 -0
  75. data/lib/univapay_client_sdk/models/cancel_webhook_callback_extension.rb +74 -0
  76. data/lib/univapay_client_sdk/models/card_processor_installment_config.rb +89 -0
  77. data/lib/univapay_client_sdk/models/charge.rb +411 -0
  78. data/lib/univapay_client_sdk/models/charge_capture_request.rb +84 -0
  79. data/lib/univapay_client_sdk/models/charge_create_request.rb +179 -0
  80. data/lib/univapay_client_sdk/models/charge_create_request_client_metadata.rb +76 -0
  81. data/lib/univapay_client_sdk/models/charge_create_request_redirect.rb +75 -0
  82. data/lib/univapay_client_sdk/models/charge_create_request_three_ds.rb +88 -0
  83. data/lib/univapay_client_sdk/models/charge_create_request_three_ds_mode.rb +44 -0
  84. data/lib/univapay_client_sdk/models/charge_finished_webhook_callback.rb +131 -0
  85. data/lib/univapay_client_sdk/models/charge_list.rb +104 -0
  86. data/lib/univapay_client_sdk/models/charge_mode.rb +36 -0
  87. data/lib/univapay_client_sdk/models/charge_redirect.rb +96 -0
  88. data/lib/univapay_client_sdk/models/charge_status.rb +56 -0
  89. data/lib/univapay_client_sdk/models/charge_three_ds.rb +97 -0
  90. data/lib/univapay_client_sdk/models/charge_transaction_token_type.rb +40 -0
  91. data/lib/univapay_client_sdk/models/charge_update_request.rb +75 -0
  92. data/lib/univapay_client_sdk/models/charge_updated_webhook_callback.rb +131 -0
  93. data/lib/univapay_client_sdk/models/cursor_direction_query.rb +36 -0
  94. data/lib/univapay_client_sdk/models/customs_declaration_create_request.rb +106 -0
  95. data/lib/univapay_client_sdk/models/customs_declaration_event.rb +27 -0
  96. data/lib/univapay_client_sdk/models/customs_declaration_patch_request.rb +77 -0
  97. data/lib/univapay_client_sdk/models/customs_declaration_webhook_callback.rb +135 -0
  98. data/lib/univapay_client_sdk/models/customs_declaration_webhook_callback_extension.rb +76 -0
  99. data/lib/univapay_client_sdk/models/customs_declaration_webhook_data.rb +232 -0
  100. data/lib/univapay_client_sdk/models/customs_declaration_webhook_declaration.rb +121 -0
  101. data/lib/univapay_client_sdk/models/customs_declaration_webhook_error.rb +127 -0
  102. data/lib/univapay_client_sdk/models/customs_declaration_webhook_other_error.rb +120 -0
  103. data/lib/univapay_client_sdk/models/customs_declaration_webhook_result.rb +125 -0
  104. data/lib/univapay_client_sdk/models/customs_declaration_webhook_status.rb +44 -0
  105. data/lib/univapay_client_sdk/models/generic_metadata.rb +111 -0
  106. data/lib/univapay_client_sdk/models/installment_fixed_cycles.rb +70 -0
  107. data/lib/univapay_client_sdk/models/installment_plan_type.rb +36 -0
  108. data/lib/univapay_client_sdk/models/issuer_token.rb +177 -0
  109. data/lib/univapay_client_sdk/models/issuer_token_call_method.rb +51 -0
  110. data/lib/univapay_client_sdk/models/issuer_token_payload.rb +105 -0
  111. data/lib/univapay_client_sdk/models/issuer_token_payment_type.rb +36 -0
  112. data/lib/univapay_client_sdk/models/merchant.rb +179 -0
  113. data/lib/univapay_client_sdk/models/merchant_webhook_bank_transfer_configuration.rb +342 -0
  114. data/lib/univapay_client_sdk/models/merchant_webhook_card_brand_percent_fees.rb +167 -0
  115. data/lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb +301 -0
  116. data/lib/univapay_client_sdk/models/merchant_webhook_checkout_configuration.rb +87 -0
  117. data/lib/univapay_client_sdk/models/merchant_webhook_checkout_toggle.rb +77 -0
  118. data/lib/univapay_client_sdk/models/merchant_webhook_configuration.rb +505 -0
  119. data/lib/univapay_client_sdk/models/merchant_webhook_convenience_configuration.rb +88 -0
  120. data/lib/univapay_client_sdk/models/merchant_webhook_customer_management_configuration.rb +99 -0
  121. data/lib/univapay_client_sdk/models/merchant_webhook_installment_plan_configuration.rb +139 -0
  122. data/lib/univapay_client_sdk/models/merchant_webhook_limit_charge_by_card_configuration.rb +88 -0
  123. data/lib/univapay_client_sdk/models/merchant_webhook_limit_refund_by_sales_configuration.rb +100 -0
  124. data/lib/univapay_client_sdk/models/merchant_webhook_money_amount.rb +85 -0
  125. data/lib/univapay_client_sdk/models/merchant_webhook_online_configuration.rb +77 -0
  126. data/lib/univapay_client_sdk/models/merchant_webhook_paidy_configuration.rb +77 -0
  127. data/lib/univapay_client_sdk/models/merchant_webhook_qr_merchant_configuration.rb +77 -0
  128. data/lib/univapay_client_sdk/models/merchant_webhook_qr_scan_configuration.rb +93 -0
  129. data/lib/univapay_client_sdk/models/merchant_webhook_recurring_cvv_confirmation_config.rb +97 -0
  130. data/lib/univapay_client_sdk/models/merchant_webhook_recurring_token_configuration.rb +109 -0
  131. data/lib/univapay_client_sdk/models/merchant_webhook_security_configuration.rb +234 -0
  132. data/lib/univapay_client_sdk/models/merchant_webhook_subscription_configuration.rb +138 -0
  133. data/lib/univapay_client_sdk/models/merchant_webhook_subscription_plan_configuration.rb +138 -0
  134. data/lib/univapay_client_sdk/models/merchant_webhook_transfer_schedule_configuration.rb +159 -0
  135. data/lib/univapay_client_sdk/models/merchant_webhook_user_transactions_configuration.rb +349 -0
  136. data/lib/univapay_client_sdk/models/mode_query.rb +36 -0
  137. data/lib/univapay_client_sdk/models/payment_error.rb +178 -0
  138. data/lib/univapay_client_sdk/models/plan_settings_type.rb +36 -0
  139. data/lib/univapay_client_sdk/models/recurring_token_deleted_webhook_callback.rb +132 -0
  140. data/lib/univapay_client_sdk/models/refund.rb +240 -0
  141. data/lib/univapay_client_sdk/models/refund_create_request.rb +118 -0
  142. data/lib/univapay_client_sdk/models/refund_event.rb +26 -0
  143. data/lib/univapay_client_sdk/models/refund_list.rb +104 -0
  144. data/lib/univapay_client_sdk/models/refund_reason_request.rb +42 -0
  145. data/lib/univapay_client_sdk/models/refund_reason_response.rb +62 -0
  146. data/lib/univapay_client_sdk/models/refund_status.rb +47 -0
  147. data/lib/univapay_client_sdk/models/refund_update_request.rb +99 -0
  148. data/lib/univapay_client_sdk/models/refund_webhook_callback.rb +132 -0
  149. data/lib/univapay_client_sdk/models/refund_webhook_callback_extension.rb +74 -0
  150. data/lib/univapay_client_sdk/models/restrict_ip_after_failed_charge_config.rb +99 -0
  151. data/lib/univapay_client_sdk/models/store.rb +119 -0
  152. data/lib/univapay_client_sdk/models/store_list.rb +104 -0
  153. data/lib/univapay_client_sdk/models/store_list_item.rb +114 -0
  154. data/lib/univapay_client_sdk/models/subscription.rb +310 -0
  155. data/lib/univapay_client_sdk/models/subscription_canceled_webhook_callback.rb +132 -0
  156. data/lib/univapay_client_sdk/models/subscription_completed_webhook_callback.rb +132 -0
  157. data/lib/univapay_client_sdk/models/subscription_create_request.rb +216 -0
  158. data/lib/univapay_client_sdk/models/subscription_created_webhook_callback.rb +132 -0
  159. data/lib/univapay_client_sdk/models/subscription_failure_webhook_callback.rb +132 -0
  160. data/lib/univapay_client_sdk/models/subscription_installment_plan.rb +86 -0
  161. data/lib/univapay_client_sdk/models/subscription_list.rb +104 -0
  162. data/lib/univapay_client_sdk/models/subscription_list_item.rb +352 -0
  163. data/lib/univapay_client_sdk/models/subscription_next_payment.rb +222 -0
  164. data/lib/univapay_client_sdk/models/subscription_patch_payment_request.rb +117 -0
  165. data/lib/univapay_client_sdk/models/subscription_patch_token_request.rb +79 -0
  166. data/lib/univapay_client_sdk/models/subscription_payment.rb +185 -0
  167. data/lib/univapay_client_sdk/models/subscription_payment_list.rb +94 -0
  168. data/lib/univapay_client_sdk/models/subscription_payment_webhook_callback.rb +132 -0
  169. data/lib/univapay_client_sdk/models/subscription_period.rb +56 -0
  170. data/lib/univapay_client_sdk/models/subscription_plan_settings.rb +98 -0
  171. data/lib/univapay_client_sdk/models/subscription_schedule_settings.rb +132 -0
  172. data/lib/univapay_client_sdk/models/subscription_status.rb +56 -0
  173. data/lib/univapay_client_sdk/models/subscription_suspend_request.rb +79 -0
  174. data/lib/univapay_client_sdk/models/subscription_suspended_webhook_callback.rb +132 -0
  175. data/lib/univapay_client_sdk/models/subscription_terminate_with_status.rb +36 -0
  176. data/lib/univapay_client_sdk/models/subscription_termination_mode.rb +36 -0
  177. data/lib/univapay_client_sdk/models/subscription_update_next_payment.rb +104 -0
  178. data/lib/univapay_client_sdk/models/subscription_update_request.rb +134 -0
  179. data/lib/univapay_client_sdk/models/subscription_update_schedule_settings.rb +110 -0
  180. data/lib/univapay_client_sdk/models/subscription_update_status.rb +37 -0
  181. data/lib/univapay_client_sdk/models/subscription_user_data.rb +134 -0
  182. data/lib/univapay_client_sdk/models/suspend_schedule_settings.rb +78 -0
  183. data/lib/univapay_client_sdk/models/three_ds_issuer_token.rb +116 -0
  184. data/lib/univapay_client_sdk/models/three_ds_issuer_token_call_method.rb +26 -0
  185. data/lib/univapay_client_sdk/models/three_ds_issuer_token_payment_type.rb +26 -0
  186. data/lib/univapay_client_sdk/models/token_create_bank_transfer_data.rb +122 -0
  187. data/lib/univapay_client_sdk/models/token_create_card_data.rb +231 -0
  188. data/lib/univapay_client_sdk/models/token_create_card_data_cvv_authorize.rb +95 -0
  189. data/lib/univapay_client_sdk/models/token_create_card_data_three_ds.rb +97 -0
  190. data/lib/univapay_client_sdk/models/token_create_konbini_data.rb +147 -0
  191. data/lib/univapay_client_sdk/models/token_create_online_data.rb +142 -0
  192. data/lib/univapay_client_sdk/models/token_create_phone_number.rb +104 -0
  193. data/lib/univapay_client_sdk/models/token_created_webhook_callback.rb +131 -0
  194. data/lib/univapay_client_sdk/models/token_cvv_auth_check_updated_webhook_callback.rb +132 -0
  195. data/lib/univapay_client_sdk/models/token_cvv_auth_updated_webhook_callback.rb +132 -0
  196. data/lib/univapay_client_sdk/models/token_replaced_webhook_callback.rb +131 -0
  197. data/lib/univapay_client_sdk/models/token_response_bank_transfer_data.rb +181 -0
  198. data/lib/univapay_client_sdk/models/token_response_card_data.rb +129 -0
  199. data/lib/univapay_client_sdk/models/token_response_card_data_billing.rb +153 -0
  200. data/lib/univapay_client_sdk/models/token_response_card_data_card.rb +187 -0
  201. data/lib/univapay_client_sdk/models/token_response_card_data_cvv_authorize.rb +132 -0
  202. data/lib/univapay_client_sdk/models/token_response_card_data_cvv_authorize_check.rb +118 -0
  203. data/lib/univapay_client_sdk/models/token_response_card_data_three_ds.rb +142 -0
  204. data/lib/univapay_client_sdk/models/token_response_card_data_three_ds_status.rb +48 -0
  205. data/lib/univapay_client_sdk/models/token_response_konbini_data.rb +135 -0
  206. data/lib/univapay_client_sdk/models/token_response_online_data.rb +158 -0
  207. data/lib/univapay_client_sdk/models/token_response_phone_number.rb +96 -0
  208. data/lib/univapay_client_sdk/models/token_three_ds_updated_webhook_callback.rb +132 -0
  209. data/lib/univapay_client_sdk/models/token_updated_webhook_callback.rb +131 -0
  210. data/lib/univapay_client_sdk/models/transaction_token.rb +250 -0
  211. data/lib/univapay_client_sdk/models/transaction_token_create_request.rb +161 -0
  212. data/lib/univapay_client_sdk/models/transaction_token_create_request_metadata.rb +124 -0
  213. data/lib/univapay_client_sdk/models/transaction_token_create_request_payment_type.rb +44 -0
  214. data/lib/univapay_client_sdk/models/transaction_token_create_request_type.rb +40 -0
  215. data/lib/univapay_client_sdk/models/transaction_token_list.rb +104 -0
  216. data/lib/univapay_client_sdk/models/transaction_token_list_item.rb +204 -0
  217. data/lib/univapay_client_sdk/models/transaction_token_list_item_user_data.rb +96 -0
  218. data/lib/univapay_client_sdk/models/transaction_token_mode.rb +36 -0
  219. data/lib/univapay_client_sdk/models/transaction_token_payment_type.rb +48 -0
  220. data/lib/univapay_client_sdk/models/transaction_token_type.rb +40 -0
  221. data/lib/univapay_client_sdk/models/transaction_token_update_request.rb +95 -0
  222. data/lib/univapay_client_sdk/models/transaction_token_update_request_data.rb +184 -0
  223. data/lib/univapay_client_sdk/models/transaction_token_update_request_data_phone_number.rb +86 -0
  224. data/lib/univapay_client_sdk/models/webhook.rb +191 -0
  225. data/lib/univapay_client_sdk/models/webhook_callback_envelope.rb +98 -0
  226. data/lib/univapay_client_sdk/models/webhook_create_request.rb +97 -0
  227. data/lib/univapay_client_sdk/models/webhook_event.rb +166 -0
  228. data/lib/univapay_client_sdk/models/webhook_event_list.rb +94 -0
  229. data/lib/univapay_client_sdk/models/webhook_list.rb +94 -0
  230. data/lib/univapay_client_sdk/models/webhook_trigger.rb +104 -0
  231. data/lib/univapay_client_sdk/models/webhook_update_request.rb +108 -0
  232. data/lib/univapay_client_sdk/utilities/date_time_helper.rb +11 -0
  233. data/lib/univapay_client_sdk/utilities/file_wrapper.rb +28 -0
  234. data/lib/univapay_client_sdk/utilities/union_type_lookup.rb +242 -0
  235. data/lib/univapay_client_sdk.rb +322 -0
  236. data/test/apis/api_test_base.rb +23 -0
  237. data/test/apis/test_cancels_api.rb +162 -0
  238. data/test/apis/test_charges_api.rb +564 -0
  239. data/test/apis/test_merchants_api.rb +50 -0
  240. data/test/apis/test_refunds_api.rb +172 -0
  241. data/test/apis/test_stores_api.rb +86 -0
  242. data/test/apis/test_subscriptions_api.rb +579 -0
  243. data/test/apis/test_transaction_tokens_api.rb +305 -0
  244. data/test/apis/test_webhooks_api.rb +245 -0
  245. data/test/events/webhooks/test_bank_transfer_handler.rb +95 -0
  246. data/test/events/webhooks/test_cancel_handler.rb +90 -0
  247. data/test/events/webhooks/test_charge_finished_handler.rb +95 -0
  248. data/test/events/webhooks/test_charge_updated_handler.rb +95 -0
  249. data/test/events/webhooks/test_customs_handler.rb +100 -0
  250. data/test/events/webhooks/test_recurring_token_deleted_handler.rb +92 -0
  251. data/test/events/webhooks/test_refund_handler.rb +95 -0
  252. data/test/events/webhooks/test_subscription_canceled_handler.rb +101 -0
  253. data/test/events/webhooks/test_subscription_completed_handler.rb +101 -0
  254. data/test/events/webhooks/test_subscription_created_handler.rb +101 -0
  255. data/test/events/webhooks/test_subscription_failure_handler.rb +101 -0
  256. data/test/events/webhooks/test_subscription_payment_handler.rb +101 -0
  257. data/test/events/webhooks/test_subscription_suspended_handler.rb +101 -0
  258. data/test/events/webhooks/test_token_created_handler.rb +92 -0
  259. data/test/events/webhooks/test_token_cvv_auth_check_updated_handler.rb +92 -0
  260. data/test/events/webhooks/test_token_cvv_auth_updated_handler.rb +92 -0
  261. data/test/events/webhooks/test_token_replaced_handler.rb +92 -0
  262. data/test/events/webhooks/test_token_three_ds_updated_handler.rb +92 -0
  263. data/test/events/webhooks/test_token_updated_handler.rb +92 -0
  264. data/test/framework_integrations/rails_app_test_helper.rb +14 -0
  265. data/test/framework_integrations/webhooks/apps/hanami_charge_updated_app.rb +61 -0
  266. data/test/framework_integrations/webhooks/apps/rails_charge_updated_app.rb +24 -0
  267. data/test/framework_integrations/webhooks/apps/sinatra_charge_updated_app.rb +27 -0
  268. data/test/framework_integrations/webhooks/test/test_hanami_charge_updated_app.rb +57 -0
  269. data/test/framework_integrations/webhooks/test/test_rails_charge_updated_app.rb +57 -0
  270. data/test/framework_integrations/webhooks/test/test_sinatra_charge_updated_app.rb +58 -0
  271. data/test/http_response_catcher.rb +19 -0
  272. metadata +397 -0
@@ -0,0 +1,77 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module UnivapayClientSdk
7
+ # QR merchant payment settings.
8
+ class MerchantWebhookQrMerchantConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Enables QR merchant payment flows.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :enabled
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['enabled'] = 'enabled'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ enabled
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ %w[
33
+ enabled
34
+ ]
35
+ end
36
+
37
+ def initialize(enabled: SKIP, additional_properties: nil)
38
+ # Add additional model properties to the instance
39
+ additional_properties = {} if additional_properties.nil?
40
+
41
+ @enabled = enabled unless enabled == SKIP
42
+ @additional_properties = additional_properties
43
+ end
44
+
45
+ # Creates an instance of the object from a hash.
46
+ def self.from_hash(hash)
47
+ return nil unless hash
48
+
49
+ # Extract variables from the hash.
50
+ enabled = hash.key?('enabled') ? hash['enabled'] : SKIP
51
+
52
+ # Create a new hash for additional properties, removing known properties.
53
+ new_hash = hash.reject { |k, _| names.value?(k) }
54
+
55
+ additional_properties = APIHelper.get_additional_properties(
56
+ new_hash, proc { |value| value }
57
+ )
58
+
59
+ # Create object from extracted values.
60
+ MerchantWebhookQrMerchantConfiguration.new(enabled: enabled,
61
+ additional_properties: additional_properties)
62
+ end
63
+
64
+ # Provides a human-readable string representation of the object.
65
+ def to_s
66
+ class_name = self.class.name.split('::').last
67
+ "<#{class_name} enabled: #{@enabled}, additional_properties: #{@additional_properties}>"
68
+ end
69
+
70
+ # Provides a debugging-friendly string with detailed object information.
71
+ def inspect
72
+ class_name = self.class.name.split('::').last
73
+ "<#{class_name} enabled: #{@enabled.inspect}, additional_properties:"\
74
+ " #{@additional_properties}>"
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,93 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module UnivapayClientSdk
7
+ # QR scan payment settings.
8
+ class MerchantWebhookQrScanConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Enables QR scan payments.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :enabled
15
+
16
+ # QR scan gateways disabled for the merchant.
17
+ # @return [Array[String]]
18
+ attr_accessor :forbidden_qr_scan_gateways
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['enabled'] = 'enabled'
24
+ @_hash['forbidden_qr_scan_gateways'] = 'forbidden_qr_scan_gateways'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ enabled
32
+ forbidden_qr_scan_gateways
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ %w[
39
+ enabled
40
+ forbidden_qr_scan_gateways
41
+ ]
42
+ end
43
+
44
+ def initialize(enabled: SKIP, forbidden_qr_scan_gateways: SKIP,
45
+ additional_properties: nil)
46
+ # Add additional model properties to the instance
47
+ additional_properties = {} if additional_properties.nil?
48
+
49
+ @enabled = enabled unless enabled == SKIP
50
+ unless forbidden_qr_scan_gateways == SKIP
51
+ @forbidden_qr_scan_gateways =
52
+ forbidden_qr_scan_gateways
53
+ end
54
+ @additional_properties = additional_properties
55
+ end
56
+
57
+ # Creates an instance of the object from a hash.
58
+ def self.from_hash(hash)
59
+ return nil unless hash
60
+
61
+ # Extract variables from the hash.
62
+ enabled = hash.key?('enabled') ? hash['enabled'] : SKIP
63
+ forbidden_qr_scan_gateways =
64
+ hash.key?('forbidden_qr_scan_gateways') ? hash['forbidden_qr_scan_gateways'] : SKIP
65
+
66
+ # Create a new hash for additional properties, removing known properties.
67
+ new_hash = hash.reject { |k, _| names.value?(k) }
68
+
69
+ additional_properties = APIHelper.get_additional_properties(
70
+ new_hash, proc { |value| value }
71
+ )
72
+
73
+ # Create object from extracted values.
74
+ MerchantWebhookQrScanConfiguration.new(enabled: enabled,
75
+ forbidden_qr_scan_gateways: forbidden_qr_scan_gateways,
76
+ additional_properties: additional_properties)
77
+ end
78
+
79
+ # Provides a human-readable string representation of the object.
80
+ def to_s
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} enabled: #{@enabled}, forbidden_qr_scan_gateways:"\
83
+ " #{@forbidden_qr_scan_gateways}, additional_properties: #{@additional_properties}>"
84
+ end
85
+
86
+ # Provides a debugging-friendly string with detailed object information.
87
+ def inspect
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} enabled: #{@enabled.inspect}, forbidden_qr_scan_gateways:"\
90
+ " #{@forbidden_qr_scan_gateways.inspect}, additional_properties: #{@additional_properties}>"
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,97 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module UnivapayClientSdk
7
+ # CVV confirmation rules for recurring token charges.
8
+ class MerchantWebhookRecurringCvvConfirmationConfig < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Enables recurring-charge CVV confirmation checks.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :enabled
15
+
16
+ # Amount thresholds that trigger CVV confirmation.
17
+ # @return [Array[MerchantWebhookMoneyAmount]]
18
+ attr_accessor :threshold
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['enabled'] = 'enabled'
24
+ @_hash['threshold'] = 'threshold'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ enabled
32
+ threshold
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ %w[
39
+ enabled
40
+ threshold
41
+ ]
42
+ end
43
+
44
+ def initialize(enabled: SKIP, threshold: SKIP, additional_properties: nil)
45
+ # Add additional model properties to the instance
46
+ additional_properties = {} if additional_properties.nil?
47
+
48
+ @enabled = enabled unless enabled == SKIP
49
+ @threshold = threshold unless threshold == SKIP
50
+ @additional_properties = additional_properties
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ enabled = hash.key?('enabled') ? hash['enabled'] : SKIP
59
+ # Parameter is an array, so we need to iterate through it
60
+ threshold = nil
61
+ unless hash['threshold'].nil?
62
+ threshold = []
63
+ hash['threshold'].each do |structure|
64
+ threshold << (MerchantWebhookMoneyAmount.from_hash(structure) if structure)
65
+ end
66
+ end
67
+
68
+ threshold = SKIP unless hash.key?('threshold')
69
+
70
+ # Create a new hash for additional properties, removing known properties.
71
+ new_hash = hash.reject { |k, _| names.value?(k) }
72
+
73
+ additional_properties = APIHelper.get_additional_properties(
74
+ new_hash, proc { |value| value }
75
+ )
76
+
77
+ # Create object from extracted values.
78
+ MerchantWebhookRecurringCvvConfirmationConfig.new(enabled: enabled,
79
+ threshold: threshold,
80
+ additional_properties: additional_properties)
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} enabled: #{@enabled}, threshold: #{@threshold}, additional_properties:"\
87
+ " #{@additional_properties}>"
88
+ end
89
+
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} enabled: #{@enabled.inspect}, threshold: #{@threshold.inspect},"\
94
+ " additional_properties: #{@additional_properties}>"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,109 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module UnivapayClientSdk
7
+ # Recurring token configuration inherited by the merchant.
8
+ class MerchantWebhookRecurringTokenConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Merchant recurring-token privilege.
13
+ # @return [String]
14
+ attr_accessor :recurring_type
15
+
16
+ # ISO-8601 duration to wait before first recurring charge.
17
+ # @return [String]
18
+ attr_accessor :charge_wait_period
19
+
20
+ # CVV confirmation rules for recurring token charges.
21
+ # @return [MerchantWebhookRecurringCvvConfirmationConfig]
22
+ attr_accessor :card_charge_cvv_confirmation
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['recurring_type'] = 'recurring_type'
28
+ @_hash['charge_wait_period'] = 'charge_wait_period'
29
+ @_hash['card_charge_cvv_confirmation'] = 'card_charge_cvv_confirmation'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ recurring_type
37
+ charge_wait_period
38
+ card_charge_cvv_confirmation
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ %w[
45
+ recurring_type
46
+ charge_wait_period
47
+ ]
48
+ end
49
+
50
+ def initialize(recurring_type: SKIP, charge_wait_period: SKIP,
51
+ card_charge_cvv_confirmation: SKIP,
52
+ additional_properties: nil)
53
+ # Add additional model properties to the instance
54
+ additional_properties = {} if additional_properties.nil?
55
+
56
+ @recurring_type = recurring_type unless recurring_type == SKIP
57
+ @charge_wait_period = charge_wait_period unless charge_wait_period == SKIP
58
+ unless card_charge_cvv_confirmation == SKIP
59
+ @card_charge_cvv_confirmation =
60
+ card_charge_cvv_confirmation
61
+ end
62
+ @additional_properties = additional_properties
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ recurring_type =
71
+ hash.key?('recurring_type') ? hash['recurring_type'] : SKIP
72
+ charge_wait_period =
73
+ hash.key?('charge_wait_period') ? hash['charge_wait_period'] : SKIP
74
+ if hash['card_charge_cvv_confirmation']
75
+ card_charge_cvv_confirmation = MerchantWebhookRecurringCvvConfirmationConfig.from_hash(hash['card_charge_cvv_confirmation'])
76
+ end
77
+
78
+ # Create a new hash for additional properties, removing known properties.
79
+ new_hash = hash.reject { |k, _| names.value?(k) }
80
+
81
+ additional_properties = APIHelper.get_additional_properties(
82
+ new_hash, proc { |value| value }
83
+ )
84
+
85
+ # Create object from extracted values.
86
+ MerchantWebhookRecurringTokenConfiguration.new(recurring_type: recurring_type,
87
+ charge_wait_period: charge_wait_period,
88
+ card_charge_cvv_confirmation: card_charge_cvv_confirmation,
89
+ additional_properties: additional_properties)
90
+ end
91
+
92
+ # Provides a human-readable string representation of the object.
93
+ def to_s
94
+ class_name = self.class.name.split('::').last
95
+ "<#{class_name} recurring_type: #{@recurring_type}, charge_wait_period:"\
96
+ " #{@charge_wait_period}, card_charge_cvv_confirmation: #{@card_charge_cvv_confirmation},"\
97
+ " additional_properties: #{@additional_properties}>"
98
+ end
99
+
100
+ # Provides a debugging-friendly string with detailed object information.
101
+ def inspect
102
+ class_name = self.class.name.split('::').last
103
+ "<#{class_name} recurring_type: #{@recurring_type.inspect}, charge_wait_period:"\
104
+ " #{@charge_wait_period.inspect}, card_charge_cvv_confirmation:"\
105
+ " #{@card_charge_cvv_confirmation.inspect}, additional_properties:"\
106
+ " #{@additional_properties}>"
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,234 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module UnivapayClientSdk
7
+ # Merchant-level fraud and refund safety settings.
8
+ class MerchantWebhookSecurityConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # ISO-8601 duration between card charge attempts.
13
+ # @return [String]
14
+ attr_accessor :card_charge_cooldown
15
+
16
+ # ISO-8601 duration between subscription charge attempts.
17
+ # @return [String]
18
+ attr_accessor :subscription_cooldown
19
+
20
+ # ISO-8601 duration for reusing an idempotent card charge key.
21
+ # @return [String]
22
+ attr_accessor :idempotent_card_charge_cooldown
23
+
24
+ # ISO-8601 duration for reusing an idempotent subscription key.
25
+ # @return [String]
26
+ attr_accessor :idempotent_subscription_cooldown
27
+
28
+ # IP restriction policy applied after repeated failed charges.
29
+ # @return [RestrictIpAfterFailedChargeConfig]
30
+ attr_accessor :restrict_ip_after_failed_charge
31
+
32
+ # Look-back period used to review suspicious login activity.
33
+ # @return [String]
34
+ attr_accessor :inspect_suspicious_login_after
35
+
36
+ # Maximum refund-to-sales percentage allowed before restriction.
37
+ # @return [Float]
38
+ attr_accessor :refund_percent_limit
39
+
40
+ # Per-card velocity limit configuration.
41
+ # @return [MerchantWebhookLimitChargeByCardConfiguration]
42
+ attr_accessor :limit_charge_by_card_configuration
43
+
44
+ # Requires confirmation before protected refund actions proceed.
45
+ # @return [TrueClass | FalseClass]
46
+ attr_accessor :confirmation_required
47
+
48
+ # Minimum refund amount, in minor units, subject to confirmation checks.
49
+ # @return [Integer]
50
+ attr_accessor :min_refund_threshold
51
+
52
+ # Refund-limiting configuration based on sales history.
53
+ # @return [MerchantWebhookLimitRefundBySalesConfiguration]
54
+ attr_accessor :limit_refund_by_sales
55
+
56
+ # A mapping from model property names to API property names.
57
+ def self.names
58
+ @_hash = {} if @_hash.nil?
59
+ @_hash['card_charge_cooldown'] = 'card_charge_cooldown'
60
+ @_hash['subscription_cooldown'] = 'subscription_cooldown'
61
+ @_hash['idempotent_card_charge_cooldown'] =
62
+ 'idempotent_card_charge_cooldown'
63
+ @_hash['idempotent_subscription_cooldown'] =
64
+ 'idempotent_subscription_cooldown'
65
+ @_hash['restrict_ip_after_failed_charge'] =
66
+ 'restrict_ip_after_failed_charge'
67
+ @_hash['inspect_suspicious_login_after'] =
68
+ 'inspect_suspicious_login_after'
69
+ @_hash['refund_percent_limit'] = 'refund_percent_limit'
70
+ @_hash['limit_charge_by_card_configuration'] =
71
+ 'limit_charge_by_card_configuration'
72
+ @_hash['confirmation_required'] = 'confirmation_required'
73
+ @_hash['min_refund_threshold'] = 'min_refund_threshold'
74
+ @_hash['limit_refund_by_sales'] = 'limit_refund_by_sales'
75
+ @_hash
76
+ end
77
+
78
+ # An array for optional fields
79
+ def self.optionals
80
+ %w[
81
+ card_charge_cooldown
82
+ subscription_cooldown
83
+ idempotent_card_charge_cooldown
84
+ idempotent_subscription_cooldown
85
+ restrict_ip_after_failed_charge
86
+ inspect_suspicious_login_after
87
+ refund_percent_limit
88
+ limit_charge_by_card_configuration
89
+ confirmation_required
90
+ min_refund_threshold
91
+ limit_refund_by_sales
92
+ ]
93
+ end
94
+
95
+ # An array for nullable fields
96
+ def self.nullables
97
+ %w[
98
+ card_charge_cooldown
99
+ subscription_cooldown
100
+ idempotent_card_charge_cooldown
101
+ idempotent_subscription_cooldown
102
+ inspect_suspicious_login_after
103
+ refund_percent_limit
104
+ confirmation_required
105
+ min_refund_threshold
106
+ ]
107
+ end
108
+
109
+ def initialize(card_charge_cooldown: SKIP, subscription_cooldown: SKIP,
110
+ idempotent_card_charge_cooldown: SKIP,
111
+ idempotent_subscription_cooldown: SKIP,
112
+ restrict_ip_after_failed_charge: SKIP,
113
+ inspect_suspicious_login_after: SKIP,
114
+ refund_percent_limit: SKIP,
115
+ limit_charge_by_card_configuration: SKIP,
116
+ confirmation_required: SKIP, min_refund_threshold: SKIP,
117
+ limit_refund_by_sales: SKIP, additional_properties: nil)
118
+ # Add additional model properties to the instance
119
+ additional_properties = {} if additional_properties.nil?
120
+
121
+ @card_charge_cooldown = card_charge_cooldown unless card_charge_cooldown == SKIP
122
+ @subscription_cooldown = subscription_cooldown unless subscription_cooldown == SKIP
123
+ unless idempotent_card_charge_cooldown == SKIP
124
+ @idempotent_card_charge_cooldown =
125
+ idempotent_card_charge_cooldown
126
+ end
127
+ unless idempotent_subscription_cooldown == SKIP
128
+ @idempotent_subscription_cooldown =
129
+ idempotent_subscription_cooldown
130
+ end
131
+ unless restrict_ip_after_failed_charge == SKIP
132
+ @restrict_ip_after_failed_charge =
133
+ restrict_ip_after_failed_charge
134
+ end
135
+ unless inspect_suspicious_login_after == SKIP
136
+ @inspect_suspicious_login_after =
137
+ inspect_suspicious_login_after
138
+ end
139
+ @refund_percent_limit = refund_percent_limit unless refund_percent_limit == SKIP
140
+ unless limit_charge_by_card_configuration == SKIP
141
+ @limit_charge_by_card_configuration =
142
+ limit_charge_by_card_configuration
143
+ end
144
+ @confirmation_required = confirmation_required unless confirmation_required == SKIP
145
+ @min_refund_threshold = min_refund_threshold unless min_refund_threshold == SKIP
146
+ @limit_refund_by_sales = limit_refund_by_sales unless limit_refund_by_sales == SKIP
147
+ @additional_properties = additional_properties
148
+ end
149
+
150
+ # Creates an instance of the object from a hash.
151
+ def self.from_hash(hash)
152
+ return nil unless hash
153
+
154
+ # Extract variables from the hash.
155
+ card_charge_cooldown =
156
+ hash.key?('card_charge_cooldown') ? hash['card_charge_cooldown'] : SKIP
157
+ subscription_cooldown =
158
+ hash.key?('subscription_cooldown') ? hash['subscription_cooldown'] : SKIP
159
+ idempotent_card_charge_cooldown =
160
+ hash.key?('idempotent_card_charge_cooldown') ? hash['idempotent_card_charge_cooldown'] : SKIP
161
+ idempotent_subscription_cooldown =
162
+ hash.key?('idempotent_subscription_cooldown') ? hash['idempotent_subscription_cooldown'] : SKIP
163
+ if hash['restrict_ip_after_failed_charge']
164
+ restrict_ip_after_failed_charge = RestrictIpAfterFailedChargeConfig.from_hash(hash['restrict_ip_after_failed_charge'])
165
+ end
166
+ inspect_suspicious_login_after =
167
+ hash.key?('inspect_suspicious_login_after') ? hash['inspect_suspicious_login_after'] : SKIP
168
+ refund_percent_limit =
169
+ hash.key?('refund_percent_limit') ? hash['refund_percent_limit'] : SKIP
170
+ if hash['limit_charge_by_card_configuration']
171
+ limit_charge_by_card_configuration = MerchantWebhookLimitChargeByCardConfiguration.from_hash(hash['limit_charge_by_card_configuration'])
172
+ end
173
+ confirmation_required =
174
+ hash.key?('confirmation_required') ? hash['confirmation_required'] : SKIP
175
+ min_refund_threshold =
176
+ hash.key?('min_refund_threshold') ? hash['min_refund_threshold'] : SKIP
177
+ if hash['limit_refund_by_sales']
178
+ limit_refund_by_sales = MerchantWebhookLimitRefundBySalesConfiguration.from_hash(hash['limit_refund_by_sales'])
179
+ end
180
+
181
+ # Create a new hash for additional properties, removing known properties.
182
+ new_hash = hash.reject { |k, _| names.value?(k) }
183
+
184
+ additional_properties = APIHelper.get_additional_properties(
185
+ new_hash, proc { |value| value }
186
+ )
187
+
188
+ # Create object from extracted values.
189
+ MerchantWebhookSecurityConfiguration.new(card_charge_cooldown: card_charge_cooldown,
190
+ subscription_cooldown: subscription_cooldown,
191
+ idempotent_card_charge_cooldown: idempotent_card_charge_cooldown,
192
+ idempotent_subscription_cooldown: idempotent_subscription_cooldown,
193
+ restrict_ip_after_failed_charge: restrict_ip_after_failed_charge,
194
+ inspect_suspicious_login_after: inspect_suspicious_login_after,
195
+ refund_percent_limit: refund_percent_limit,
196
+ limit_charge_by_card_configuration: limit_charge_by_card_configuration,
197
+ confirmation_required: confirmation_required,
198
+ min_refund_threshold: min_refund_threshold,
199
+ limit_refund_by_sales: limit_refund_by_sales,
200
+ additional_properties: additional_properties)
201
+ end
202
+
203
+ # Provides a human-readable string representation of the object.
204
+ def to_s
205
+ class_name = self.class.name.split('::').last
206
+ "<#{class_name} card_charge_cooldown: #{@card_charge_cooldown}, subscription_cooldown:"\
207
+ " #{@subscription_cooldown}, idempotent_card_charge_cooldown:"\
208
+ " #{@idempotent_card_charge_cooldown}, idempotent_subscription_cooldown:"\
209
+ " #{@idempotent_subscription_cooldown}, restrict_ip_after_failed_charge:"\
210
+ " #{@restrict_ip_after_failed_charge}, inspect_suspicious_login_after:"\
211
+ " #{@inspect_suspicious_login_after}, refund_percent_limit: #{@refund_percent_limit},"\
212
+ " limit_charge_by_card_configuration: #{@limit_charge_by_card_configuration},"\
213
+ " confirmation_required: #{@confirmation_required}, min_refund_threshold:"\
214
+ " #{@min_refund_threshold}, limit_refund_by_sales: #{@limit_refund_by_sales},"\
215
+ " additional_properties: #{@additional_properties}>"
216
+ end
217
+
218
+ # Provides a debugging-friendly string with detailed object information.
219
+ def inspect
220
+ class_name = self.class.name.split('::').last
221
+ "<#{class_name} card_charge_cooldown: #{@card_charge_cooldown.inspect},"\
222
+ " subscription_cooldown: #{@subscription_cooldown.inspect}, idempotent_card_charge_cooldown:"\
223
+ " #{@idempotent_card_charge_cooldown.inspect}, idempotent_subscription_cooldown:"\
224
+ " #{@idempotent_subscription_cooldown.inspect}, restrict_ip_after_failed_charge:"\
225
+ " #{@restrict_ip_after_failed_charge.inspect}, inspect_suspicious_login_after:"\
226
+ " #{@inspect_suspicious_login_after.inspect}, refund_percent_limit:"\
227
+ " #{@refund_percent_limit.inspect}, limit_charge_by_card_configuration:"\
228
+ " #{@limit_charge_by_card_configuration.inspect}, confirmation_required:"\
229
+ " #{@confirmation_required.inspect}, min_refund_threshold: #{@min_refund_threshold.inspect},"\
230
+ " limit_refund_by_sales: #{@limit_refund_by_sales.inspect}, additional_properties:"\
231
+ " #{@additional_properties}>"
232
+ end
233
+ end
234
+ end