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,122 @@
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
+ # Token Create Bank Transfer Data schema.
8
+ class TokenCreateBankTransferData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The bank brand identifier (e.g., 'aozora_bank').
13
+ # @return [String]
14
+ attr_accessor :brand
15
+
16
+ # ISO 8601 duration format (e.g., 'PT168H').
17
+ # @return [String]
18
+ attr_accessor :expiration_period
19
+
20
+ # Time shift applied to the expiration, typically pushing it to the end of
21
+ # the day in a specific timezone (e.g., '23:59:59+09:00').
22
+ # @return [String]
23
+ attr_accessor :expiration_time_shift
24
+
25
+ # The name of the customer initiating the transfer.
26
+ # @return [String]
27
+ attr_accessor :name
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['brand'] = 'brand'
33
+ @_hash['expiration_period'] = 'expiration_period'
34
+ @_hash['expiration_time_shift'] = 'expiration_time_shift'
35
+ @_hash['name'] = 'name'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ expiration_period
43
+ expiration_time_shift
44
+ name
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(brand:, expiration_period: SKIP, expiration_time_shift: SKIP,
54
+ name: SKIP, additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @brand = brand
59
+ @expiration_period = expiration_period unless expiration_period == SKIP
60
+ @expiration_time_shift = expiration_time_shift unless expiration_time_shift == SKIP
61
+ @name = name unless name == SKIP
62
+ @additional_properties = additional_properties
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ brand = hash.key?('brand') ? hash['brand'] : nil
71
+ expiration_period =
72
+ hash.key?('expiration_period') ? hash['expiration_period'] : SKIP
73
+ expiration_time_shift =
74
+ hash.key?('expiration_time_shift') ? hash['expiration_time_shift'] : SKIP
75
+ name = hash.key?('name') ? hash['name'] : SKIP
76
+
77
+ # Create a new hash for additional properties, removing known properties.
78
+ new_hash = hash.reject { |k, _| names.value?(k) }
79
+
80
+ additional_properties = APIHelper.get_additional_properties(
81
+ new_hash, proc { |value| value }
82
+ )
83
+
84
+ # Create object from extracted values.
85
+ TokenCreateBankTransferData.new(brand: brand,
86
+ expiration_period: expiration_period,
87
+ expiration_time_shift: expiration_time_shift,
88
+ name: name,
89
+ additional_properties: additional_properties)
90
+ end
91
+
92
+ # Validates an instance of the object from a given value.
93
+ # @param [TokenCreateBankTransferData | Hash] The value against the validation is performed.
94
+ def self.validate(value)
95
+ if value.instance_of? self
96
+ return APIHelper.valid_type?(value.brand,
97
+ ->(val) { val.instance_of? String })
98
+ end
99
+
100
+ return false unless value.instance_of? Hash
101
+
102
+ APIHelper.valid_type?(value['brand'],
103
+ ->(val) { val.instance_of? String })
104
+ end
105
+
106
+ # Provides a human-readable string representation of the object.
107
+ def to_s
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} brand: #{@brand}, expiration_period: #{@expiration_period},"\
110
+ " expiration_time_shift: #{@expiration_time_shift}, name: #{@name}, additional_properties:"\
111
+ " #{@additional_properties}>"
112
+ end
113
+
114
+ # Provides a debugging-friendly string with detailed object information.
115
+ def inspect
116
+ class_name = self.class.name.split('::').last
117
+ "<#{class_name} brand: #{@brand.inspect}, expiration_period: #{@expiration_period.inspect},"\
118
+ " expiration_time_shift: #{@expiration_time_shift.inspect}, name: #{@name.inspect},"\
119
+ " additional_properties: #{@additional_properties}>"
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,231 @@
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
+ # Token Create Card Data schema.
8
+ class TokenCreateCardData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Cardholder name.
13
+ # @return [String]
14
+ attr_accessor :cardholder
15
+
16
+ # Card number.
17
+ # @return [String]
18
+ attr_accessor :card_number
19
+
20
+ # Card expiration month.
21
+ # @return [String]
22
+ attr_accessor :exp_month
23
+
24
+ # Card expiration year.
25
+ # @return [String]
26
+ attr_accessor :exp_year
27
+
28
+ # Card security code.
29
+ # @return [String]
30
+ attr_accessor :cvv
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
+ # Token Create Phone Number schema.
57
+ # @return [TokenCreatePhoneNumber]
58
+ attr_accessor :phone_number
59
+
60
+ # Token Create Card Data Cvv Authorize schema.
61
+ # @return [TokenCreateCardDataCvvAuthorize]
62
+ attr_accessor :cvv_authorize
63
+
64
+ # Token Create Card Data Three Ds schema.
65
+ # @return [TokenCreateCardDataThreeDs]
66
+ attr_accessor :three_ds
67
+
68
+ # A mapping from model property names to API property names.
69
+ def self.names
70
+ @_hash = {} if @_hash.nil?
71
+ @_hash['cardholder'] = 'cardholder'
72
+ @_hash['card_number'] = 'card_number'
73
+ @_hash['exp_month'] = 'exp_month'
74
+ @_hash['exp_year'] = 'exp_year'
75
+ @_hash['cvv'] = 'cvv'
76
+ @_hash['line1'] = 'line1'
77
+ @_hash['line2'] = 'line2'
78
+ @_hash['state'] = 'state'
79
+ @_hash['city'] = 'city'
80
+ @_hash['country'] = 'country'
81
+ @_hash['zip'] = 'zip'
82
+ @_hash['phone_number'] = 'phone_number'
83
+ @_hash['cvv_authorize'] = 'cvv_authorize'
84
+ @_hash['three_ds'] = 'three_ds'
85
+ @_hash
86
+ end
87
+
88
+ # An array for optional fields
89
+ def self.optionals
90
+ %w[
91
+ cardholder
92
+ cvv
93
+ line1
94
+ line2
95
+ state
96
+ city
97
+ country
98
+ zip
99
+ phone_number
100
+ cvv_authorize
101
+ three_ds
102
+ ]
103
+ end
104
+
105
+ # An array for nullable fields
106
+ def self.nullables
107
+ %w[
108
+ cvv
109
+ ]
110
+ end
111
+
112
+ def initialize(card_number:, exp_month:, exp_year:, cardholder: SKIP,
113
+ cvv: SKIP, line1: SKIP, line2: SKIP, state: SKIP, city: SKIP,
114
+ country: SKIP, zip: SKIP, phone_number: SKIP,
115
+ cvv_authorize: SKIP, three_ds: SKIP,
116
+ additional_properties: nil)
117
+ # Add additional model properties to the instance
118
+ additional_properties = {} if additional_properties.nil?
119
+
120
+ @cardholder = cardholder unless cardholder == SKIP
121
+ @card_number = card_number
122
+ @exp_month = exp_month
123
+ @exp_year = exp_year
124
+ @cvv = cvv unless cvv == SKIP
125
+ @line1 = line1 unless line1 == SKIP
126
+ @line2 = line2 unless line2 == SKIP
127
+ @state = state unless state == SKIP
128
+ @city = city unless city == SKIP
129
+ @country = country unless country == SKIP
130
+ @zip = zip unless zip == SKIP
131
+ @phone_number = phone_number unless phone_number == SKIP
132
+ @cvv_authorize = cvv_authorize unless cvv_authorize == SKIP
133
+ @three_ds = three_ds unless three_ds == SKIP
134
+ @additional_properties = additional_properties
135
+ end
136
+
137
+ # Creates an instance of the object from a hash.
138
+ def self.from_hash(hash)
139
+ return nil unless hash
140
+
141
+ # Extract variables from the hash.
142
+ card_number = hash.key?('card_number') ? hash['card_number'] : nil
143
+ exp_month = hash.key?('exp_month') ? hash['exp_month'] : nil
144
+ exp_year = hash.key?('exp_year') ? hash['exp_year'] : nil
145
+ cardholder = hash.key?('cardholder') ? hash['cardholder'] : SKIP
146
+ cvv = hash.key?('cvv') ? hash['cvv'] : SKIP
147
+ line1 = hash.key?('line1') ? hash['line1'] : SKIP
148
+ line2 = hash.key?('line2') ? hash['line2'] : SKIP
149
+ state = hash.key?('state') ? hash['state'] : SKIP
150
+ city = hash.key?('city') ? hash['city'] : SKIP
151
+ country = hash.key?('country') ? hash['country'] : SKIP
152
+ zip = hash.key?('zip') ? hash['zip'] : SKIP
153
+ phone_number = TokenCreatePhoneNumber.from_hash(hash['phone_number']) if
154
+ hash['phone_number']
155
+ cvv_authorize = TokenCreateCardDataCvvAuthorize.from_hash(hash['cvv_authorize']) if
156
+ hash['cvv_authorize']
157
+ three_ds = TokenCreateCardDataThreeDs.from_hash(hash['three_ds']) if hash['three_ds']
158
+
159
+ # Create a new hash for additional properties, removing known properties.
160
+ new_hash = hash.reject { |k, _| names.value?(k) }
161
+
162
+ additional_properties = APIHelper.get_additional_properties(
163
+ new_hash, proc { |value| value }
164
+ )
165
+
166
+ # Create object from extracted values.
167
+ TokenCreateCardData.new(card_number: card_number,
168
+ exp_month: exp_month,
169
+ exp_year: exp_year,
170
+ cardholder: cardholder,
171
+ cvv: cvv,
172
+ line1: line1,
173
+ line2: line2,
174
+ state: state,
175
+ city: city,
176
+ country: country,
177
+ zip: zip,
178
+ phone_number: phone_number,
179
+ cvv_authorize: cvv_authorize,
180
+ three_ds: three_ds,
181
+ additional_properties: additional_properties)
182
+ end
183
+
184
+ # Validates an instance of the object from a given value.
185
+ # @param [TokenCreateCardData | Hash] The value against the validation is performed.
186
+ def self.validate(value)
187
+ if value.instance_of? self
188
+ return (
189
+ APIHelper.valid_type?(value.card_number,
190
+ ->(val) { val.instance_of? String }) and
191
+ APIHelper.valid_type?(value.exp_month,
192
+ ->(val) { val.instance_of? String }) and
193
+ APIHelper.valid_type?(value.exp_year,
194
+ ->(val) { val.instance_of? String })
195
+ )
196
+ end
197
+
198
+ return false unless value.instance_of? Hash
199
+
200
+ (
201
+ APIHelper.valid_type?(value['card_number'],
202
+ ->(val) { val.instance_of? String }) and
203
+ APIHelper.valid_type?(value['exp_month'],
204
+ ->(val) { val.instance_of? String }) and
205
+ APIHelper.valid_type?(value['exp_year'],
206
+ ->(val) { val.instance_of? String })
207
+ )
208
+ end
209
+
210
+ # Provides a human-readable string representation of the object.
211
+ def to_s
212
+ class_name = self.class.name.split('::').last
213
+ "<#{class_name} cardholder: #{@cardholder}, card_number: #{@card_number}, exp_month:"\
214
+ " #{@exp_month}, exp_year: #{@exp_year}, cvv: #{@cvv}, line1: #{@line1}, line2: #{@line2},"\
215
+ " state: #{@state}, city: #{@city}, country: #{@country}, zip: #{@zip}, phone_number:"\
216
+ " #{@phone_number}, cvv_authorize: #{@cvv_authorize}, three_ds: #{@three_ds},"\
217
+ " additional_properties: #{@additional_properties}>"
218
+ end
219
+
220
+ # Provides a debugging-friendly string with detailed object information.
221
+ def inspect
222
+ class_name = self.class.name.split('::').last
223
+ "<#{class_name} cardholder: #{@cardholder.inspect}, card_number: #{@card_number.inspect},"\
224
+ " exp_month: #{@exp_month.inspect}, exp_year: #{@exp_year.inspect}, cvv: #{@cvv.inspect},"\
225
+ " line1: #{@line1.inspect}, line2: #{@line2.inspect}, state: #{@state.inspect}, city:"\
226
+ " #{@city.inspect}, country: #{@country.inspect}, zip: #{@zip.inspect}, phone_number:"\
227
+ " #{@phone_number.inspect}, cvv_authorize: #{@cvv_authorize.inspect}, three_ds:"\
228
+ " #{@three_ds.inspect}, additional_properties: #{@additional_properties}>"
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,95 @@
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
+ # Token Create Card Data Cvv Authorize schema.
8
+ class TokenCreateCardDataCvvAuthorize < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Enabled value.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :enabled
15
+
16
+ # ISO-4217 currency code.
17
+ # @return [String]
18
+ attr_accessor :currency
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['currency'] = 'currency'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ enabled
32
+ currency
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(enabled: false, currency: SKIP, additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @enabled = enabled unless enabled == SKIP
46
+ @currency = currency unless currency == 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
+ enabled = hash['enabled'] ||= false
56
+ currency = hash.key?('currency') ? hash['currency'] : SKIP
57
+
58
+ # Create a new hash for additional properties, removing known properties.
59
+ new_hash = hash.reject { |k, _| names.value?(k) }
60
+
61
+ additional_properties = APIHelper.get_additional_properties(
62
+ new_hash, proc { |value| value }
63
+ )
64
+
65
+ # Create object from extracted values.
66
+ TokenCreateCardDataCvvAuthorize.new(enabled: enabled,
67
+ currency: currency,
68
+ additional_properties: additional_properties)
69
+ end
70
+
71
+ # Validates an instance of the object from a given value.
72
+ # @param [TokenCreateCardDataCvvAuthorize | Hash] The value against the validation is performed.
73
+ def self.validate(value)
74
+ return true if value.instance_of? self
75
+
76
+ return false unless value.instance_of? Hash
77
+
78
+ true
79
+ end
80
+
81
+ # Provides a human-readable string representation of the object.
82
+ def to_s
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} enabled: #{@enabled}, currency: #{@currency}, additional_properties:"\
85
+ " #{@additional_properties}>"
86
+ end
87
+
88
+ # Provides a debugging-friendly string with detailed object information.
89
+ def inspect
90
+ class_name = self.class.name.split('::').last
91
+ "<#{class_name} enabled: #{@enabled.inspect}, currency: #{@currency.inspect},"\
92
+ " additional_properties: #{@additional_properties}>"
93
+ end
94
+ end
95
+ 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
+ # Token Create Card Data Three Ds schema.
8
+ class TokenCreateCardDataThreeDs < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Enabled value.
13
+ # @return [TrueClass | FalseClass]
14
+ attr_accessor :enabled
15
+
16
+ # Redirect endpoint URL.
17
+ # @return [String]
18
+ attr_accessor :redirect_endpoint
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['redirect_endpoint'] = 'redirect_endpoint'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ enabled
32
+ redirect_endpoint
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(enabled: SKIP, redirect_endpoint: SKIP,
42
+ additional_properties: nil)
43
+ # Add additional model properties to the instance
44
+ additional_properties = {} if additional_properties.nil?
45
+
46
+ @enabled = enabled unless enabled == SKIP
47
+ @redirect_endpoint = redirect_endpoint unless redirect_endpoint == 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
+ enabled = hash.key?('enabled') ? hash['enabled'] : SKIP
57
+ redirect_endpoint =
58
+ hash.key?('redirect_endpoint') ? hash['redirect_endpoint'] : SKIP
59
+
60
+ # Create a new hash for additional properties, removing known properties.
61
+ new_hash = hash.reject { |k, _| names.value?(k) }
62
+
63
+ additional_properties = APIHelper.get_additional_properties(
64
+ new_hash, proc { |value| value }
65
+ )
66
+
67
+ # Create object from extracted values.
68
+ TokenCreateCardDataThreeDs.new(enabled: enabled,
69
+ redirect_endpoint: redirect_endpoint,
70
+ additional_properties: additional_properties)
71
+ end
72
+
73
+ # Validates an instance of the object from a given value.
74
+ # @param [TokenCreateCardDataThreeDs | Hash] The value against the validation is performed.
75
+ def self.validate(value)
76
+ return true if value.instance_of? self
77
+
78
+ return false unless value.instance_of? Hash
79
+
80
+ true
81
+ end
82
+
83
+ # Provides a human-readable string representation of the object.
84
+ def to_s
85
+ class_name = self.class.name.split('::').last
86
+ "<#{class_name} enabled: #{@enabled}, redirect_endpoint: #{@redirect_endpoint},"\
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} enabled: #{@enabled.inspect}, redirect_endpoint:"\
94
+ " #{@redirect_endpoint.inspect}, additional_properties: #{@additional_properties}>"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,147 @@
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
+ # Token Create Konbini Data schema.
8
+ class TokenCreateKonbiniData < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Customer name.
13
+ # @return [String]
14
+ attr_accessor :customer_name
15
+
16
+ # Base Konbini Data Convenience Store schema.
17
+ # @return [BaseKonbiniDataConvenienceStore]
18
+ attr_accessor :convenience_store
19
+
20
+ # ISO-8601 Duration (e.g., 'P7D'). Default is 30 days.
21
+ # @return [String]
22
+ attr_accessor :expiration_period
23
+
24
+ # Token Create Phone Number schema.
25
+ # @return [TokenCreatePhoneNumber]
26
+ attr_accessor :phone_number
27
+
28
+ # Expiration time shift value.
29
+ # @return [String]
30
+ attr_accessor :expiration_time_shift
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['customer_name'] = 'customer_name'
36
+ @_hash['convenience_store'] = 'convenience_store'
37
+ @_hash['expiration_period'] = 'expiration_period'
38
+ @_hash['phone_number'] = 'phone_number'
39
+ @_hash['expiration_time_shift'] = 'expiration_time_shift'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ %w[
46
+ expiration_period
47
+ expiration_time_shift
48
+ ]
49
+ end
50
+
51
+ # An array for nullable fields
52
+ def self.nullables
53
+ []
54
+ end
55
+
56
+ def initialize(customer_name:, convenience_store:, phone_number:,
57
+ expiration_period: SKIP, expiration_time_shift: SKIP,
58
+ additional_properties: nil)
59
+ # Add additional model properties to the instance
60
+ additional_properties = {} if additional_properties.nil?
61
+
62
+ @customer_name = customer_name
63
+ @convenience_store = convenience_store
64
+ @expiration_period = expiration_period unless expiration_period == SKIP
65
+ @phone_number = phone_number
66
+ @expiration_time_shift = expiration_time_shift unless expiration_time_shift == SKIP
67
+ @additional_properties = additional_properties
68
+ end
69
+
70
+ # Creates an instance of the object from a hash.
71
+ def self.from_hash(hash)
72
+ return nil unless hash
73
+
74
+ # Extract variables from the hash.
75
+ customer_name = hash.key?('customer_name') ? hash['customer_name'] : nil
76
+ convenience_store =
77
+ hash.key?('convenience_store') ? hash['convenience_store'] : nil
78
+ phone_number = TokenCreatePhoneNumber.from_hash(hash['phone_number']) if
79
+ hash['phone_number']
80
+ expiration_period =
81
+ hash.key?('expiration_period') ? hash['expiration_period'] : SKIP
82
+ expiration_time_shift =
83
+ hash.key?('expiration_time_shift') ? hash['expiration_time_shift'] : SKIP
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ TokenCreateKonbiniData.new(customer_name: customer_name,
94
+ convenience_store: convenience_store,
95
+ phone_number: phone_number,
96
+ expiration_period: expiration_period,
97
+ expiration_time_shift: expiration_time_shift,
98
+ additional_properties: additional_properties)
99
+ end
100
+
101
+ # Validates an instance of the object from a given value.
102
+ # @param [TokenCreateKonbiniData | Hash] The value against the validation is performed.
103
+ def self.validate(value)
104
+ if value.instance_of? self
105
+ return (
106
+ APIHelper.valid_type?(value.customer_name,
107
+ ->(val) { val.instance_of? String }) and
108
+ APIHelper.valid_type?(value.convenience_store,
109
+ ->(val) { BaseKonbiniDataConvenienceStore.validate(val) }) and
110
+ APIHelper.valid_type?(value.phone_number,
111
+ ->(val) { TokenCreatePhoneNumber.validate(val) },
112
+ is_model_hash: true)
113
+ )
114
+ end
115
+
116
+ return false unless value.instance_of? Hash
117
+
118
+ (
119
+ APIHelper.valid_type?(value['customer_name'],
120
+ ->(val) { val.instance_of? String }) and
121
+ APIHelper.valid_type?(value['convenience_store'],
122
+ ->(val) { BaseKonbiniDataConvenienceStore.validate(val) }) and
123
+ APIHelper.valid_type?(value['phone_number'],
124
+ ->(val) { TokenCreatePhoneNumber.validate(val) },
125
+ is_model_hash: true)
126
+ )
127
+ end
128
+
129
+ # Provides a human-readable string representation of the object.
130
+ def to_s
131
+ class_name = self.class.name.split('::').last
132
+ "<#{class_name} customer_name: #{@customer_name}, convenience_store: #{@convenience_store},"\
133
+ " expiration_period: #{@expiration_period}, phone_number: #{@phone_number},"\
134
+ " expiration_time_shift: #{@expiration_time_shift}, additional_properties:"\
135
+ " #{@additional_properties}>"
136
+ end
137
+
138
+ # Provides a debugging-friendly string with detailed object information.
139
+ def inspect
140
+ class_name = self.class.name.split('::').last
141
+ "<#{class_name} customer_name: #{@customer_name.inspect}, convenience_store:"\
142
+ " #{@convenience_store.inspect}, expiration_period: #{@expiration_period.inspect},"\
143
+ " phone_number: #{@phone_number.inspect}, expiration_time_shift:"\
144
+ " #{@expiration_time_shift.inspect}, additional_properties: #{@additional_properties}>"
145
+ end
146
+ end
147
+ end