univapay-client-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +212 -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 +909 -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 +128 -0
  16. data/lib/univapay_client_sdk/configuration.rb +179 -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_handler.rb +37 -0
  21. data/lib/univapay_client_sdk/events/webhooks/customs_handler.rb +37 -0
  22. data/lib/univapay_client_sdk/events/webhooks/refund_handler.rb +37 -0
  23. data/lib/univapay_client_sdk/events/webhooks/subscription_handler.rb +37 -0
  24. data/lib/univapay_client_sdk/events/webhooks/token_handler.rb +37 -0
  25. data/lib/univapay_client_sdk/exceptions/api_error_exception.rb +199 -0
  26. data/lib/univapay_client_sdk/exceptions/api_exception.rb +21 -0
  27. data/lib/univapay_client_sdk/extensions.rb +127 -0
  28. data/lib/univapay_client_sdk/http/api_response.rb +19 -0
  29. data/lib/univapay_client_sdk/http/auth/oauth_2.rb +58 -0
  30. data/lib/univapay_client_sdk/http/http_call_back.rb +10 -0
  31. data/lib/univapay_client_sdk/http/http_method_enum.rb +10 -0
  32. data/lib/univapay_client_sdk/http/http_request.rb +10 -0
  33. data/lib/univapay_client_sdk/http/http_response.rb +10 -0
  34. data/lib/univapay_client_sdk/http/proxy_settings.rb +22 -0
  35. data/lib/univapay_client_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  36. data/lib/univapay_client_sdk/logging/sdk_logger.rb +17 -0
  37. data/lib/univapay_client_sdk/models/api_error_detail.rb +87 -0
  38. data/lib/univapay_client_sdk/models/api_error_status.rb +26 -0
  39. data/lib/univapay_client_sdk/models/bank_transfer_event.rb +27 -0
  40. data/lib/univapay_client_sdk/models/bank_transfer_ledger.rb +199 -0
  41. data/lib/univapay_client_sdk/models/bank_transfer_ledger_bank_ledger_type.rb +36 -0
  42. data/lib/univapay_client_sdk/models/bank_transfer_ledger_list.rb +104 -0
  43. data/lib/univapay_client_sdk/models/bank_transfer_ledger_mode.rb +36 -0
  44. data/lib/univapay_client_sdk/models/bank_transfer_payment_status.rb +44 -0
  45. data/lib/univapay_client_sdk/models/bank_transfer_status_data.rb +229 -0
  46. data/lib/univapay_client_sdk/models/bank_transfer_status_webhook_callback.rb +134 -0
  47. data/lib/univapay_client_sdk/models/bank_transfer_status_webhook_callback_extension.rb +75 -0
  48. data/lib/univapay_client_sdk/models/base_bank_transfer_data.rb +100 -0
  49. data/lib/univapay_client_sdk/models/base_konbini_data.rb +99 -0
  50. data/lib/univapay_client_sdk/models/base_konbini_data_convenience_store.rb +60 -0
  51. data/lib/univapay_client_sdk/models/base_model.rb +110 -0
  52. data/lib/univapay_client_sdk/models/base_online_data.rb +123 -0
  53. data/lib/univapay_client_sdk/models/base_online_data_brand.rb +48 -0
  54. data/lib/univapay_client_sdk/models/base_online_data_call_method.rb +52 -0
  55. data/lib/univapay_client_sdk/models/base_online_data_os_type.rb +36 -0
  56. data/lib/univapay_client_sdk/models/base_online_data_user_identifier_source.rb +36 -0
  57. data/lib/univapay_client_sdk/models/cancel.rb +183 -0
  58. data/lib/univapay_client_sdk/models/cancel_create_request.rb +77 -0
  59. data/lib/univapay_client_sdk/models/cancel_event.rb +26 -0
  60. data/lib/univapay_client_sdk/models/cancel_list.rb +94 -0
  61. data/lib/univapay_client_sdk/models/cancel_status.rb +44 -0
  62. data/lib/univapay_client_sdk/models/cancel_update_request.rb +76 -0
  63. data/lib/univapay_client_sdk/models/cancel_webhook_callback.rb +132 -0
  64. data/lib/univapay_client_sdk/models/cancel_webhook_callback_extension.rb +74 -0
  65. data/lib/univapay_client_sdk/models/card_processor_installment_config.rb +89 -0
  66. data/lib/univapay_client_sdk/models/charge.rb +411 -0
  67. data/lib/univapay_client_sdk/models/charge_capture_request.rb +84 -0
  68. data/lib/univapay_client_sdk/models/charge_create_request.rb +179 -0
  69. data/lib/univapay_client_sdk/models/charge_create_request_client_metadata.rb +76 -0
  70. data/lib/univapay_client_sdk/models/charge_create_request_redirect.rb +75 -0
  71. data/lib/univapay_client_sdk/models/charge_create_request_three_ds.rb +88 -0
  72. data/lib/univapay_client_sdk/models/charge_create_request_three_ds_mode.rb +44 -0
  73. data/lib/univapay_client_sdk/models/charge_event.rb +36 -0
  74. data/lib/univapay_client_sdk/models/charge_list.rb +104 -0
  75. data/lib/univapay_client_sdk/models/charge_mode.rb +36 -0
  76. data/lib/univapay_client_sdk/models/charge_redirect.rb +96 -0
  77. data/lib/univapay_client_sdk/models/charge_status.rb +56 -0
  78. data/lib/univapay_client_sdk/models/charge_three_ds.rb +97 -0
  79. data/lib/univapay_client_sdk/models/charge_transaction_token_type.rb +40 -0
  80. data/lib/univapay_client_sdk/models/charge_update_request.rb +75 -0
  81. data/lib/univapay_client_sdk/models/charge_webhook_event.rb +138 -0
  82. data/lib/univapay_client_sdk/models/cursor_direction_query.rb +36 -0
  83. data/lib/univapay_client_sdk/models/customs_declaration_create_request.rb +106 -0
  84. data/lib/univapay_client_sdk/models/customs_declaration_event.rb +27 -0
  85. data/lib/univapay_client_sdk/models/customs_declaration_patch_request.rb +77 -0
  86. data/lib/univapay_client_sdk/models/customs_declaration_webhook_callback.rb +135 -0
  87. data/lib/univapay_client_sdk/models/customs_declaration_webhook_callback_extension.rb +76 -0
  88. data/lib/univapay_client_sdk/models/customs_declaration_webhook_data.rb +232 -0
  89. data/lib/univapay_client_sdk/models/customs_declaration_webhook_declaration.rb +121 -0
  90. data/lib/univapay_client_sdk/models/customs_declaration_webhook_error.rb +127 -0
  91. data/lib/univapay_client_sdk/models/customs_declaration_webhook_other_error.rb +120 -0
  92. data/lib/univapay_client_sdk/models/customs_declaration_webhook_result.rb +125 -0
  93. data/lib/univapay_client_sdk/models/customs_declaration_webhook_status.rb +44 -0
  94. data/lib/univapay_client_sdk/models/generic_metadata.rb +111 -0
  95. data/lib/univapay_client_sdk/models/installment_fixed_cycles.rb +70 -0
  96. data/lib/univapay_client_sdk/models/installment_plan_type.rb +36 -0
  97. data/lib/univapay_client_sdk/models/issuer_token.rb +177 -0
  98. data/lib/univapay_client_sdk/models/issuer_token_call_method.rb +51 -0
  99. data/lib/univapay_client_sdk/models/issuer_token_payload.rb +105 -0
  100. data/lib/univapay_client_sdk/models/issuer_token_payment_type.rb +36 -0
  101. data/lib/univapay_client_sdk/models/merchant.rb +179 -0
  102. data/lib/univapay_client_sdk/models/merchant_webhook_bank_transfer_configuration.rb +342 -0
  103. data/lib/univapay_client_sdk/models/merchant_webhook_card_brand_percent_fees.rb +167 -0
  104. data/lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb +301 -0
  105. data/lib/univapay_client_sdk/models/merchant_webhook_checkout_configuration.rb +87 -0
  106. data/lib/univapay_client_sdk/models/merchant_webhook_checkout_toggle.rb +77 -0
  107. data/lib/univapay_client_sdk/models/merchant_webhook_configuration.rb +505 -0
  108. data/lib/univapay_client_sdk/models/merchant_webhook_convenience_configuration.rb +88 -0
  109. data/lib/univapay_client_sdk/models/merchant_webhook_customer_management_configuration.rb +99 -0
  110. data/lib/univapay_client_sdk/models/merchant_webhook_installment_plan_configuration.rb +139 -0
  111. data/lib/univapay_client_sdk/models/merchant_webhook_limit_charge_by_card_configuration.rb +88 -0
  112. data/lib/univapay_client_sdk/models/merchant_webhook_limit_refund_by_sales_configuration.rb +100 -0
  113. data/lib/univapay_client_sdk/models/merchant_webhook_money_amount.rb +85 -0
  114. data/lib/univapay_client_sdk/models/merchant_webhook_online_configuration.rb +77 -0
  115. data/lib/univapay_client_sdk/models/merchant_webhook_paidy_configuration.rb +77 -0
  116. data/lib/univapay_client_sdk/models/merchant_webhook_qr_merchant_configuration.rb +77 -0
  117. data/lib/univapay_client_sdk/models/merchant_webhook_qr_scan_configuration.rb +93 -0
  118. data/lib/univapay_client_sdk/models/merchant_webhook_recurring_cvv_confirmation_config.rb +97 -0
  119. data/lib/univapay_client_sdk/models/merchant_webhook_recurring_token_configuration.rb +109 -0
  120. data/lib/univapay_client_sdk/models/merchant_webhook_security_configuration.rb +234 -0
  121. data/lib/univapay_client_sdk/models/merchant_webhook_subscription_configuration.rb +138 -0
  122. data/lib/univapay_client_sdk/models/merchant_webhook_subscription_plan_configuration.rb +138 -0
  123. data/lib/univapay_client_sdk/models/merchant_webhook_transfer_schedule_configuration.rb +159 -0
  124. data/lib/univapay_client_sdk/models/merchant_webhook_user_transactions_configuration.rb +349 -0
  125. data/lib/univapay_client_sdk/models/mode_query.rb +36 -0
  126. data/lib/univapay_client_sdk/models/payment_error.rb +178 -0
  127. data/lib/univapay_client_sdk/models/plan_settings_type.rb +36 -0
  128. data/lib/univapay_client_sdk/models/refund.rb +240 -0
  129. data/lib/univapay_client_sdk/models/refund_create_request.rb +118 -0
  130. data/lib/univapay_client_sdk/models/refund_event.rb +26 -0
  131. data/lib/univapay_client_sdk/models/refund_list.rb +104 -0
  132. data/lib/univapay_client_sdk/models/refund_reason_request.rb +42 -0
  133. data/lib/univapay_client_sdk/models/refund_reason_response.rb +62 -0
  134. data/lib/univapay_client_sdk/models/refund_status.rb +47 -0
  135. data/lib/univapay_client_sdk/models/refund_update_request.rb +99 -0
  136. data/lib/univapay_client_sdk/models/refund_webhook_callback.rb +132 -0
  137. data/lib/univapay_client_sdk/models/refund_webhook_callback_extension.rb +74 -0
  138. data/lib/univapay_client_sdk/models/restrict_ip_after_failed_charge_config.rb +99 -0
  139. data/lib/univapay_client_sdk/models/store.rb +119 -0
  140. data/lib/univapay_client_sdk/models/store_list.rb +104 -0
  141. data/lib/univapay_client_sdk/models/store_list_item.rb +114 -0
  142. data/lib/univapay_client_sdk/models/subscription.rb +310 -0
  143. data/lib/univapay_client_sdk/models/subscription_create_request.rb +216 -0
  144. data/lib/univapay_client_sdk/models/subscription_event.rb +54 -0
  145. data/lib/univapay_client_sdk/models/subscription_installment_plan.rb +86 -0
  146. data/lib/univapay_client_sdk/models/subscription_list.rb +104 -0
  147. data/lib/univapay_client_sdk/models/subscription_list_item.rb +352 -0
  148. data/lib/univapay_client_sdk/models/subscription_next_payment.rb +222 -0
  149. data/lib/univapay_client_sdk/models/subscription_patch_payment_request.rb +117 -0
  150. data/lib/univapay_client_sdk/models/subscription_patch_token_request.rb +79 -0
  151. data/lib/univapay_client_sdk/models/subscription_payment.rb +185 -0
  152. data/lib/univapay_client_sdk/models/subscription_payment_list.rb +94 -0
  153. data/lib/univapay_client_sdk/models/subscription_period.rb +56 -0
  154. data/lib/univapay_client_sdk/models/subscription_plan_settings.rb +98 -0
  155. data/lib/univapay_client_sdk/models/subscription_schedule_settings.rb +132 -0
  156. data/lib/univapay_client_sdk/models/subscription_status.rb +56 -0
  157. data/lib/univapay_client_sdk/models/subscription_suspend_request.rb +79 -0
  158. data/lib/univapay_client_sdk/models/subscription_terminate_with_status.rb +36 -0
  159. data/lib/univapay_client_sdk/models/subscription_termination_mode.rb +36 -0
  160. data/lib/univapay_client_sdk/models/subscription_update_next_payment.rb +104 -0
  161. data/lib/univapay_client_sdk/models/subscription_update_request.rb +134 -0
  162. data/lib/univapay_client_sdk/models/subscription_update_schedule_settings.rb +110 -0
  163. data/lib/univapay_client_sdk/models/subscription_update_status.rb +37 -0
  164. data/lib/univapay_client_sdk/models/subscription_user_data.rb +134 -0
  165. data/lib/univapay_client_sdk/models/subscription_webhook_event.rb +143 -0
  166. data/lib/univapay_client_sdk/models/suspend_schedule_settings.rb +78 -0
  167. data/lib/univapay_client_sdk/models/three_ds_issuer_token.rb +116 -0
  168. data/lib/univapay_client_sdk/models/three_ds_issuer_token_call_method.rb +26 -0
  169. data/lib/univapay_client_sdk/models/three_ds_issuer_token_payment_type.rb +26 -0
  170. data/lib/univapay_client_sdk/models/token_create_bank_transfer_data.rb +122 -0
  171. data/lib/univapay_client_sdk/models/token_create_card_data.rb +230 -0
  172. data/lib/univapay_client_sdk/models/token_create_card_data_cvv_authorize.rb +95 -0
  173. data/lib/univapay_client_sdk/models/token_create_card_data_three_ds.rb +97 -0
  174. data/lib/univapay_client_sdk/models/token_create_konbini_data.rb +146 -0
  175. data/lib/univapay_client_sdk/models/token_create_online_data.rb +142 -0
  176. data/lib/univapay_client_sdk/models/token_create_phone_number.rb +104 -0
  177. data/lib/univapay_client_sdk/models/token_event.rb +59 -0
  178. data/lib/univapay_client_sdk/models/token_response_bank_transfer_data.rb +181 -0
  179. data/lib/univapay_client_sdk/models/token_response_card_data.rb +129 -0
  180. data/lib/univapay_client_sdk/models/token_response_card_data_billing.rb +153 -0
  181. data/lib/univapay_client_sdk/models/token_response_card_data_card.rb +187 -0
  182. data/lib/univapay_client_sdk/models/token_response_card_data_cvv_authorize.rb +132 -0
  183. data/lib/univapay_client_sdk/models/token_response_card_data_cvv_authorize_check.rb +118 -0
  184. data/lib/univapay_client_sdk/models/token_response_card_data_three_ds.rb +142 -0
  185. data/lib/univapay_client_sdk/models/token_response_card_data_three_ds_status.rb +48 -0
  186. data/lib/univapay_client_sdk/models/token_response_konbini_data.rb +135 -0
  187. data/lib/univapay_client_sdk/models/token_response_online_data.rb +158 -0
  188. data/lib/univapay_client_sdk/models/token_response_phone_number.rb +96 -0
  189. data/lib/univapay_client_sdk/models/token_webhook_event.rb +144 -0
  190. data/lib/univapay_client_sdk/models/transaction_token.rb +250 -0
  191. data/lib/univapay_client_sdk/models/transaction_token_create_request.rb +161 -0
  192. data/lib/univapay_client_sdk/models/transaction_token_create_request_metadata.rb +124 -0
  193. data/lib/univapay_client_sdk/models/transaction_token_create_request_payment_type.rb +44 -0
  194. data/lib/univapay_client_sdk/models/transaction_token_create_request_type.rb +40 -0
  195. data/lib/univapay_client_sdk/models/transaction_token_list.rb +104 -0
  196. data/lib/univapay_client_sdk/models/transaction_token_list_item.rb +204 -0
  197. data/lib/univapay_client_sdk/models/transaction_token_list_item_user_data.rb +96 -0
  198. data/lib/univapay_client_sdk/models/transaction_token_mode.rb +36 -0
  199. data/lib/univapay_client_sdk/models/transaction_token_payment_type.rb +48 -0
  200. data/lib/univapay_client_sdk/models/transaction_token_type.rb +40 -0
  201. data/lib/univapay_client_sdk/models/transaction_token_update_request.rb +95 -0
  202. data/lib/univapay_client_sdk/models/transaction_token_update_request_data.rb +184 -0
  203. data/lib/univapay_client_sdk/models/transaction_token_update_request_data_phone_number.rb +86 -0
  204. data/lib/univapay_client_sdk/models/webhook.rb +191 -0
  205. data/lib/univapay_client_sdk/models/webhook_callback_envelope.rb +98 -0
  206. data/lib/univapay_client_sdk/models/webhook_create_request.rb +97 -0
  207. data/lib/univapay_client_sdk/models/webhook_event.rb +166 -0
  208. data/lib/univapay_client_sdk/models/webhook_event_list.rb +94 -0
  209. data/lib/univapay_client_sdk/models/webhook_list.rb +94 -0
  210. data/lib/univapay_client_sdk/models/webhook_trigger.rb +104 -0
  211. data/lib/univapay_client_sdk/models/webhook_update_request.rb +108 -0
  212. data/lib/univapay_client_sdk/utilities/date_time_helper.rb +11 -0
  213. data/lib/univapay_client_sdk/utilities/file_wrapper.rb +28 -0
  214. data/lib/univapay_client_sdk/utilities/union_type_lookup.rb +182 -0
  215. data/lib/univapay_client_sdk.rb +285 -0
  216. data/test/apis/api_test_base.rb +23 -0
  217. data/test/apis/test_cancels_api.rb +162 -0
  218. data/test/apis/test_charges_api.rb +565 -0
  219. data/test/apis/test_error_messages.rb +38 -0
  220. data/test/apis/test_merchants_api.rb +50 -0
  221. data/test/apis/test_refunds_api.rb +172 -0
  222. data/test/apis/test_stores_api.rb +86 -0
  223. data/test/apis/test_subscriptions_api.rb +579 -0
  224. data/test/apis/test_transaction_tokens_api.rb +305 -0
  225. data/test/apis/test_webhooks_api.rb +245 -0
  226. data/test/events/webhooks/test_bank_transfer_handler.rb +95 -0
  227. data/test/events/webhooks/test_cancel_handler.rb +90 -0
  228. data/test/events/webhooks/test_charge_handler.rb +138 -0
  229. data/test/events/webhooks/test_customs_handler.rb +100 -0
  230. data/test/events/webhooks/test_refund_handler.rb +95 -0
  231. data/test/events/webhooks/test_subscription_handler.rb +346 -0
  232. data/test/events/webhooks/test_token_handler.rb +332 -0
  233. data/test/framework_integrations/rails_app_test_helper.rb +14 -0
  234. data/test/framework_integrations/webhooks/apps/hanami_charge_app.rb +61 -0
  235. data/test/framework_integrations/webhooks/apps/rails_charge_app.rb +24 -0
  236. data/test/framework_integrations/webhooks/apps/sinatra_charge_app.rb +27 -0
  237. data/test/framework_integrations/webhooks/test/test_hanami_charge_app.rb +57 -0
  238. data/test/framework_integrations/webhooks/test/test_rails_charge_app.rb +57 -0
  239. data/test/framework_integrations/webhooks/test/test_sinatra_charge_app.rb +58 -0
  240. data/test/http_response_catcher.rb +32 -0
  241. metadata +366 -0
