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,505 @@
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 configuration object serialized by gyron-payments-api.
8
+ class MerchantWebhookConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Default percent fee applied when no card-brand override exists.
13
+ # @return [Float]
14
+ attr_accessor :percent_fee
15
+
16
+ # Flat fee overrides by currency.
17
+ # @return [Array[MerchantWebhookMoneyAmount]]
18
+ attr_accessor :flat_fees
19
+
20
+ # Merchant logo URL.
21
+ # @return [String]
22
+ attr_accessor :logo_url
23
+
24
+ # Merchant country code.
25
+ # @return [String]
26
+ attr_accessor :country
27
+
28
+ # Merchant default language.
29
+ # @return [String]
30
+ attr_accessor :language
31
+
32
+ # Merchant display time zone.
33
+ # @return [String]
34
+ attr_accessor :display_time_zone
35
+
36
+ # Monetary amount object serialized by backend config models.
37
+ # @return [MerchantWebhookMoneyAmount]
38
+ attr_accessor :min_transfer_payout
39
+
40
+ # Minimum allowed charge amounts by currency.
41
+ # @return [Array[MerchantWebhookMoneyAmount]]
42
+ attr_accessor :minimum_charge_amounts
43
+
44
+ # Maximum allowed charge amounts by currency.
45
+ # @return [Array[MerchantWebhookMoneyAmount]]
46
+ attr_accessor :maximum_charge_amounts
47
+
48
+ # Transfer schedule configuration inherited by the merchant.
49
+ # @return [MerchantWebhookTransferScheduleConfiguration]
50
+ attr_accessor :transfer_schedule
51
+
52
+ # Merchant transaction notification settings.
53
+ # @return [MerchantWebhookUserTransactionsConfiguration]
54
+ attr_accessor :user_transactions_configuration
55
+
56
+ # Recurring token configuration inherited by the merchant.
57
+ # @return [MerchantWebhookRecurringTokenConfiguration]
58
+ attr_accessor :recurring_token_configuration
59
+
60
+ # Merchant-level fraud and refund safety settings.
61
+ # @return [MerchantWebhookSecurityConfiguration]
62
+ attr_accessor :security_configuration
63
+
64
+ # Checkout field collection settings.
65
+ # @return [MerchantWebhookCheckoutConfiguration]
66
+ attr_accessor :checkout_configuration
67
+
68
+ # Installment plan configuration.
69
+ # @return [MerchantWebhookInstallmentPlanConfiguration]
70
+ attr_accessor :installments_configuration
71
+
72
+ # Subscription plan configuration.
73
+ # @return [MerchantWebhookSubscriptionPlanConfiguration]
74
+ attr_accessor :subscription_plan_configuration
75
+
76
+ # Per-card-brand percent fee overrides.
77
+ # @return [MerchantWebhookCardBrandPercentFees]
78
+ attr_accessor :card_brand_percent_fees
79
+
80
+ # Subscription feature configuration.
81
+ # @return [MerchantWebhookSubscriptionConfiguration]
82
+ attr_accessor :subscription_configuration
83
+
84
+ # Customer-management defaults.
85
+ # @return [MerchantWebhookCustomerManagementConfiguration]
86
+ attr_accessor :customer_management_configuration
87
+
88
+ # Whether statement descriptors can be provided by merchants.
89
+ # @return [TrueClass | FalseClass]
90
+ attr_accessor :descriptor_provided_configuration
91
+
92
+ # Card payment settings.
93
+ # @return [MerchantWebhookCardConfiguration]
94
+ attr_accessor :card_configuration
95
+
96
+ # QR scan payment settings.
97
+ # @return [MerchantWebhookQrScanConfiguration]
98
+ attr_accessor :qr_scan_configuration
99
+
100
+ # Convenience-store payment settings.
101
+ # @return [MerchantWebhookConvenienceConfiguration]
102
+ attr_accessor :convenience_configuration
103
+
104
+ # Paidy payment settings.
105
+ # @return [MerchantWebhookPaidyConfiguration]
106
+ attr_accessor :paidy_configuration
107
+
108
+ # QR merchant payment settings.
109
+ # @return [MerchantWebhookQrMerchantConfiguration]
110
+ attr_accessor :qr_merchant_configuration
111
+
112
+ # Online payment settings.
113
+ # @return [MerchantWebhookOnlineConfiguration]
114
+ attr_accessor :online_configuration
115
+
116
+ # Bank transfer payment settings.
117
+ # @return [MerchantWebhookBankTransferConfiguration]
118
+ attr_accessor :bank_transfer_configuration
119
+
120
+ # Whether platform credentials are enabled.
121
+ # @return [TrueClass | FalseClass]
122
+ attr_accessor :platform_credentials_enabled
123
+
124
+ # Whether tagged platform credentials are enabled.
125
+ # @return [TrueClass | FalseClass]
126
+ attr_accessor :tagged_platform_credentials_enabled
127
+
128
+ # A mapping from model property names to API property names.
129
+ def self.names
130
+ @_hash = {} if @_hash.nil?
131
+ @_hash['percent_fee'] = 'percent_fee'
132
+ @_hash['flat_fees'] = 'flat_fees'
133
+ @_hash['logo_url'] = 'logo_url'
134
+ @_hash['country'] = 'country'
135
+ @_hash['language'] = 'language'
136
+ @_hash['display_time_zone'] = 'display_time_zone'
137
+ @_hash['min_transfer_payout'] = 'min_transfer_payout'
138
+ @_hash['minimum_charge_amounts'] = 'minimum_charge_amounts'
139
+ @_hash['maximum_charge_amounts'] = 'maximum_charge_amounts'
140
+ @_hash['transfer_schedule'] = 'transfer_schedule'
141
+ @_hash['user_transactions_configuration'] =
142
+ 'user_transactions_configuration'
143
+ @_hash['recurring_token_configuration'] =
144
+ 'recurring_token_configuration'
145
+ @_hash['security_configuration'] = 'security_configuration'
146
+ @_hash['checkout_configuration'] = 'checkout_configuration'
147
+ @_hash['installments_configuration'] = 'installments_configuration'
148
+ @_hash['subscription_plan_configuration'] =
149
+ 'subscription_plan_configuration'
150
+ @_hash['card_brand_percent_fees'] = 'card_brand_percent_fees'
151
+ @_hash['subscription_configuration'] = 'subscription_configuration'
152
+ @_hash['customer_management_configuration'] =
153
+ 'customer_management_configuration'
154
+ @_hash['descriptor_provided_configuration'] =
155
+ 'descriptor_provided_configuration'
156
+ @_hash['card_configuration'] = 'card_configuration'
157
+ @_hash['qr_scan_configuration'] = 'qr_scan_configuration'
158
+ @_hash['convenience_configuration'] = 'convenience_configuration'
159
+ @_hash['paidy_configuration'] = 'paidy_configuration'
160
+ @_hash['qr_merchant_configuration'] = 'qr_merchant_configuration'
161
+ @_hash['online_configuration'] = 'online_configuration'
162
+ @_hash['bank_transfer_configuration'] = 'bank_transfer_configuration'
163
+ @_hash['platform_credentials_enabled'] = 'platform_credentials_enabled'
164
+ @_hash['tagged_platform_credentials_enabled'] =
165
+ 'tagged_platform_credentials_enabled'
166
+ @_hash
167
+ end
168
+
169
+ # An array for optional fields
170
+ def self.optionals
171
+ %w[
172
+ percent_fee
173
+ flat_fees
174
+ logo_url
175
+ country
176
+ language
177
+ display_time_zone
178
+ min_transfer_payout
179
+ minimum_charge_amounts
180
+ maximum_charge_amounts
181
+ transfer_schedule
182
+ user_transactions_configuration
183
+ recurring_token_configuration
184
+ security_configuration
185
+ checkout_configuration
186
+ installments_configuration
187
+ subscription_plan_configuration
188
+ card_brand_percent_fees
189
+ subscription_configuration
190
+ customer_management_configuration
191
+ descriptor_provided_configuration
192
+ card_configuration
193
+ qr_scan_configuration
194
+ convenience_configuration
195
+ paidy_configuration
196
+ qr_merchant_configuration
197
+ online_configuration
198
+ bank_transfer_configuration
199
+ platform_credentials_enabled
200
+ tagged_platform_credentials_enabled
201
+ ]
202
+ end
203
+
204
+ # An array for nullable fields
205
+ def self.nullables
206
+ %w[
207
+ percent_fee
208
+ logo_url
209
+ country
210
+ language
211
+ display_time_zone
212
+ descriptor_provided_configuration
213
+ platform_credentials_enabled
214
+ tagged_platform_credentials_enabled
215
+ ]
216
+ end
217
+
218
+ def initialize(percent_fee: SKIP, flat_fees: SKIP, logo_url: SKIP,
219
+ country: SKIP, language: SKIP, display_time_zone: SKIP,
220
+ min_transfer_payout: SKIP, minimum_charge_amounts: SKIP,
221
+ maximum_charge_amounts: SKIP, transfer_schedule: SKIP,
222
+ user_transactions_configuration: SKIP,
223
+ recurring_token_configuration: SKIP,
224
+ security_configuration: SKIP, checkout_configuration: SKIP,
225
+ installments_configuration: SKIP,
226
+ subscription_plan_configuration: SKIP,
227
+ card_brand_percent_fees: SKIP,
228
+ subscription_configuration: SKIP,
229
+ customer_management_configuration: SKIP,
230
+ descriptor_provided_configuration: SKIP,
231
+ card_configuration: SKIP, qr_scan_configuration: SKIP,
232
+ convenience_configuration: SKIP, paidy_configuration: SKIP,
233
+ qr_merchant_configuration: SKIP, online_configuration: SKIP,
234
+ bank_transfer_configuration: SKIP,
235
+ platform_credentials_enabled: SKIP,
236
+ tagged_platform_credentials_enabled: SKIP,
237
+ additional_properties: nil)
238
+ # Add additional model properties to the instance
239
+ additional_properties = {} if additional_properties.nil?
240
+
241
+ @percent_fee = percent_fee unless percent_fee == SKIP
242
+ @flat_fees = flat_fees unless flat_fees == SKIP
243
+ @logo_url = logo_url unless logo_url == SKIP
244
+ @country = country unless country == SKIP
245
+ @language = language unless language == SKIP
246
+ @display_time_zone = display_time_zone unless display_time_zone == SKIP
247
+ @min_transfer_payout = min_transfer_payout unless min_transfer_payout == SKIP
248
+ @minimum_charge_amounts = minimum_charge_amounts unless minimum_charge_amounts == SKIP
249
+ @maximum_charge_amounts = maximum_charge_amounts unless maximum_charge_amounts == SKIP
250
+ @transfer_schedule = transfer_schedule unless transfer_schedule == SKIP
251
+ unless user_transactions_configuration == SKIP
252
+ @user_transactions_configuration =
253
+ user_transactions_configuration
254
+ end
255
+ unless recurring_token_configuration == SKIP
256
+ @recurring_token_configuration =
257
+ recurring_token_configuration
258
+ end
259
+ @security_configuration = security_configuration unless security_configuration == SKIP
260
+ @checkout_configuration = checkout_configuration unless checkout_configuration == SKIP
261
+ unless installments_configuration == SKIP
262
+ @installments_configuration =
263
+ installments_configuration
264
+ end
265
+ unless subscription_plan_configuration == SKIP
266
+ @subscription_plan_configuration =
267
+ subscription_plan_configuration
268
+ end
269
+ @card_brand_percent_fees = card_brand_percent_fees unless card_brand_percent_fees == SKIP
270
+ unless subscription_configuration == SKIP
271
+ @subscription_configuration =
272
+ subscription_configuration
273
+ end
274
+ unless customer_management_configuration == SKIP
275
+ @customer_management_configuration =
276
+ customer_management_configuration
277
+ end
278
+ unless descriptor_provided_configuration == SKIP
279
+ @descriptor_provided_configuration =
280
+ descriptor_provided_configuration
281
+ end
282
+ @card_configuration = card_configuration unless card_configuration == SKIP
283
+ @qr_scan_configuration = qr_scan_configuration unless qr_scan_configuration == SKIP
284
+ unless convenience_configuration == SKIP
285
+ @convenience_configuration =
286
+ convenience_configuration
287
+ end
288
+ @paidy_configuration = paidy_configuration unless paidy_configuration == SKIP
289
+ unless qr_merchant_configuration == SKIP
290
+ @qr_merchant_configuration =
291
+ qr_merchant_configuration
292
+ end
293
+ @online_configuration = online_configuration unless online_configuration == SKIP
294
+ unless bank_transfer_configuration == SKIP
295
+ @bank_transfer_configuration =
296
+ bank_transfer_configuration
297
+ end
298
+ unless platform_credentials_enabled == SKIP
299
+ @platform_credentials_enabled =
300
+ platform_credentials_enabled
301
+ end
302
+ unless tagged_platform_credentials_enabled == SKIP
303
+ @tagged_platform_credentials_enabled =
304
+ tagged_platform_credentials_enabled
305
+ end
306
+ @additional_properties = additional_properties
307
+ end
308
+
309
+ # Creates an instance of the object from a hash.
310
+ def self.from_hash(hash)
311
+ return nil unless hash
312
+
313
+ # Extract variables from the hash.
314
+ percent_fee = hash.key?('percent_fee') ? hash['percent_fee'] : SKIP
315
+ # Parameter is an array, so we need to iterate through it
316
+ flat_fees = nil
317
+ unless hash['flat_fees'].nil?
318
+ flat_fees = []
319
+ hash['flat_fees'].each do |structure|
320
+ flat_fees << (MerchantWebhookMoneyAmount.from_hash(structure) if structure)
321
+ end
322
+ end
323
+
324
+ flat_fees = SKIP unless hash.key?('flat_fees')
325
+ logo_url = hash.key?('logo_url') ? hash['logo_url'] : SKIP
326
+ country = hash.key?('country') ? hash['country'] : SKIP
327
+ language = hash.key?('language') ? hash['language'] : SKIP
328
+ display_time_zone =
329
+ hash.key?('display_time_zone') ? hash['display_time_zone'] : SKIP
330
+ min_transfer_payout = MerchantWebhookMoneyAmount.from_hash(hash['min_transfer_payout']) if
331
+ hash['min_transfer_payout']
332
+ # Parameter is an array, so we need to iterate through it
333
+ minimum_charge_amounts = nil
334
+ unless hash['minimum_charge_amounts'].nil?
335
+ minimum_charge_amounts = []
336
+ hash['minimum_charge_amounts'].each do |structure|
337
+ minimum_charge_amounts << (MerchantWebhookMoneyAmount.from_hash(structure) if structure)
338
+ end
339
+ end
340
+
341
+ minimum_charge_amounts = SKIP unless hash.key?('minimum_charge_amounts')
342
+ # Parameter is an array, so we need to iterate through it
343
+ maximum_charge_amounts = nil
344
+ unless hash['maximum_charge_amounts'].nil?
345
+ maximum_charge_amounts = []
346
+ hash['maximum_charge_amounts'].each do |structure|
347
+ maximum_charge_amounts << (MerchantWebhookMoneyAmount.from_hash(structure) if structure)
348
+ end
349
+ end
350
+
351
+ maximum_charge_amounts = SKIP unless hash.key?('maximum_charge_amounts')
352
+ if hash['transfer_schedule']
353
+ transfer_schedule = MerchantWebhookTransferScheduleConfiguration.from_hash(hash['transfer_schedule'])
354
+ end
355
+ if hash['user_transactions_configuration']
356
+ user_transactions_configuration = MerchantWebhookUserTransactionsConfiguration.from_hash(hash['user_transactions_configuration'])
357
+ end
358
+ if hash['recurring_token_configuration']
359
+ recurring_token_configuration = MerchantWebhookRecurringTokenConfiguration.from_hash(hash['recurring_token_configuration'])
360
+ end
361
+ if hash['security_configuration']
362
+ security_configuration = MerchantWebhookSecurityConfiguration.from_hash(hash['security_configuration'])
363
+ end
364
+ if hash['checkout_configuration']
365
+ checkout_configuration = MerchantWebhookCheckoutConfiguration.from_hash(hash['checkout_configuration'])
366
+ end
367
+ if hash['installments_configuration']
368
+ installments_configuration = MerchantWebhookInstallmentPlanConfiguration.from_hash(hash['installments_configuration'])
369
+ end
370
+ if hash['subscription_plan_configuration']
371
+ subscription_plan_configuration = MerchantWebhookSubscriptionPlanConfiguration.from_hash(hash['subscription_plan_configuration'])
372
+ end
373
+ if hash['card_brand_percent_fees']
374
+ card_brand_percent_fees = MerchantWebhookCardBrandPercentFees.from_hash(hash['card_brand_percent_fees'])
375
+ end
376
+ if hash['subscription_configuration']
377
+ subscription_configuration = MerchantWebhookSubscriptionConfiguration.from_hash(hash['subscription_configuration'])
378
+ end
379
+ if hash['customer_management_configuration']
380
+ customer_management_configuration = MerchantWebhookCustomerManagementConfiguration.from_hash(hash['customer_management_configuration'])
381
+ end
382
+ descriptor_provided_configuration =
383
+ hash.key?('descriptor_provided_configuration') ? hash['descriptor_provided_configuration'] : SKIP
384
+ card_configuration = MerchantWebhookCardConfiguration.from_hash(hash['card_configuration']) if
385
+ hash['card_configuration']
386
+ if hash['qr_scan_configuration']
387
+ qr_scan_configuration = MerchantWebhookQrScanConfiguration.from_hash(hash['qr_scan_configuration'])
388
+ end
389
+ if hash['convenience_configuration']
390
+ convenience_configuration = MerchantWebhookConvenienceConfiguration.from_hash(hash['convenience_configuration'])
391
+ end
392
+ if hash['paidy_configuration']
393
+ paidy_configuration = MerchantWebhookPaidyConfiguration.from_hash(hash['paidy_configuration'])
394
+ end
395
+ if hash['qr_merchant_configuration']
396
+ qr_merchant_configuration = MerchantWebhookQrMerchantConfiguration.from_hash(hash['qr_merchant_configuration'])
397
+ end
398
+ if hash['online_configuration']
399
+ online_configuration = MerchantWebhookOnlineConfiguration.from_hash(hash['online_configuration'])
400
+ end
401
+ if hash['bank_transfer_configuration']
402
+ bank_transfer_configuration = MerchantWebhookBankTransferConfiguration.from_hash(hash['bank_transfer_configuration'])
403
+ end
404
+ platform_credentials_enabled =
405
+ hash.key?('platform_credentials_enabled') ? hash['platform_credentials_enabled'] : SKIP
406
+ tagged_platform_credentials_enabled =
407
+ hash.key?('tagged_platform_credentials_enabled') ? hash['tagged_platform_credentials_enabled'] : SKIP
408
+
409
+ # Create a new hash for additional properties, removing known properties.
410
+ new_hash = hash.reject { |k, _| names.value?(k) }
411
+
412
+ additional_properties = APIHelper.get_additional_properties(
413
+ new_hash, proc { |value| value }
414
+ )
415
+
416
+ # Create object from extracted values.
417
+ MerchantWebhookConfiguration.new(percent_fee: percent_fee,
418
+ flat_fees: flat_fees,
419
+ logo_url: logo_url,
420
+ country: country,
421
+ language: language,
422
+ display_time_zone: display_time_zone,
423
+ min_transfer_payout: min_transfer_payout,
424
+ minimum_charge_amounts: minimum_charge_amounts,
425
+ maximum_charge_amounts: maximum_charge_amounts,
426
+ transfer_schedule: transfer_schedule,
427
+ user_transactions_configuration: user_transactions_configuration,
428
+ recurring_token_configuration: recurring_token_configuration,
429
+ security_configuration: security_configuration,
430
+ checkout_configuration: checkout_configuration,
431
+ installments_configuration: installments_configuration,
432
+ subscription_plan_configuration: subscription_plan_configuration,
433
+ card_brand_percent_fees: card_brand_percent_fees,
434
+ subscription_configuration: subscription_configuration,
435
+ customer_management_configuration: customer_management_configuration,
436
+ descriptor_provided_configuration: descriptor_provided_configuration,
437
+ card_configuration: card_configuration,
438
+ qr_scan_configuration: qr_scan_configuration,
439
+ convenience_configuration: convenience_configuration,
440
+ paidy_configuration: paidy_configuration,
441
+ qr_merchant_configuration: qr_merchant_configuration,
442
+ online_configuration: online_configuration,
443
+ bank_transfer_configuration: bank_transfer_configuration,
444
+ platform_credentials_enabled: platform_credentials_enabled,
445
+ tagged_platform_credentials_enabled: tagged_platform_credentials_enabled,
446
+ additional_properties: additional_properties)
447
+ end
448
+
449
+ # Provides a human-readable string representation of the object.
450
+ def to_s
451
+ class_name = self.class.name.split('::').last
452
+ "<#{class_name} percent_fee: #{@percent_fee}, flat_fees: #{@flat_fees}, logo_url:"\
453
+ " #{@logo_url}, country: #{@country}, language: #{@language}, display_time_zone:"\
454
+ " #{@display_time_zone}, min_transfer_payout: #{@min_transfer_payout},"\
455
+ " minimum_charge_amounts: #{@minimum_charge_amounts}, maximum_charge_amounts:"\
456
+ " #{@maximum_charge_amounts}, transfer_schedule: #{@transfer_schedule},"\
457
+ " user_transactions_configuration: #{@user_transactions_configuration},"\
458
+ " recurring_token_configuration: #{@recurring_token_configuration}, security_configuration:"\
459
+ " #{@security_configuration}, checkout_configuration: #{@checkout_configuration},"\
460
+ " installments_configuration: #{@installments_configuration},"\
461
+ " subscription_plan_configuration: #{@subscription_plan_configuration},"\
462
+ " card_brand_percent_fees: #{@card_brand_percent_fees}, subscription_configuration:"\
463
+ " #{@subscription_configuration}, customer_management_configuration:"\
464
+ " #{@customer_management_configuration}, descriptor_provided_configuration:"\
465
+ " #{@descriptor_provided_configuration}, card_configuration: #{@card_configuration},"\
466
+ " qr_scan_configuration: #{@qr_scan_configuration}, convenience_configuration:"\
467
+ " #{@convenience_configuration}, paidy_configuration: #{@paidy_configuration},"\
468
+ " qr_merchant_configuration: #{@qr_merchant_configuration}, online_configuration:"\
469
+ " #{@online_configuration}, bank_transfer_configuration: #{@bank_transfer_configuration},"\
470
+ " platform_credentials_enabled: #{@platform_credentials_enabled},"\
471
+ " tagged_platform_credentials_enabled: #{@tagged_platform_credentials_enabled},"\
472
+ " additional_properties: #{@additional_properties}>"
473
+ end
474
+
475
+ # Provides a debugging-friendly string with detailed object information.
476
+ def inspect
477
+ class_name = self.class.name.split('::').last
478
+ "<#{class_name} percent_fee: #{@percent_fee.inspect}, flat_fees: #{@flat_fees.inspect},"\
479
+ " logo_url: #{@logo_url.inspect}, country: #{@country.inspect}, language:"\
480
+ " #{@language.inspect}, display_time_zone: #{@display_time_zone.inspect},"\
481
+ " min_transfer_payout: #{@min_transfer_payout.inspect}, minimum_charge_amounts:"\
482
+ " #{@minimum_charge_amounts.inspect}, maximum_charge_amounts:"\
483
+ " #{@maximum_charge_amounts.inspect}, transfer_schedule: #{@transfer_schedule.inspect},"\
484
+ " user_transactions_configuration: #{@user_transactions_configuration.inspect},"\
485
+ " recurring_token_configuration: #{@recurring_token_configuration.inspect},"\
486
+ " security_configuration: #{@security_configuration.inspect}, checkout_configuration:"\
487
+ " #{@checkout_configuration.inspect}, installments_configuration:"\
488
+ " #{@installments_configuration.inspect}, subscription_plan_configuration:"\
489
+ " #{@subscription_plan_configuration.inspect}, card_brand_percent_fees:"\
490
+ " #{@card_brand_percent_fees.inspect}, subscription_configuration:"\
491
+ " #{@subscription_configuration.inspect}, customer_management_configuration:"\
492
+ " #{@customer_management_configuration.inspect}, descriptor_provided_configuration:"\
493
+ " #{@descriptor_provided_configuration.inspect}, card_configuration:"\
494
+ " #{@card_configuration.inspect}, qr_scan_configuration: #{@qr_scan_configuration.inspect},"\
495
+ " convenience_configuration: #{@convenience_configuration.inspect}, paidy_configuration:"\
496
+ " #{@paidy_configuration.inspect}, qr_merchant_configuration:"\
497
+ " #{@qr_merchant_configuration.inspect}, online_configuration:"\
498
+ " #{@online_configuration.inspect}, bank_transfer_configuration:"\
499
+ " #{@bank_transfer_configuration.inspect}, platform_credentials_enabled:"\
500
+ " #{@platform_credentials_enabled.inspect}, tagged_platform_credentials_enabled:"\
501
+ " #{@tagged_platform_credentials_enabled.inspect}, additional_properties:"\
502
+ " #{@additional_properties}>"
503
+ end
504
+ end
505
+ end
@@ -0,0 +1,88 @@
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
+ # Convenience-store payment settings.
8
+ class MerchantWebhookConvenienceConfiguration < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Enables convenience-store payments.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :enabled
15
+
16
+ # ISO-8601 duration before convenience payment expiry.
17
+ # @return [String]
18
+ attr_accessor :expiration
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['expiration'] = 'expiration'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ enabled
32
+ expiration
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ %w[
39
+ enabled
40
+ expiration
41
+ ]
42
+ end
43
+
44
+ def initialize(enabled: SKIP, expiration: 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
+ @expiration = expiration unless expiration == 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
+ expiration = hash.key?('expiration') ? hash['expiration'] : SKIP
60
+
61
+ # Create a new hash for additional properties, removing known properties.
62
+ new_hash = hash.reject { |k, _| names.value?(k) }
63
+
64
+ additional_properties = APIHelper.get_additional_properties(
65
+ new_hash, proc { |value| value }
66
+ )
67
+
68
+ # Create object from extracted values.
69
+ MerchantWebhookConvenienceConfiguration.new(enabled: enabled,
70
+ expiration: expiration,
71
+ additional_properties: additional_properties)
72
+ end
73
+
74
+ # Provides a human-readable string representation of the object.
75
+ def to_s
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} enabled: #{@enabled}, expiration: #{@expiration}, additional_properties:"\
78
+ " #{@additional_properties}>"
79
+ end
80
+
81
+ # Provides a debugging-friendly string with detailed object information.
82
+ def inspect
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} enabled: #{@enabled.inspect}, expiration: #{@expiration.inspect},"\
85
+ " additional_properties: #{@additional_properties}>"
86
+ end
87
+ end
88
+ end