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,184 @@
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
+ # Transaction Token Update Request Data schema.
8
+ class TransactionTokenUpdateRequestData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Update if RECURRING_USAGE_REQUIRES_CVV error occurs.
13
+ # @return [String]
14
+ attr_accessor :cvv
15
+
16
+ # Cardholder name.
17
+ # @return [String]
18
+ attr_accessor :cardholder
19
+
20
+ # Card number.
21
+ # @return [String]
22
+ attr_accessor :card_number
23
+
24
+ # Card expiration month.
25
+ # @return [Integer]
26
+ attr_accessor :exp_month
27
+
28
+ # Card expiration year.
29
+ # @return [Integer]
30
+ attr_accessor :exp_year
31
+
32
+ # Primary street address line.
33
+ # @return [String]
34
+ attr_accessor :line1
35
+
36
+ # Secondary street address line.
37
+ # @return [String]
38
+ attr_accessor :line2
39
+
40
+ # State or prefecture.
41
+ # @return [String]
42
+ attr_accessor :state
43
+
44
+ # City or locality.
45
+ # @return [String]
46
+ attr_accessor :city
47
+
48
+ # Country code.
49
+ # @return [String]
50
+ attr_accessor :country
51
+
52
+ # Postal code.
53
+ # @return [String]
54
+ attr_accessor :zip
55
+
56
+ # Transaction Token Update Request Data Phone Number schema.
57
+ # @return [TransactionTokenUpdateRequestDataPhoneNumber]
58
+ attr_accessor :phone_number
59
+
60
+ # A mapping from model property names to API property names.
61
+ def self.names
62
+ @_hash = {} if @_hash.nil?
63
+ @_hash['cvv'] = 'cvv'
64
+ @_hash['cardholder'] = 'cardholder'
65
+ @_hash['card_number'] = 'card_number'
66
+ @_hash['exp_month'] = 'exp_month'
67
+ @_hash['exp_year'] = 'exp_year'
68
+ @_hash['line1'] = 'line1'
69
+ @_hash['line2'] = 'line2'
70
+ @_hash['state'] = 'state'
71
+ @_hash['city'] = 'city'
72
+ @_hash['country'] = 'country'
73
+ @_hash['zip'] = 'zip'
74
+ @_hash['phone_number'] = 'phone_number'
75
+ @_hash
76
+ end
77
+
78
+ # An array for optional fields
79
+ def self.optionals
80
+ %w[
81
+ cvv
82
+ cardholder
83
+ card_number
84
+ exp_month
85
+ exp_year
86
+ line1
87
+ line2
88
+ state
89
+ city
90
+ country
91
+ zip
92
+ phone_number
93
+ ]
94
+ end
95
+
96
+ # An array for nullable fields
97
+ def self.nullables
98
+ []
99
+ end
100
+
101
+ def initialize(cvv: SKIP, cardholder: SKIP, card_number: SKIP,
102
+ exp_month: SKIP, exp_year: SKIP, line1: SKIP, line2: SKIP,
103
+ state: SKIP, city: SKIP, country: SKIP, zip: SKIP,
104
+ phone_number: SKIP, additional_properties: nil)
105
+ # Add additional model properties to the instance
106
+ additional_properties = {} if additional_properties.nil?
107
+
108
+ @cvv = cvv unless cvv == SKIP
109
+ @cardholder = cardholder unless cardholder == SKIP
110
+ @card_number = card_number unless card_number == SKIP
111
+ @exp_month = exp_month unless exp_month == SKIP
112
+ @exp_year = exp_year unless exp_year == SKIP
113
+ @line1 = line1 unless line1 == SKIP
114
+ @line2 = line2 unless line2 == SKIP
115
+ @state = state unless state == SKIP
116
+ @city = city unless city == SKIP
117
+ @country = country unless country == SKIP
118
+ @zip = zip unless zip == SKIP
119
+ @phone_number = phone_number unless phone_number == SKIP
120
+ @additional_properties = additional_properties
121
+ end
122
+
123
+ # Creates an instance of the object from a hash.
124
+ def self.from_hash(hash)
125
+ return nil unless hash
126
+
127
+ # Extract variables from the hash.
128
+ cvv = hash.key?('cvv') ? hash['cvv'] : SKIP
129
+ cardholder = hash.key?('cardholder') ? hash['cardholder'] : SKIP
130
+ card_number = hash.key?('card_number') ? hash['card_number'] : SKIP
131
+ exp_month = hash.key?('exp_month') ? hash['exp_month'] : SKIP
132
+ exp_year = hash.key?('exp_year') ? hash['exp_year'] : SKIP
133
+ line1 = hash.key?('line1') ? hash['line1'] : SKIP
134
+ line2 = hash.key?('line2') ? hash['line2'] : SKIP
135
+ state = hash.key?('state') ? hash['state'] : SKIP
136
+ city = hash.key?('city') ? hash['city'] : SKIP
137
+ country = hash.key?('country') ? hash['country'] : SKIP
138
+ zip = hash.key?('zip') ? hash['zip'] : SKIP
139
+ phone_number = TransactionTokenUpdateRequestDataPhoneNumber.from_hash(hash['phone_number']) if
140
+ hash['phone_number']
141
+
142
+ # Create a new hash for additional properties, removing known properties.
143
+ new_hash = hash.reject { |k, _| names.value?(k) }
144
+
145
+ additional_properties = APIHelper.get_additional_properties(
146
+ new_hash, proc { |value| value }
147
+ )
148
+
149
+ # Create object from extracted values.
150
+ TransactionTokenUpdateRequestData.new(cvv: cvv,
151
+ cardholder: cardholder,
152
+ card_number: card_number,
153
+ exp_month: exp_month,
154
+ exp_year: exp_year,
155
+ line1: line1,
156
+ line2: line2,
157
+ state: state,
158
+ city: city,
159
+ country: country,
160
+ zip: zip,
161
+ phone_number: phone_number,
162
+ additional_properties: additional_properties)
163
+ end
164
+
165
+ # Provides a human-readable string representation of the object.
166
+ def to_s
167
+ class_name = self.class.name.split('::').last
168
+ "<#{class_name} cvv: #{@cvv}, cardholder: #{@cardholder}, card_number: #{@card_number},"\
169
+ " exp_month: #{@exp_month}, exp_year: #{@exp_year}, line1: #{@line1}, line2: #{@line2},"\
170
+ " state: #{@state}, city: #{@city}, country: #{@country}, zip: #{@zip}, phone_number:"\
171
+ " #{@phone_number}, additional_properties: #{@additional_properties}>"
172
+ end
173
+
174
+ # Provides a debugging-friendly string with detailed object information.
175
+ def inspect
176
+ class_name = self.class.name.split('::').last
177
+ "<#{class_name} cvv: #{@cvv.inspect}, cardholder: #{@cardholder.inspect}, card_number:"\
178
+ " #{@card_number.inspect}, exp_month: #{@exp_month.inspect}, exp_year: #{@exp_year.inspect},"\
179
+ " line1: #{@line1.inspect}, line2: #{@line2.inspect}, state: #{@state.inspect}, city:"\
180
+ " #{@city.inspect}, country: #{@country.inspect}, zip: #{@zip.inspect}, phone_number:"\
181
+ " #{@phone_number.inspect}, additional_properties: #{@additional_properties}>"
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,86 @@
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
+ # Transaction Token Update Request Data Phone Number schema.
8
+ class TransactionTokenUpdateRequestDataPhoneNumber < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Telephone country code.
13
+ # @return [String]
14
+ attr_accessor :country_code
15
+
16
+ # Local phone number.
17
+ # @return [String]
18
+ attr_accessor :local_number
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['country_code'] = 'country_code'
24
+ @_hash['local_number'] = 'local_number'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ country_code
32
+ local_number
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(country_code: SKIP, local_number: SKIP,
42
+ additional_properties: nil)
43
+ # Add additional model properties to the instance
44
+ additional_properties = {} if additional_properties.nil?
45
+
46
+ @country_code = country_code unless country_code == SKIP
47
+ @local_number = local_number unless local_number == SKIP
48
+ @additional_properties = additional_properties
49
+ end
50
+
51
+ # Creates an instance of the object from a hash.
52
+ def self.from_hash(hash)
53
+ return nil unless hash
54
+
55
+ # Extract variables from the hash.
56
+ country_code = hash.key?('country_code') ? hash['country_code'] : SKIP
57
+ local_number = hash.key?('local_number') ? hash['local_number'] : SKIP
58
+
59
+ # Create a new hash for additional properties, removing known properties.
60
+ new_hash = hash.reject { |k, _| names.value?(k) }
61
+
62
+ additional_properties = APIHelper.get_additional_properties(
63
+ new_hash, proc { |value| value }
64
+ )
65
+
66
+ # Create object from extracted values.
67
+ TransactionTokenUpdateRequestDataPhoneNumber.new(country_code: country_code,
68
+ local_number: local_number,
69
+ additional_properties: additional_properties)
70
+ end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} country_code: #{@country_code}, local_number: #{@local_number},"\
76
+ " additional_properties: #{@additional_properties}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} country_code: #{@country_code.inspect}, local_number:"\
83
+ " #{@local_number.inspect}, additional_properties: #{@additional_properties}>"
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,191 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module UnivapayClientSdk
8
+ # Represents a webhook subscription. Webhooks send event notifications to a
9
+ # specified URL when triggered by payment events.
10
+ class Webhook < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # Unique identifier for the webhook.
15
+ # @return [UUID | String]
16
+ attr_accessor :id
17
+
18
+ # ID of the store this webhook belongs to (null for merchant-level
19
+ # webhooks).
20
+ # @return [UUID | String]
21
+ attr_accessor :store_id
22
+
23
+ # ID of the merchant this webhook belongs to.
24
+ # @return [UUID | String]
25
+ attr_accessor :merchant_id
26
+
27
+ # List of event types that trigger this webhook.
28
+ # @return [Array[WebhookTrigger]]
29
+ attr_accessor :triggers
30
+
31
+ # The endpoint URL that receives webhook POST requests.
32
+ # @return [String]
33
+ attr_accessor :url
34
+
35
+ # Optional bearer token included in the `Authorization` header of webhook
36
+ # requests. Used to authenticate the webhook receiver.
37
+ # @return [String]
38
+ attr_accessor :auth_token
39
+
40
+ # Whether this webhook is currently active and receiving events.
41
+ # @return [TrueClass | FalseClass]
42
+ attr_accessor :active
43
+
44
+ # Admin-only flag. Indicates this webhook is used for platform integration
45
+ # purposes. Not settable by merchants.
46
+ # @return [TrueClass | FalseClass]
47
+ attr_accessor :is_integration
48
+
49
+ # Timestamp when the webhook was created.
50
+ # @return [DateTime]
51
+ attr_accessor :created_on
52
+
53
+ # Timestamp when the webhook was last updated.
54
+ # @return [DateTime]
55
+ attr_accessor :updated_on
56
+
57
+ # A mapping from model property names to API property names.
58
+ def self.names
59
+ @_hash = {} if @_hash.nil?
60
+ @_hash['id'] = 'id'
61
+ @_hash['store_id'] = 'store_id'
62
+ @_hash['merchant_id'] = 'merchant_id'
63
+ @_hash['triggers'] = 'triggers'
64
+ @_hash['url'] = 'url'
65
+ @_hash['auth_token'] = 'auth_token'
66
+ @_hash['active'] = 'active'
67
+ @_hash['is_integration'] = 'is_integration'
68
+ @_hash['created_on'] = 'created_on'
69
+ @_hash['updated_on'] = 'updated_on'
70
+ @_hash
71
+ end
72
+
73
+ # An array for optional fields
74
+ def self.optionals
75
+ %w[
76
+ id
77
+ store_id
78
+ merchant_id
79
+ triggers
80
+ url
81
+ auth_token
82
+ active
83
+ is_integration
84
+ created_on
85
+ updated_on
86
+ ]
87
+ end
88
+
89
+ # An array for nullable fields
90
+ def self.nullables
91
+ %w[
92
+ store_id
93
+ merchant_id
94
+ auth_token
95
+ ]
96
+ end
97
+
98
+ def initialize(id: SKIP, store_id: SKIP, merchant_id: SKIP, triggers: SKIP,
99
+ url: SKIP, auth_token: SKIP, active: SKIP,
100
+ is_integration: SKIP, created_on: SKIP, updated_on: SKIP,
101
+ additional_properties: nil)
102
+ # Add additional model properties to the instance
103
+ additional_properties = {} if additional_properties.nil?
104
+
105
+ @id = id unless id == SKIP
106
+ @store_id = store_id unless store_id == SKIP
107
+ @merchant_id = merchant_id unless merchant_id == SKIP
108
+ @triggers = triggers unless triggers == SKIP
109
+ @url = url unless url == SKIP
110
+ @auth_token = auth_token unless auth_token == SKIP
111
+ @active = active unless active == SKIP
112
+ @is_integration = is_integration unless is_integration == SKIP
113
+ @created_on = created_on unless created_on == SKIP
114
+ @updated_on = updated_on unless updated_on == SKIP
115
+ @additional_properties = additional_properties
116
+ end
117
+
118
+ # Creates an instance of the object from a hash.
119
+ def self.from_hash(hash)
120
+ return nil unless hash
121
+
122
+ # Extract variables from the hash.
123
+ id = hash.key?('id') ? hash['id'] : SKIP
124
+ store_id = hash.key?('store_id') ? hash['store_id'] : SKIP
125
+ merchant_id = hash.key?('merchant_id') ? hash['merchant_id'] : SKIP
126
+ triggers = hash.key?('triggers') ? hash['triggers'] : SKIP
127
+ url = hash.key?('url') ? hash['url'] : SKIP
128
+ auth_token = hash.key?('auth_token') ? hash['auth_token'] : SKIP
129
+ active = hash.key?('active') ? hash['active'] : SKIP
130
+ is_integration =
131
+ hash.key?('is_integration') ? hash['is_integration'] : SKIP
132
+ created_on = if hash.key?('created_on')
133
+ (DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
134
+ else
135
+ SKIP
136
+ end
137
+ updated_on = if hash.key?('updated_on')
138
+ (DateTimeHelper.from_rfc3339(hash['updated_on']) if hash['updated_on'])
139
+ else
140
+ SKIP
141
+ end
142
+
143
+ # Create a new hash for additional properties, removing known properties.
144
+ new_hash = hash.reject { |k, _| names.value?(k) }
145
+
146
+ additional_properties = APIHelper.get_additional_properties(
147
+ new_hash, proc { |value| value }
148
+ )
149
+
150
+ # Create object from extracted values.
151
+ Webhook.new(id: id,
152
+ store_id: store_id,
153
+ merchant_id: merchant_id,
154
+ triggers: triggers,
155
+ url: url,
156
+ auth_token: auth_token,
157
+ active: active,
158
+ is_integration: is_integration,
159
+ created_on: created_on,
160
+ updated_on: updated_on,
161
+ additional_properties: additional_properties)
162
+ end
163
+
164
+ def to_custom_created_on
165
+ DateTimeHelper.to_rfc3339(created_on)
166
+ end
167
+
168
+ def to_custom_updated_on
169
+ DateTimeHelper.to_rfc3339(updated_on)
170
+ end
171
+
172
+ # Provides a human-readable string representation of the object.
173
+ def to_s
174
+ class_name = self.class.name.split('::').last
175
+ "<#{class_name} id: #{@id}, store_id: #{@store_id}, merchant_id: #{@merchant_id}, triggers:"\
176
+ " #{@triggers}, url: #{@url}, auth_token: #{@auth_token}, active: #{@active},"\
177
+ " is_integration: #{@is_integration}, created_on: #{@created_on}, updated_on:"\
178
+ " #{@updated_on}, additional_properties: #{@additional_properties}>"
179
+ end
180
+
181
+ # Provides a debugging-friendly string with detailed object information.
182
+ def inspect
183
+ class_name = self.class.name.split('::').last
184
+ "<#{class_name} id: #{@id.inspect}, store_id: #{@store_id.inspect}, merchant_id:"\
185
+ " #{@merchant_id.inspect}, triggers: #{@triggers.inspect}, url: #{@url.inspect}, auth_token:"\
186
+ " #{@auth_token.inspect}, active: #{@active.inspect}, is_integration:"\
187
+ " #{@is_integration.inspect}, created_on: #{@created_on.inspect}, updated_on:"\
188
+ " #{@updated_on.inspect}, additional_properties: #{@additional_properties}>"
189
+ end
190
+ end
191
+ end
@@ -0,0 +1,98 @@
1
+ # univapay_client_sdk
2
+ #
3
+ # This file was automatically generated for Univapay
4
+ # by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module UnivapayClientSdk
8
+ # Common wrapper POSTed to your webhook URL for every event. The `data` field
9
+ # contains the domain object relevant to the event type.
10
+ class WebhookCallbackEnvelope < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # Unique ID of this webhook delivery.
15
+ # @return [UUID | String]
16
+ attr_accessor :id
17
+
18
+ # Event type that triggers a webhook notification.
19
+ # @return [WebhookTrigger]
20
+ attr_accessor :event
21
+
22
+ # Timestamp when the event was fired.
23
+ # @return [DateTime]
24
+ attr_accessor :created_on
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['id'] = 'id'
30
+ @_hash['event'] = 'event'
31
+ @_hash['created_on'] = 'created_on'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ []
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ []
43
+ end
44
+
45
+ def initialize(id:, event:, created_on:, additional_properties: nil)
46
+ # Add additional model properties to the instance
47
+ additional_properties = {} if additional_properties.nil?
48
+
49
+ @id = id
50
+ @event = event
51
+ @created_on = created_on
52
+ @additional_properties = additional_properties
53
+ end
54
+
55
+ # Creates an instance of the object from a hash.
56
+ def self.from_hash(hash)
57
+ return nil unless hash
58
+
59
+ # Extract variables from the hash.
60
+ id = hash.key?('id') ? hash['id'] : nil
61
+ event = hash.key?('event') ? hash['event'] : nil
62
+ created_on = if hash.key?('created_on')
63
+ (DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
64
+ end
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
+ WebhookCallbackEnvelope.new(id: id,
75
+ event: event,
76
+ created_on: created_on,
77
+ additional_properties: additional_properties)
78
+ end
79
+
80
+ def to_custom_created_on
81
+ DateTimeHelper.to_rfc3339(created_on)
82
+ end
83
+
84
+ # Provides a human-readable string representation of the object.
85
+ def to_s
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} id: #{@id}, event: #{@event}, created_on: #{@created_on},"\
88
+ " additional_properties: #{@additional_properties}>"
89
+ end
90
+
91
+ # Provides a debugging-friendly string with detailed object information.
92
+ def inspect
93
+ class_name = self.class.name.split('::').last
94
+ "<#{class_name} id: #{@id.inspect}, event: #{@event.inspect}, created_on:"\
95
+ " #{@created_on.inspect}, additional_properties: #{@additional_properties}>"
96
+ end
97
+ end
98
+ 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
+ # Request body to create a new store-level webhook subscription.
8
+ class WebhookCreateRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # List of event types that trigger this webhook. Must be non-empty and
13
+ # contain only events valid for the store level.
14
+ # @return [Array[WebhookTrigger]]
15
+ attr_accessor :triggers
16
+
17
+ # The URL to POST webhook payloads to.
18
+ # @return [String]
19
+ attr_accessor :url
20
+
21
+ # Optional bearer token sent in the `Authorization` header of webhook
22
+ # requests.
23
+ # @return [String]
24
+ attr_accessor :auth_token
25
+
26
+ # A mapping from model property names to API property names.
27
+ def self.names
28
+ @_hash = {} if @_hash.nil?
29
+ @_hash['triggers'] = 'triggers'
30
+ @_hash['url'] = 'url'
31
+ @_hash['auth_token'] = 'auth_token'
32
+ @_hash
33
+ end
34
+
35
+ # An array for optional fields
36
+ def self.optionals
37
+ %w[
38
+ auth_token
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ %w[
45
+ auth_token
46
+ ]
47
+ end
48
+
49
+ def initialize(triggers:, url:, auth_token: SKIP,
50
+ additional_properties: nil)
51
+ # Add additional model properties to the instance
52
+ additional_properties = {} if additional_properties.nil?
53
+
54
+ @triggers = triggers
55
+ @url = url
56
+ @auth_token = auth_token unless auth_token == SKIP
57
+ @additional_properties = additional_properties
58
+ end
59
+
60
+ # Creates an instance of the object from a hash.
61
+ def self.from_hash(hash)
62
+ return nil unless hash
63
+
64
+ # Extract variables from the hash.
65
+ triggers = hash.key?('triggers') ? hash['triggers'] : nil
66
+ url = hash.key?('url') ? hash['url'] : nil
67
+ auth_token = hash.key?('auth_token') ? hash['auth_token'] : SKIP
68
+
69
+ # Create a new hash for additional properties, removing known properties.
70
+ new_hash = hash.reject { |k, _| names.value?(k) }
71
+
72
+ additional_properties = APIHelper.get_additional_properties(
73
+ new_hash, proc { |value| value }
74
+ )
75
+
76
+ # Create object from extracted values.
77
+ WebhookCreateRequest.new(triggers: triggers,
78
+ url: url,
79
+ auth_token: auth_token,
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} triggers: #{@triggers}, url: #{@url}, auth_token: #{@auth_token},"\
87
+ " additional_properties: #{@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} triggers: #{@triggers.inspect}, url: #{@url.inspect}, auth_token:"\
94
+ " #{@auth_token.inspect}, additional_properties: #{@additional_properties}>"
95
+ end
96
+ end
97
+ end