@@ -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
@@ -0,0 +1,166 @@
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 single delivery attempt of a webhook event, including the
9
+ # payload sent and the delivery outcome.
10
+ class WebhookEvent < BaseModel
11
+ SKIP = Object.new
12
+ private_constant :SKIP
13
+
14
+ # Unique identifier for the webhook event.
15
+ # @return [UUID | String]
16
+ attr_accessor :id
17
+
18
+ # ID of the parent webhook.
19
+ # @return [UUID | String]
20
+ attr_accessor :webhook_id
21
+
22
+ # Event type that triggers a webhook notification.
23
+ # @return [WebhookTrigger]
24
+ attr_accessor :event
25
+
26
+ # Domain object payload for webhook deliveries. The actual structure depends
27
+ # on the event type — see each webhook callback schema for the specific
28
+ # payload shape.
29
+ # @return [Object]
30
+ attr_accessor :data
31
+
32
+ # Whether the webhook delivery was acknowledged (HTTP 2xx).
33
+ # @return [TrueClass | FalseClass]
34
+ attr_accessor :successful
35
+
36
+ # Timestamp when the webhook was dispatched.
37
+ # @return [DateTime]
38
+ attr_accessor :fired_on
39
+
40
+ # Error message if delivery failed.
41
+ # @return [String]
42
+ attr_accessor :error_message
43
+
44
+ # Timestamp when the event was created.
45
+ # @return [DateTime]
46
+ attr_accessor :created_on
47
+
48
+ # A mapping from model property names to API property names.
49
+ def self.names
50
+ @_hash = {} if @_hash.nil?
51
+ @_hash['id'] = 'id'
52
+ @_hash['webhook_id'] = 'webhook_id'
53
+ @_hash['event'] = 'event'
54
+ @_hash['data'] = 'data'
55
+ @_hash['successful'] = 'successful'
56
+ @_hash['fired_on'] = 'fired_on'
57
+ @_hash['error_message'] = 'error_message'
58
+ @_hash['created_on'] = 'created_on'
59
+ @_hash
60
+ end
61
+
62
+ # An array for optional fields
63
+ def self.optionals
64
+ %w[
65
+ id
66
+ webhook_id
67
+ event
68
+ data
69
+ successful
70
+ fired_on
71
+ error_message
72
+ created_on
73
+ ]
74
+ end
75
+
76
+ # An array for nullable fields
77
+ def self.nullables
78
+ %w[
79
+ error_message
80
+ ]
81
+ end
82
+
83
+ def initialize(id: SKIP, webhook_id: SKIP, event: SKIP, data: SKIP,
84
+ successful: SKIP, fired_on: SKIP, error_message: SKIP,
85
+ created_on: SKIP, additional_properties: nil)
86
+ # Add additional model properties to the instance
87
+ additional_properties = {} if additional_properties.nil?
88
+
89
+ @id = id unless id == SKIP
90
+ @webhook_id = webhook_id unless webhook_id == SKIP
91
+ @event = event unless event == SKIP
92
+ @data = data unless data == SKIP
93
+ @successful = successful unless successful == SKIP
94
+ @fired_on = fired_on unless fired_on == SKIP
95
+ @error_message = error_message unless error_message == SKIP
96
+ @created_on = created_on unless created_on == SKIP
97
+ @additional_properties = additional_properties
98
+ end
99
+
100
+ # Creates an instance of the object from a hash.
101
+ def self.from_hash(hash)
102
+ return nil unless hash
103
+
104
+ # Extract variables from the hash.
105
+ id = hash.key?('id') ? hash['id'] : SKIP
106
+ webhook_id = hash.key?('webhook_id') ? hash['webhook_id'] : SKIP
107
+ event = hash.key?('event') ? hash['event'] : SKIP
108
+ data = hash.key?('data') ? hash['data'] : SKIP
109
+ successful = hash.key?('successful') ? hash['successful'] : SKIP
110
+ fired_on = if hash.key?('fired_on')
111
+ (DateTimeHelper.from_rfc3339(hash['fired_on']) if hash['fired_on'])
112
+ else
113
+ SKIP
114
+ end
115
+ error_message = hash.key?('error_message') ? hash['error_message'] : SKIP
116
+ created_on = if hash.key?('created_on')
117
+ (DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
118
+ else
119
+ SKIP
120
+ end
121
+
122
+ # Create a new hash for additional properties, removing known properties.
123
+ new_hash = hash.reject { |k, _| names.value?(k) }
124
+
125
+ additional_properties = APIHelper.get_additional_properties(
126
+ new_hash, proc { |value| value }
127
+ )
128
+
129
+ # Create object from extracted values.
130
+ WebhookEvent.new(id: id,
131
+ webhook_id: webhook_id,
132
+ event: event,
133
+ data: data,
134
+ successful: successful,
135
+ fired_on: fired_on,
136
+ error_message: error_message,
137
+ created_on: created_on,
138
+ additional_properties: additional_properties)
139
+ end
140
+
141
+ def to_custom_fired_on
142
+ DateTimeHelper.to_rfc3339(fired_on)
143
+ end
144
+
145
+ def to_custom_created_on
146
+ DateTimeHelper.to_rfc3339(created_on)
147
+ end
148
+
149
+ # Provides a human-readable string representation of the object.
150
+ def to_s
151
+ class_name = self.class.name.split('::').last
152
+ "<#{class_name} id: #{@id}, webhook_id: #{@webhook_id}, event: #{@event}, data: #{@data},"\
153
+ " successful: #{@successful}, fired_on: #{@fired_on}, error_message: #{@error_message},"\
154
+ " created_on: #{@created_on}, additional_properties: #{@additional_properties}>"
155
+ end
156
+
157
+ # Provides a debugging-friendly string with detailed object information.
158
+ def inspect
159
+ class_name = self.class.name.split('::').last
160
+ "<#{class_name} id: #{@id.inspect}, webhook_id: #{@webhook_id.inspect}, event:"\
161
+ " #{@event.inspect}, data: #{@data.inspect}, successful: #{@successful.inspect}, fired_on:"\
162
+ " #{@fired_on.inspect}, error_message: #{@error_message.inspect}, created_on:"\
163
+ " #{@created_on.inspect}, additional_properties: #{@additional_properties}>"
164
+ end
165
+ end
166
+ end
@@ -0,0 +1,94 @@
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
+ # Paginated list of webhook events.
8
+ class WebhookEventList < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # List of resources.
13
+ # @return [Array[WebhookEvent]]
14
+ attr_accessor :items
15
+
16
+ # Whether more results are available.
17
+ # @return [TrueClass | FalseClass]
18
+ attr_accessor :has_more
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['items'] = 'items'
24
+ @_hash['has_more'] = 'has_more'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ items
32
+ has_more
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(items: SKIP, has_more: SKIP, additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @items = items unless items == SKIP
46
+ @has_more = has_more unless has_more == SKIP
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ # Parameter is an array, so we need to iterate through it
56
+ items = nil
57
+ unless hash['items'].nil?
58
+ items = []
59
+ hash['items'].each do |structure|
60
+ items << (WebhookEvent.from_hash(structure) if structure)
61
+ end
62
+ end
63
+
64
+ items = SKIP unless hash.key?('items')
65
+ has_more = hash.key?('has_more') ? hash['has_more'] : SKIP
66
+
67
+ # Create a new hash for additional properties, removing known properties.
68
+ new_hash = hash.reject { |k, _| names.value?(k) }
69
+
70
+ additional_properties = APIHelper.get_additional_properties(
71
+ new_hash, proc { |value| value }
72
+ )
73
+
74
+ # Create object from extracted values.
75
+ WebhookEventList.new(items: items,
76
+ has_more: has_more,
77
+ additional_properties: additional_properties)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} items: #{@items}, has_more: #{@has_more}, additional_properties:"\
84
+ " #{@additional_properties}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} items: #{@items.inspect}, has_more: #{@has_more.inspect},"\
91
+ " additional_properties: #{@additional_properties}>"
92
+ end
93
+ end
94
+ end