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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +224 -0
- data/bin/console +15 -0
- data/lib/univapay_client_sdk/api_helper.rb +10 -0
- data/lib/univapay_client_sdk/apis/base_api.rb +67 -0
- data/lib/univapay_client_sdk/apis/cancels_api.rb +293 -0
- data/lib/univapay_client_sdk/apis/charges_api.rb +903 -0
- data/lib/univapay_client_sdk/apis/merchants_api.rb +57 -0
- data/lib/univapay_client_sdk/apis/refunds_api.rb +298 -0
- data/lib/univapay_client_sdk/apis/stores_api.rb +126 -0
- data/lib/univapay_client_sdk/apis/subscriptions_api.rb +1014 -0
- data/lib/univapay_client_sdk/apis/transaction_tokens_api.rb +455 -0
- data/lib/univapay_client_sdk/apis/webhooks_api.rb +463 -0
- data/lib/univapay_client_sdk/client.rb +116 -0
- data/lib/univapay_client_sdk/configuration.rb +178 -0
- data/lib/univapay_client_sdk/events/unknown_event.rb +32 -0
- data/lib/univapay_client_sdk/events/webhooks/bank_transfer_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/cancel_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/charge_finished_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/charge_updated_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/customs_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/recurring_token_deleted_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/refund_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/subscription_canceled_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/subscription_completed_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/subscription_created_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/subscription_failure_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/subscription_payment_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/subscription_suspended_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/token_created_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/token_cvv_auth_check_updated_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/token_cvv_auth_updated_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/token_replaced_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/token_three_ds_updated_handler.rb +37 -0
- data/lib/univapay_client_sdk/events/webhooks/token_updated_handler.rb +37 -0
- data/lib/univapay_client_sdk/exceptions/api_error_exception.rb +199 -0
- data/lib/univapay_client_sdk/exceptions/api_exception.rb +21 -0
- data/lib/univapay_client_sdk/http/api_response.rb +19 -0
- data/lib/univapay_client_sdk/http/auth/oauth_2.rb +53 -0
- data/lib/univapay_client_sdk/http/http_call_back.rb +10 -0
- data/lib/univapay_client_sdk/http/http_method_enum.rb +10 -0
- data/lib/univapay_client_sdk/http/http_request.rb +10 -0
- data/lib/univapay_client_sdk/http/http_response.rb +10 -0
- data/lib/univapay_client_sdk/http/proxy_settings.rb +22 -0
- data/lib/univapay_client_sdk/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/univapay_client_sdk/logging/sdk_logger.rb +17 -0
- data/lib/univapay_client_sdk/models/api_error_detail.rb +87 -0
- data/lib/univapay_client_sdk/models/api_error_status.rb +26 -0
- data/lib/univapay_client_sdk/models/bank_transfer_event.rb +27 -0
- data/lib/univapay_client_sdk/models/bank_transfer_ledger.rb +199 -0
- data/lib/univapay_client_sdk/models/bank_transfer_ledger_bank_ledger_type.rb +36 -0
- data/lib/univapay_client_sdk/models/bank_transfer_ledger_list.rb +104 -0
- data/lib/univapay_client_sdk/models/bank_transfer_ledger_mode.rb +36 -0
- data/lib/univapay_client_sdk/models/bank_transfer_payment_status.rb +44 -0
- data/lib/univapay_client_sdk/models/bank_transfer_status_data.rb +229 -0
- data/lib/univapay_client_sdk/models/bank_transfer_status_webhook_callback.rb +134 -0
- data/lib/univapay_client_sdk/models/bank_transfer_status_webhook_callback_extension.rb +75 -0
- data/lib/univapay_client_sdk/models/base_bank_transfer_data.rb +100 -0
- data/lib/univapay_client_sdk/models/base_konbini_data.rb +99 -0
- data/lib/univapay_client_sdk/models/base_konbini_data_convenience_store.rb +60 -0
- data/lib/univapay_client_sdk/models/base_model.rb +110 -0
- data/lib/univapay_client_sdk/models/base_online_data.rb +123 -0
- data/lib/univapay_client_sdk/models/base_online_data_brand.rb +48 -0
- data/lib/univapay_client_sdk/models/base_online_data_call_method.rb +52 -0
- data/lib/univapay_client_sdk/models/base_online_data_os_type.rb +36 -0
- data/lib/univapay_client_sdk/models/base_online_data_user_identifier_source.rb +36 -0
- data/lib/univapay_client_sdk/models/cancel.rb +183 -0
- data/lib/univapay_client_sdk/models/cancel_create_request.rb +77 -0
- data/lib/univapay_client_sdk/models/cancel_event.rb +26 -0
- data/lib/univapay_client_sdk/models/cancel_list.rb +94 -0
- data/lib/univapay_client_sdk/models/cancel_status.rb +44 -0
- data/lib/univapay_client_sdk/models/cancel_update_request.rb +76 -0
- data/lib/univapay_client_sdk/models/cancel_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/cancel_webhook_callback_extension.rb +74 -0
- data/lib/univapay_client_sdk/models/card_processor_installment_config.rb +89 -0
- data/lib/univapay_client_sdk/models/charge.rb +411 -0
- data/lib/univapay_client_sdk/models/charge_capture_request.rb +84 -0
- data/lib/univapay_client_sdk/models/charge_create_request.rb +179 -0
- data/lib/univapay_client_sdk/models/charge_create_request_client_metadata.rb +76 -0
- data/lib/univapay_client_sdk/models/charge_create_request_redirect.rb +75 -0
- data/lib/univapay_client_sdk/models/charge_create_request_three_ds.rb +88 -0
- data/lib/univapay_client_sdk/models/charge_create_request_three_ds_mode.rb +44 -0
- data/lib/univapay_client_sdk/models/charge_finished_webhook_callback.rb +131 -0
- data/lib/univapay_client_sdk/models/charge_list.rb +104 -0
- data/lib/univapay_client_sdk/models/charge_mode.rb +36 -0
- data/lib/univapay_client_sdk/models/charge_redirect.rb +96 -0
- data/lib/univapay_client_sdk/models/charge_status.rb +56 -0
- data/lib/univapay_client_sdk/models/charge_three_ds.rb +97 -0
- data/lib/univapay_client_sdk/models/charge_transaction_token_type.rb +40 -0
- data/lib/univapay_client_sdk/models/charge_update_request.rb +75 -0
- data/lib/univapay_client_sdk/models/charge_updated_webhook_callback.rb +131 -0
- data/lib/univapay_client_sdk/models/cursor_direction_query.rb +36 -0
- data/lib/univapay_client_sdk/models/customs_declaration_create_request.rb +106 -0
- data/lib/univapay_client_sdk/models/customs_declaration_event.rb +27 -0
- data/lib/univapay_client_sdk/models/customs_declaration_patch_request.rb +77 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_callback.rb +135 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_callback_extension.rb +76 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_data.rb +232 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_declaration.rb +121 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_error.rb +127 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_other_error.rb +120 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_result.rb +125 -0
- data/lib/univapay_client_sdk/models/customs_declaration_webhook_status.rb +44 -0
- data/lib/univapay_client_sdk/models/generic_metadata.rb +111 -0
- data/lib/univapay_client_sdk/models/installment_fixed_cycles.rb +70 -0
- data/lib/univapay_client_sdk/models/installment_plan_type.rb +36 -0
- data/lib/univapay_client_sdk/models/issuer_token.rb +177 -0
- data/lib/univapay_client_sdk/models/issuer_token_call_method.rb +51 -0
- data/lib/univapay_client_sdk/models/issuer_token_payload.rb +105 -0
- data/lib/univapay_client_sdk/models/issuer_token_payment_type.rb +36 -0
- data/lib/univapay_client_sdk/models/merchant.rb +179 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_bank_transfer_configuration.rb +342 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_card_brand_percent_fees.rb +167 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_card_configuration.rb +301 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_checkout_configuration.rb +87 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_checkout_toggle.rb +77 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_configuration.rb +505 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_convenience_configuration.rb +88 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_customer_management_configuration.rb +99 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_installment_plan_configuration.rb +139 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_limit_charge_by_card_configuration.rb +88 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_limit_refund_by_sales_configuration.rb +100 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_money_amount.rb +85 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_online_configuration.rb +77 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_paidy_configuration.rb +77 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_qr_merchant_configuration.rb +77 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_qr_scan_configuration.rb +93 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_recurring_cvv_confirmation_config.rb +97 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_recurring_token_configuration.rb +109 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_security_configuration.rb +234 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_subscription_configuration.rb +138 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_subscription_plan_configuration.rb +138 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_transfer_schedule_configuration.rb +159 -0
- data/lib/univapay_client_sdk/models/merchant_webhook_user_transactions_configuration.rb +349 -0
- data/lib/univapay_client_sdk/models/mode_query.rb +36 -0
- data/lib/univapay_client_sdk/models/payment_error.rb +178 -0
- data/lib/univapay_client_sdk/models/plan_settings_type.rb +36 -0
- data/lib/univapay_client_sdk/models/recurring_token_deleted_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/refund.rb +240 -0
- data/lib/univapay_client_sdk/models/refund_create_request.rb +118 -0
- data/lib/univapay_client_sdk/models/refund_event.rb +26 -0
- data/lib/univapay_client_sdk/models/refund_list.rb +104 -0
- data/lib/univapay_client_sdk/models/refund_reason_request.rb +42 -0
- data/lib/univapay_client_sdk/models/refund_reason_response.rb +62 -0
- data/lib/univapay_client_sdk/models/refund_status.rb +47 -0
- data/lib/univapay_client_sdk/models/refund_update_request.rb +99 -0
- data/lib/univapay_client_sdk/models/refund_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/refund_webhook_callback_extension.rb +74 -0
- data/lib/univapay_client_sdk/models/restrict_ip_after_failed_charge_config.rb +99 -0
- data/lib/univapay_client_sdk/models/store.rb +119 -0
- data/lib/univapay_client_sdk/models/store_list.rb +104 -0
- data/lib/univapay_client_sdk/models/store_list_item.rb +114 -0
- data/lib/univapay_client_sdk/models/subscription.rb +310 -0
- data/lib/univapay_client_sdk/models/subscription_canceled_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_completed_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_create_request.rb +216 -0
- data/lib/univapay_client_sdk/models/subscription_created_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_failure_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_installment_plan.rb +86 -0
- data/lib/univapay_client_sdk/models/subscription_list.rb +104 -0
- data/lib/univapay_client_sdk/models/subscription_list_item.rb +352 -0
- data/lib/univapay_client_sdk/models/subscription_next_payment.rb +222 -0
- data/lib/univapay_client_sdk/models/subscription_patch_payment_request.rb +117 -0
- data/lib/univapay_client_sdk/models/subscription_patch_token_request.rb +79 -0
- data/lib/univapay_client_sdk/models/subscription_payment.rb +185 -0
- data/lib/univapay_client_sdk/models/subscription_payment_list.rb +94 -0
- data/lib/univapay_client_sdk/models/subscription_payment_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_period.rb +56 -0
- data/lib/univapay_client_sdk/models/subscription_plan_settings.rb +98 -0
- data/lib/univapay_client_sdk/models/subscription_schedule_settings.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_status.rb +56 -0
- data/lib/univapay_client_sdk/models/subscription_suspend_request.rb +79 -0
- data/lib/univapay_client_sdk/models/subscription_suspended_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/subscription_terminate_with_status.rb +36 -0
- data/lib/univapay_client_sdk/models/subscription_termination_mode.rb +36 -0
- data/lib/univapay_client_sdk/models/subscription_update_next_payment.rb +104 -0
- data/lib/univapay_client_sdk/models/subscription_update_request.rb +134 -0
- data/lib/univapay_client_sdk/models/subscription_update_schedule_settings.rb +110 -0
- data/lib/univapay_client_sdk/models/subscription_update_status.rb +37 -0
- data/lib/univapay_client_sdk/models/subscription_user_data.rb +134 -0
- data/lib/univapay_client_sdk/models/suspend_schedule_settings.rb +78 -0
- data/lib/univapay_client_sdk/models/three_ds_issuer_token.rb +116 -0
- data/lib/univapay_client_sdk/models/three_ds_issuer_token_call_method.rb +26 -0
- data/lib/univapay_client_sdk/models/three_ds_issuer_token_payment_type.rb +26 -0
- data/lib/univapay_client_sdk/models/token_create_bank_transfer_data.rb +122 -0
- data/lib/univapay_client_sdk/models/token_create_card_data.rb +231 -0
- data/lib/univapay_client_sdk/models/token_create_card_data_cvv_authorize.rb +95 -0
- data/lib/univapay_client_sdk/models/token_create_card_data_three_ds.rb +97 -0
- data/lib/univapay_client_sdk/models/token_create_konbini_data.rb +147 -0
- data/lib/univapay_client_sdk/models/token_create_online_data.rb +142 -0
- data/lib/univapay_client_sdk/models/token_create_phone_number.rb +104 -0
- data/lib/univapay_client_sdk/models/token_created_webhook_callback.rb +131 -0
- data/lib/univapay_client_sdk/models/token_cvv_auth_check_updated_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/token_cvv_auth_updated_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/token_replaced_webhook_callback.rb +131 -0
- data/lib/univapay_client_sdk/models/token_response_bank_transfer_data.rb +181 -0
- data/lib/univapay_client_sdk/models/token_response_card_data.rb +129 -0
- data/lib/univapay_client_sdk/models/token_response_card_data_billing.rb +153 -0
- data/lib/univapay_client_sdk/models/token_response_card_data_card.rb +187 -0
- data/lib/univapay_client_sdk/models/token_response_card_data_cvv_authorize.rb +132 -0
- data/lib/univapay_client_sdk/models/token_response_card_data_cvv_authorize_check.rb +118 -0
- data/lib/univapay_client_sdk/models/token_response_card_data_three_ds.rb +142 -0
- data/lib/univapay_client_sdk/models/token_response_card_data_three_ds_status.rb +48 -0
- data/lib/univapay_client_sdk/models/token_response_konbini_data.rb +135 -0
- data/lib/univapay_client_sdk/models/token_response_online_data.rb +158 -0
- data/lib/univapay_client_sdk/models/token_response_phone_number.rb +96 -0
- data/lib/univapay_client_sdk/models/token_three_ds_updated_webhook_callback.rb +132 -0
- data/lib/univapay_client_sdk/models/token_updated_webhook_callback.rb +131 -0
- data/lib/univapay_client_sdk/models/transaction_token.rb +250 -0
- data/lib/univapay_client_sdk/models/transaction_token_create_request.rb +161 -0
- data/lib/univapay_client_sdk/models/transaction_token_create_request_metadata.rb +124 -0
- data/lib/univapay_client_sdk/models/transaction_token_create_request_payment_type.rb +44 -0
- data/lib/univapay_client_sdk/models/transaction_token_create_request_type.rb +40 -0
- data/lib/univapay_client_sdk/models/transaction_token_list.rb +104 -0
- data/lib/univapay_client_sdk/models/transaction_token_list_item.rb +204 -0
- data/lib/univapay_client_sdk/models/transaction_token_list_item_user_data.rb +96 -0
- data/lib/univapay_client_sdk/models/transaction_token_mode.rb +36 -0
- data/lib/univapay_client_sdk/models/transaction_token_payment_type.rb +48 -0
- data/lib/univapay_client_sdk/models/transaction_token_type.rb +40 -0
- data/lib/univapay_client_sdk/models/transaction_token_update_request.rb +95 -0
- data/lib/univapay_client_sdk/models/transaction_token_update_request_data.rb +184 -0
- data/lib/univapay_client_sdk/models/transaction_token_update_request_data_phone_number.rb +86 -0
- data/lib/univapay_client_sdk/models/webhook.rb +191 -0
- data/lib/univapay_client_sdk/models/webhook_callback_envelope.rb +98 -0
- data/lib/univapay_client_sdk/models/webhook_create_request.rb +97 -0
- data/lib/univapay_client_sdk/models/webhook_event.rb +166 -0
- data/lib/univapay_client_sdk/models/webhook_event_list.rb +94 -0
- data/lib/univapay_client_sdk/models/webhook_list.rb +94 -0
- data/lib/univapay_client_sdk/models/webhook_trigger.rb +104 -0
- data/lib/univapay_client_sdk/models/webhook_update_request.rb +108 -0
- data/lib/univapay_client_sdk/utilities/date_time_helper.rb +11 -0
- data/lib/univapay_client_sdk/utilities/file_wrapper.rb +28 -0
- data/lib/univapay_client_sdk/utilities/union_type_lookup.rb +242 -0
- data/lib/univapay_client_sdk.rb +322 -0
- data/test/apis/api_test_base.rb +23 -0
- data/test/apis/test_cancels_api.rb +162 -0
- data/test/apis/test_charges_api.rb +564 -0
- data/test/apis/test_merchants_api.rb +50 -0
- data/test/apis/test_refunds_api.rb +172 -0
- data/test/apis/test_stores_api.rb +86 -0
- data/test/apis/test_subscriptions_api.rb +579 -0
- data/test/apis/test_transaction_tokens_api.rb +305 -0
- data/test/apis/test_webhooks_api.rb +245 -0
- data/test/events/webhooks/test_bank_transfer_handler.rb +95 -0
- data/test/events/webhooks/test_cancel_handler.rb +90 -0
- data/test/events/webhooks/test_charge_finished_handler.rb +95 -0
- data/test/events/webhooks/test_charge_updated_handler.rb +95 -0
- data/test/events/webhooks/test_customs_handler.rb +100 -0
- data/test/events/webhooks/test_recurring_token_deleted_handler.rb +92 -0
- data/test/events/webhooks/test_refund_handler.rb +95 -0
- data/test/events/webhooks/test_subscription_canceled_handler.rb +101 -0
- data/test/events/webhooks/test_subscription_completed_handler.rb +101 -0
- data/test/events/webhooks/test_subscription_created_handler.rb +101 -0
- data/test/events/webhooks/test_subscription_failure_handler.rb +101 -0
- data/test/events/webhooks/test_subscription_payment_handler.rb +101 -0
- data/test/events/webhooks/test_subscription_suspended_handler.rb +101 -0
- data/test/events/webhooks/test_token_created_handler.rb +92 -0
- data/test/events/webhooks/test_token_cvv_auth_check_updated_handler.rb +92 -0
- data/test/events/webhooks/test_token_cvv_auth_updated_handler.rb +92 -0
- data/test/events/webhooks/test_token_replaced_handler.rb +92 -0
- data/test/events/webhooks/test_token_three_ds_updated_handler.rb +92 -0
- data/test/events/webhooks/test_token_updated_handler.rb +92 -0
- data/test/framework_integrations/rails_app_test_helper.rb +14 -0
- data/test/framework_integrations/webhooks/apps/hanami_charge_updated_app.rb +61 -0
- data/test/framework_integrations/webhooks/apps/rails_charge_updated_app.rb +24 -0
- data/test/framework_integrations/webhooks/apps/sinatra_charge_updated_app.rb +27 -0
- data/test/framework_integrations/webhooks/test/test_hanami_charge_updated_app.rb +57 -0
- data/test/framework_integrations/webhooks/test/test_rails_charge_updated_app.rb +57 -0
- data/test/framework_integrations/webhooks/test/test_sinatra_charge_updated_app.rb +58 -0
- data/test/http_response_catcher.rb +19 -0
- metadata +397 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# univapay_client_sdk
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for Univapay
|
|
4
|
+
# by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
module UnivapayClientSdk
|
|
8
|
+
# Webhook envelope for the subscription_completed event.
|
|
9
|
+
class SubscriptionCompletedWebhookCallback < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# Unique ID of this webhook delivery.
|
|
14
|
+
# @return [UUID | String]
|
|
15
|
+
attr_accessor :id
|
|
16
|
+
|
|
17
|
+
# Event type discriminator — always `subscription_completed` for this
|
|
18
|
+
# callback.
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_reader :event
|
|
21
|
+
|
|
22
|
+
# The Subscription object represents a recurring payment schedule.
|
|
23
|
+
# @return [Subscription]
|
|
24
|
+
attr_accessor :data
|
|
25
|
+
|
|
26
|
+
# Timestamp when the event was fired.
|
|
27
|
+
# @return [DateTime]
|
|
28
|
+
attr_accessor :created_on
|
|
29
|
+
|
|
30
|
+
# A mapping from model property names to API property names.
|
|
31
|
+
def self.names
|
|
32
|
+
@_hash = {} if @_hash.nil?
|
|
33
|
+
@_hash['id'] = 'id'
|
|
34
|
+
@_hash['event'] = 'event'
|
|
35
|
+
@_hash['data'] = 'data'
|
|
36
|
+
@_hash['created_on'] = 'created_on'
|
|
37
|
+
@_hash
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# An array for optional fields
|
|
41
|
+
def self.optionals
|
|
42
|
+
%w[
|
|
43
|
+
data
|
|
44
|
+
]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# An array for nullable fields
|
|
48
|
+
def self.nullables
|
|
49
|
+
[]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def initialize(id:, created_on:, data: SKIP, additional_properties: nil)
|
|
53
|
+
# Add additional model properties to the instance
|
|
54
|
+
additional_properties = {} if additional_properties.nil?
|
|
55
|
+
|
|
56
|
+
@id = id
|
|
57
|
+
@event = 'subscription_completed'
|
|
58
|
+
@data = data unless data == SKIP
|
|
59
|
+
@created_on = created_on
|
|
60
|
+
@additional_properties = additional_properties
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Creates an instance of the object from a hash.
|
|
64
|
+
def self.from_hash(hash)
|
|
65
|
+
return nil unless hash
|
|
66
|
+
|
|
67
|
+
# Extract variables from the hash.
|
|
68
|
+
id = hash.key?('id') ? hash['id'] : nil
|
|
69
|
+
created_on = if hash.key?('created_on')
|
|
70
|
+
(DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
|
|
71
|
+
end
|
|
72
|
+
data = Subscription.from_hash(hash['data']) if hash['data']
|
|
73
|
+
|
|
74
|
+
# Create a new hash for additional properties, removing known properties.
|
|
75
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
76
|
+
|
|
77
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
78
|
+
new_hash, proc { |value| value }
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# Create object from extracted values.
|
|
82
|
+
SubscriptionCompletedWebhookCallback.new(id: id,
|
|
83
|
+
created_on: created_on,
|
|
84
|
+
data: data,
|
|
85
|
+
additional_properties: additional_properties)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def to_custom_created_on
|
|
89
|
+
DateTimeHelper.to_rfc3339(created_on)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Validates an instance of the object from a given value.
|
|
93
|
+
# @param [SubscriptionCompletedWebhookCallback | Hash] The value against the validation is performed.
|
|
94
|
+
def self.validate(value)
|
|
95
|
+
if value.instance_of? self
|
|
96
|
+
return (
|
|
97
|
+
APIHelper.valid_type?(value.id,
|
|
98
|
+
->(val) { val.instance_of? String }) and
|
|
99
|
+
APIHelper.valid_type?(value.event,
|
|
100
|
+
->(val) { val.instance_of? String }) and
|
|
101
|
+
APIHelper.valid_type?(value.created_on,
|
|
102
|
+
->(val) { val.instance_of? DateTime })
|
|
103
|
+
)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
return false unless value.instance_of? Hash
|
|
107
|
+
|
|
108
|
+
(
|
|
109
|
+
APIHelper.valid_type?(value['id'],
|
|
110
|
+
->(val) { val.instance_of? String }) and
|
|
111
|
+
APIHelper.valid_type?(value['event'],
|
|
112
|
+
->(val) { val.instance_of? String }) and
|
|
113
|
+
APIHelper.valid_type?(value['created_on'],
|
|
114
|
+
->(val) { val.instance_of? String })
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Provides a human-readable string representation of the object.
|
|
119
|
+
def to_s
|
|
120
|
+
class_name = self.class.name.split('::').last
|
|
121
|
+
"<#{class_name} id: #{@id}, event: #{@event}, data: #{@data}, created_on: #{@created_on},"\
|
|
122
|
+
" additional_properties: #{@additional_properties}>"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
126
|
+
def inspect
|
|
127
|
+
class_name = self.class.name.split('::').last
|
|
128
|
+
"<#{class_name} id: #{@id.inspect}, event: #{@event.inspect}, data: #{@data.inspect},"\
|
|
129
|
+
" created_on: #{@created_on.inspect}, additional_properties: #{@additional_properties}>"
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# univapay_client_sdk
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for Univapay
|
|
4
|
+
# by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module UnivapayClientSdk
|
|
7
|
+
# Request payload for creating a subscription.
|
|
8
|
+
class SubscriptionCreateRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Transaction token ID authorized for recurring payments.
|
|
13
|
+
# @return [UUID | String]
|
|
14
|
+
attr_accessor :transaction_token_id
|
|
15
|
+
|
|
16
|
+
# Amount to be charged in each cycle.
|
|
17
|
+
# @return [Integer]
|
|
18
|
+
attr_accessor :amount
|
|
19
|
+
|
|
20
|
+
# ISO-4217 currency code.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :currency
|
|
23
|
+
|
|
24
|
+
# Optional different amount for the first charge.
|
|
25
|
+
# @return [Integer]
|
|
26
|
+
attr_accessor :initial_amount
|
|
27
|
+
|
|
28
|
+
# Subscription Period schema.
|
|
29
|
+
# @return [SubscriptionPeriod]
|
|
30
|
+
attr_accessor :period
|
|
31
|
+
|
|
32
|
+
# ISO-8601 Duration for custom frequency (e.g., P3D, P2M). Cannot be used
|
|
33
|
+
# if 'period' is specified.
|
|
34
|
+
# @return [String]
|
|
35
|
+
attr_accessor :cyclical_period
|
|
36
|
+
|
|
37
|
+
# Schedule settings applied to a subscription.
|
|
38
|
+
# @return [SubscriptionScheduleSettings]
|
|
39
|
+
attr_accessor :schedule_settings
|
|
40
|
+
|
|
41
|
+
# Configuration for credit card company side installments.
|
|
42
|
+
# @return [SubscriptionInstallmentPlan]
|
|
43
|
+
attr_accessor :installment_plan
|
|
44
|
+
|
|
45
|
+
# Configuration for limited-cycle subscriptions (Univapay side).
|
|
46
|
+
# @return [SubscriptionPlanSettings]
|
|
47
|
+
attr_accessor :subscription_plan
|
|
48
|
+
|
|
49
|
+
# If true, the first charge will only be an authorization (Hold).
|
|
50
|
+
# @return [TrueClass | FalseClass]
|
|
51
|
+
attr_accessor :first_charge_authorization_only
|
|
52
|
+
|
|
53
|
+
# ISO-8601 Duration for auto-capture if authorization only is true. Allowed
|
|
54
|
+
# days: P1D to P6D.
|
|
55
|
+
# @return [String]
|
|
56
|
+
attr_accessor :first_charge_capture_after
|
|
57
|
+
|
|
58
|
+
# A free-form dictionary for custom metadata.
|
|
59
|
+
# @return [GenericMetadata]
|
|
60
|
+
attr_accessor :metadata
|
|
61
|
+
|
|
62
|
+
# Charge Create Request Three Ds schema.
|
|
63
|
+
# @return [ChargeCreateRequestThreeDs]
|
|
64
|
+
attr_accessor :three_ds
|
|
65
|
+
|
|
66
|
+
# A mapping from model property names to API property names.
|
|
67
|
+
def self.names
|
|
68
|
+
@_hash = {} if @_hash.nil?
|
|
69
|
+
@_hash['transaction_token_id'] = 'transaction_token_id'
|
|
70
|
+
@_hash['amount'] = 'amount'
|
|
71
|
+
@_hash['currency'] = 'currency'
|
|
72
|
+
@_hash['initial_amount'] = 'initial_amount'
|
|
73
|
+
@_hash['period'] = 'period'
|
|
74
|
+
@_hash['cyclical_period'] = 'cyclical_period'
|
|
75
|
+
@_hash['schedule_settings'] = 'schedule_settings'
|
|
76
|
+
@_hash['installment_plan'] = 'installment_plan'
|
|
77
|
+
@_hash['subscription_plan'] = 'subscription_plan'
|
|
78
|
+
@_hash['first_charge_authorization_only'] =
|
|
79
|
+
'first_charge_authorization_only'
|
|
80
|
+
@_hash['first_charge_capture_after'] = 'first_charge_capture_after'
|
|
81
|
+
@_hash['metadata'] = 'metadata'
|
|
82
|
+
@_hash['three_ds'] = 'three_ds'
|
|
83
|
+
@_hash
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# An array for optional fields
|
|
87
|
+
def self.optionals
|
|
88
|
+
%w[
|
|
89
|
+
initial_amount
|
|
90
|
+
period
|
|
91
|
+
cyclical_period
|
|
92
|
+
schedule_settings
|
|
93
|
+
installment_plan
|
|
94
|
+
subscription_plan
|
|
95
|
+
first_charge_authorization_only
|
|
96
|
+
first_charge_capture_after
|
|
97
|
+
metadata
|
|
98
|
+
three_ds
|
|
99
|
+
]
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# An array for nullable fields
|
|
103
|
+
def self.nullables
|
|
104
|
+
[]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def initialize(transaction_token_id:, amount:, currency:,
|
|
108
|
+
initial_amount: SKIP, period: SKIP, cyclical_period: SKIP,
|
|
109
|
+
schedule_settings: SKIP, installment_plan: SKIP,
|
|
110
|
+
subscription_plan: SKIP,
|
|
111
|
+
first_charge_authorization_only: false,
|
|
112
|
+
first_charge_capture_after: SKIP, metadata: SKIP,
|
|
113
|
+
three_ds: SKIP, additional_properties: nil)
|
|
114
|
+
# Add additional model properties to the instance
|
|
115
|
+
additional_properties = {} if additional_properties.nil?
|
|
116
|
+
|
|
117
|
+
@transaction_token_id = transaction_token_id
|
|
118
|
+
@amount = amount
|
|
119
|
+
@currency = currency
|
|
120
|
+
@initial_amount = initial_amount unless initial_amount == SKIP
|
|
121
|
+
@period = period unless period == SKIP
|
|
122
|
+
@cyclical_period = cyclical_period unless cyclical_period == SKIP
|
|
123
|
+
@schedule_settings = schedule_settings unless schedule_settings == SKIP
|
|
124
|
+
@installment_plan = installment_plan unless installment_plan == SKIP
|
|
125
|
+
@subscription_plan = subscription_plan unless subscription_plan == SKIP
|
|
126
|
+
unless first_charge_authorization_only == SKIP
|
|
127
|
+
@first_charge_authorization_only =
|
|
128
|
+
first_charge_authorization_only
|
|
129
|
+
end
|
|
130
|
+
unless first_charge_capture_after == SKIP
|
|
131
|
+
@first_charge_capture_after =
|
|
132
|
+
first_charge_capture_after
|
|
133
|
+
end
|
|
134
|
+
@metadata = metadata unless metadata == SKIP
|
|
135
|
+
@three_ds = three_ds unless three_ds == SKIP
|
|
136
|
+
@additional_properties = additional_properties
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Creates an instance of the object from a hash.
|
|
140
|
+
def self.from_hash(hash)
|
|
141
|
+
return nil unless hash
|
|
142
|
+
|
|
143
|
+
# Extract variables from the hash.
|
|
144
|
+
transaction_token_id =
|
|
145
|
+
hash.key?('transaction_token_id') ? hash['transaction_token_id'] : nil
|
|
146
|
+
amount = hash.key?('amount') ? hash['amount'] : nil
|
|
147
|
+
currency = hash.key?('currency') ? hash['currency'] : nil
|
|
148
|
+
initial_amount =
|
|
149
|
+
hash.key?('initial_amount') ? hash['initial_amount'] : SKIP
|
|
150
|
+
period = hash.key?('period') ? hash['period'] : SKIP
|
|
151
|
+
cyclical_period =
|
|
152
|
+
hash.key?('cyclical_period') ? hash['cyclical_period'] : SKIP
|
|
153
|
+
schedule_settings = SubscriptionScheduleSettings.from_hash(hash['schedule_settings']) if
|
|
154
|
+
hash['schedule_settings']
|
|
155
|
+
installment_plan = SubscriptionInstallmentPlan.from_hash(hash['installment_plan']) if
|
|
156
|
+
hash['installment_plan']
|
|
157
|
+
subscription_plan = SubscriptionPlanSettings.from_hash(hash['subscription_plan']) if
|
|
158
|
+
hash['subscription_plan']
|
|
159
|
+
first_charge_authorization_only =
|
|
160
|
+
hash['first_charge_authorization_only'] ||= false
|
|
161
|
+
first_charge_capture_after =
|
|
162
|
+
hash.key?('first_charge_capture_after') ? hash['first_charge_capture_after'] : SKIP
|
|
163
|
+
metadata = GenericMetadata.from_hash(hash['metadata']) if hash['metadata']
|
|
164
|
+
three_ds = ChargeCreateRequestThreeDs.from_hash(hash['three_ds']) if hash['three_ds']
|
|
165
|
+
|
|
166
|
+
# Create a new hash for additional properties, removing known properties.
|
|
167
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
168
|
+
|
|
169
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
170
|
+
new_hash, proc { |value| value }
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
# Create object from extracted values.
|
|
174
|
+
SubscriptionCreateRequest.new(transaction_token_id: transaction_token_id,
|
|
175
|
+
amount: amount,
|
|
176
|
+
currency: currency,
|
|
177
|
+
initial_amount: initial_amount,
|
|
178
|
+
period: period,
|
|
179
|
+
cyclical_period: cyclical_period,
|
|
180
|
+
schedule_settings: schedule_settings,
|
|
181
|
+
installment_plan: installment_plan,
|
|
182
|
+
subscription_plan: subscription_plan,
|
|
183
|
+
first_charge_authorization_only: first_charge_authorization_only,
|
|
184
|
+
first_charge_capture_after: first_charge_capture_after,
|
|
185
|
+
metadata: metadata,
|
|
186
|
+
three_ds: three_ds,
|
|
187
|
+
additional_properties: additional_properties)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Provides a human-readable string representation of the object.
|
|
191
|
+
def to_s
|
|
192
|
+
class_name = self.class.name.split('::').last
|
|
193
|
+
"<#{class_name} transaction_token_id: #{@transaction_token_id}, amount: #{@amount},"\
|
|
194
|
+
" currency: #{@currency}, initial_amount: #{@initial_amount}, period: #{@period},"\
|
|
195
|
+
" cyclical_period: #{@cyclical_period}, schedule_settings: #{@schedule_settings},"\
|
|
196
|
+
" installment_plan: #{@installment_plan}, subscription_plan: #{@subscription_plan},"\
|
|
197
|
+
" first_charge_authorization_only: #{@first_charge_authorization_only},"\
|
|
198
|
+
" first_charge_capture_after: #{@first_charge_capture_after}, metadata: #{@metadata},"\
|
|
199
|
+
" three_ds: #{@three_ds}, additional_properties: #{@additional_properties}>"
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
203
|
+
def inspect
|
|
204
|
+
class_name = self.class.name.split('::').last
|
|
205
|
+
"<#{class_name} transaction_token_id: #{@transaction_token_id.inspect}, amount:"\
|
|
206
|
+
" #{@amount.inspect}, currency: #{@currency.inspect}, initial_amount:"\
|
|
207
|
+
" #{@initial_amount.inspect}, period: #{@period.inspect}, cyclical_period:"\
|
|
208
|
+
" #{@cyclical_period.inspect}, schedule_settings: #{@schedule_settings.inspect},"\
|
|
209
|
+
" installment_plan: #{@installment_plan.inspect}, subscription_plan:"\
|
|
210
|
+
" #{@subscription_plan.inspect}, first_charge_authorization_only:"\
|
|
211
|
+
" #{@first_charge_authorization_only.inspect}, first_charge_capture_after:"\
|
|
212
|
+
" #{@first_charge_capture_after.inspect}, metadata: #{@metadata.inspect}, three_ds:"\
|
|
213
|
+
" #{@three_ds.inspect}, additional_properties: #{@additional_properties}>"
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# univapay_client_sdk
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for Univapay
|
|
4
|
+
# by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
module UnivapayClientSdk
|
|
8
|
+
# Webhook envelope for the subscription_created event.
|
|
9
|
+
class SubscriptionCreatedWebhookCallback < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# Unique ID of this webhook delivery.
|
|
14
|
+
# @return [UUID | String]
|
|
15
|
+
attr_accessor :id
|
|
16
|
+
|
|
17
|
+
# Event type discriminator — always `subscription_created` for this
|
|
18
|
+
# callback.
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_reader :event
|
|
21
|
+
|
|
22
|
+
# The Subscription object represents a recurring payment schedule.
|
|
23
|
+
# @return [Subscription]
|
|
24
|
+
attr_accessor :data
|
|
25
|
+
|
|
26
|
+
# Timestamp when the event was fired.
|
|
27
|
+
# @return [DateTime]
|
|
28
|
+
attr_accessor :created_on
|
|
29
|
+
|
|
30
|
+
# A mapping from model property names to API property names.
|
|
31
|
+
def self.names
|
|
32
|
+
@_hash = {} if @_hash.nil?
|
|
33
|
+
@_hash['id'] = 'id'
|
|
34
|
+
@_hash['event'] = 'event'
|
|
35
|
+
@_hash['data'] = 'data'
|
|
36
|
+
@_hash['created_on'] = 'created_on'
|
|
37
|
+
@_hash
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# An array for optional fields
|
|
41
|
+
def self.optionals
|
|
42
|
+
%w[
|
|
43
|
+
data
|
|
44
|
+
]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# An array for nullable fields
|
|
48
|
+
def self.nullables
|
|
49
|
+
[]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def initialize(id:, created_on:, data: SKIP, additional_properties: nil)
|
|
53
|
+
# Add additional model properties to the instance
|
|
54
|
+
additional_properties = {} if additional_properties.nil?
|
|
55
|
+
|
|
56
|
+
@id = id
|
|
57
|
+
@event = 'subscription_created'
|
|
58
|
+
@data = data unless data == SKIP
|
|
59
|
+
@created_on = created_on
|
|
60
|
+
@additional_properties = additional_properties
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Creates an instance of the object from a hash.
|
|
64
|
+
def self.from_hash(hash)
|
|
65
|
+
return nil unless hash
|
|
66
|
+
|
|
67
|
+
# Extract variables from the hash.
|
|
68
|
+
id = hash.key?('id') ? hash['id'] : nil
|
|
69
|
+
created_on = if hash.key?('created_on')
|
|
70
|
+
(DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
|
|
71
|
+
end
|
|
72
|
+
data = Subscription.from_hash(hash['data']) if hash['data']
|
|
73
|
+
|
|
74
|
+
# Create a new hash for additional properties, removing known properties.
|
|
75
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
76
|
+
|
|
77
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
78
|
+
new_hash, proc { |value| value }
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# Create object from extracted values.
|
|
82
|
+
SubscriptionCreatedWebhookCallback.new(id: id,
|
|
83
|
+
created_on: created_on,
|
|
84
|
+
data: data,
|
|
85
|
+
additional_properties: additional_properties)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def to_custom_created_on
|
|
89
|
+
DateTimeHelper.to_rfc3339(created_on)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Validates an instance of the object from a given value.
|
|
93
|
+
# @param [SubscriptionCreatedWebhookCallback | Hash] The value against the validation is performed.
|
|
94
|
+
def self.validate(value)
|
|
95
|
+
if value.instance_of? self
|
|
96
|
+
return (
|
|
97
|
+
APIHelper.valid_type?(value.id,
|
|
98
|
+
->(val) { val.instance_of? String }) and
|
|
99
|
+
APIHelper.valid_type?(value.event,
|
|
100
|
+
->(val) { val.instance_of? String }) and
|
|
101
|
+
APIHelper.valid_type?(value.created_on,
|
|
102
|
+
->(val) { val.instance_of? DateTime })
|
|
103
|
+
)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
return false unless value.instance_of? Hash
|
|
107
|
+
|
|
108
|
+
(
|
|
109
|
+
APIHelper.valid_type?(value['id'],
|
|
110
|
+
->(val) { val.instance_of? String }) and
|
|
111
|
+
APIHelper.valid_type?(value['event'],
|
|
112
|
+
->(val) { val.instance_of? String }) and
|
|
113
|
+
APIHelper.valid_type?(value['created_on'],
|
|
114
|
+
->(val) { val.instance_of? String })
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Provides a human-readable string representation of the object.
|
|
119
|
+
def to_s
|
|
120
|
+
class_name = self.class.name.split('::').last
|
|
121
|
+
"<#{class_name} id: #{@id}, event: #{@event}, data: #{@data}, created_on: #{@created_on},"\
|
|
122
|
+
" additional_properties: #{@additional_properties}>"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
126
|
+
def inspect
|
|
127
|
+
class_name = self.class.name.split('::').last
|
|
128
|
+
"<#{class_name} id: #{@id.inspect}, event: #{@event.inspect}, data: #{@data.inspect},"\
|
|
129
|
+
" created_on: #{@created_on.inspect}, additional_properties: #{@additional_properties}>"
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# univapay_client_sdk
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for Univapay
|
|
4
|
+
# by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
module UnivapayClientSdk
|
|
8
|
+
# Webhook envelope for the subscription_failure event.
|
|
9
|
+
class SubscriptionFailureWebhookCallback < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# Unique ID of this webhook delivery.
|
|
14
|
+
# @return [UUID | String]
|
|
15
|
+
attr_accessor :id
|
|
16
|
+
|
|
17
|
+
# Event type discriminator — always `subscription_failure` for this
|
|
18
|
+
# callback.
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_reader :event
|
|
21
|
+
|
|
22
|
+
# The Subscription object represents a recurring payment schedule.
|
|
23
|
+
# @return [Subscription]
|
|
24
|
+
attr_accessor :data
|
|
25
|
+
|
|
26
|
+
# Timestamp when the event was fired.
|
|
27
|
+
# @return [DateTime]
|
|
28
|
+
attr_accessor :created_on
|
|
29
|
+
|
|
30
|
+
# A mapping from model property names to API property names.
|
|
31
|
+
def self.names
|
|
32
|
+
@_hash = {} if @_hash.nil?
|
|
33
|
+
@_hash['id'] = 'id'
|
|
34
|
+
@_hash['event'] = 'event'
|
|
35
|
+
@_hash['data'] = 'data'
|
|
36
|
+
@_hash['created_on'] = 'created_on'
|
|
37
|
+
@_hash
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# An array for optional fields
|
|
41
|
+
def self.optionals
|
|
42
|
+
%w[
|
|
43
|
+
data
|
|
44
|
+
]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# An array for nullable fields
|
|
48
|
+
def self.nullables
|
|
49
|
+
[]
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def initialize(id:, created_on:, data: SKIP, additional_properties: nil)
|
|
53
|
+
# Add additional model properties to the instance
|
|
54
|
+
additional_properties = {} if additional_properties.nil?
|
|
55
|
+
|
|
56
|
+
@id = id
|
|
57
|
+
@event = 'subscription_failure'
|
|
58
|
+
@data = data unless data == SKIP
|
|
59
|
+
@created_on = created_on
|
|
60
|
+
@additional_properties = additional_properties
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Creates an instance of the object from a hash.
|
|
64
|
+
def self.from_hash(hash)
|
|
65
|
+
return nil unless hash
|
|
66
|
+
|
|
67
|
+
# Extract variables from the hash.
|
|
68
|
+
id = hash.key?('id') ? hash['id'] : nil
|
|
69
|
+
created_on = if hash.key?('created_on')
|
|
70
|
+
(DateTimeHelper.from_rfc3339(hash['created_on']) if hash['created_on'])
|
|
71
|
+
end
|
|
72
|
+
data = Subscription.from_hash(hash['data']) if hash['data']
|
|
73
|
+
|
|
74
|
+
# Create a new hash for additional properties, removing known properties.
|
|
75
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
76
|
+
|
|
77
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
78
|
+
new_hash, proc { |value| value }
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# Create object from extracted values.
|
|
82
|
+
SubscriptionFailureWebhookCallback.new(id: id,
|
|
83
|
+
created_on: created_on,
|
|
84
|
+
data: data,
|
|
85
|
+
additional_properties: additional_properties)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def to_custom_created_on
|
|
89
|
+
DateTimeHelper.to_rfc3339(created_on)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Validates an instance of the object from a given value.
|
|
93
|
+
# @param [SubscriptionFailureWebhookCallback | Hash] The value against the validation is performed.
|
|
94
|
+
def self.validate(value)
|
|
95
|
+
if value.instance_of? self
|
|
96
|
+
return (
|
|
97
|
+
APIHelper.valid_type?(value.id,
|
|
98
|
+
->(val) { val.instance_of? String }) and
|
|
99
|
+
APIHelper.valid_type?(value.event,
|
|
100
|
+
->(val) { val.instance_of? String }) and
|
|
101
|
+
APIHelper.valid_type?(value.created_on,
|
|
102
|
+
->(val) { val.instance_of? DateTime })
|
|
103
|
+
)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
return false unless value.instance_of? Hash
|
|
107
|
+
|
|
108
|
+
(
|
|
109
|
+
APIHelper.valid_type?(value['id'],
|
|
110
|
+
->(val) { val.instance_of? String }) and
|
|
111
|
+
APIHelper.valid_type?(value['event'],
|
|
112
|
+
->(val) { val.instance_of? String }) and
|
|
113
|
+
APIHelper.valid_type?(value['created_on'],
|
|
114
|
+
->(val) { val.instance_of? String })
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Provides a human-readable string representation of the object.
|
|
119
|
+
def to_s
|
|
120
|
+
class_name = self.class.name.split('::').last
|
|
121
|
+
"<#{class_name} id: #{@id}, event: #{@event}, data: #{@data}, created_on: #{@created_on},"\
|
|
122
|
+
" additional_properties: #{@additional_properties}>"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
126
|
+
def inspect
|
|
127
|
+
class_name = self.class.name.split('::').last
|
|
128
|
+
"<#{class_name} id: #{@id.inspect}, event: #{@event.inspect}, data: #{@data.inspect},"\
|
|
129
|
+
" created_on: #{@created_on.inspect}, additional_properties: #{@additional_properties}>"
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# univapay_client_sdk
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for Univapay
|
|
4
|
+
# by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module UnivapayClientSdk
|
|
7
|
+
# Configuration for credit card company side installments.
|
|
8
|
+
class SubscriptionInstallmentPlan < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Plan type selector.
|
|
13
|
+
# @return [InstallmentPlanType]
|
|
14
|
+
attr_accessor :plan_type
|
|
15
|
+
|
|
16
|
+
# Required if plan_type is fixed_cycles.
|
|
17
|
+
# @return [InstallmentFixedCycles]
|
|
18
|
+
attr_accessor :fixed_cycles
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['plan_type'] = 'plan_type'
|
|
24
|
+
@_hash['fixed_cycles'] = 'fixed_cycles'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def self.optionals
|
|
30
|
+
%w[
|
|
31
|
+
plan_type
|
|
32
|
+
fixed_cycles
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(plan_type: SKIP, fixed_cycles: SKIP,
|
|
42
|
+
additional_properties: nil)
|
|
43
|
+
# Add additional model properties to the instance
|
|
44
|
+
additional_properties = {} if additional_properties.nil?
|
|
45
|
+
|
|
46
|
+
@plan_type = plan_type unless plan_type == SKIP
|
|
47
|
+
@fixed_cycles = fixed_cycles unless fixed_cycles == 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
|
+
plan_type = hash.key?('plan_type') ? hash['plan_type'] : SKIP
|
|
57
|
+
fixed_cycles = hash.key?('fixed_cycles') ? hash['fixed_cycles'] : SKIP
|
|
58
|
+
|
|
59
|
+
# Create a new hash for additional properties, removing known properties.
|
|
60
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
61
|
+
|
|
62
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
63
|
+
new_hash, proc { |value| value }
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
# Create object from extracted values.
|
|
67
|
+
SubscriptionInstallmentPlan.new(plan_type: plan_type,
|
|
68
|
+
fixed_cycles: fixed_cycles,
|
|
69
|
+
additional_properties: additional_properties)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Provides a human-readable string representation of the object.
|
|
73
|
+
def to_s
|
|
74
|
+
class_name = self.class.name.split('::').last
|
|
75
|
+
"<#{class_name} plan_type: #{@plan_type}, fixed_cycles: #{@fixed_cycles},"\
|
|
76
|
+
" additional_properties: #{@additional_properties}>"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
80
|
+
def inspect
|
|
81
|
+
class_name = self.class.name.split('::').last
|
|
82
|
+
"<#{class_name} plan_type: #{@plan_type.inspect}, fixed_cycles: #{@fixed_cycles.inspect},"\
|
|
83
|
+
" additional_properties: #{@additional_properties}>"
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|