dodopayments 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/README.md +1 -1
- data/lib/dodopayments/internal/transport/base_client.rb +2 -0
- data/lib/dodopayments/internal/type/union.rb +21 -7
- data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +4 -16
- data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +4 -16
- data/lib/dodopayments/models/checkout_session_request.rb +15 -2
- data/lib/dodopayments/models/credit_added_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_balance_low_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_deducted_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_expired_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_manual_adjustment_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_overage_charged_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_rolled_over_webhook_event.rb +4 -16
- data/lib/dodopayments/models/credit_rollover_forfeited_webhook_event.rb +4 -16
- data/lib/dodopayments/models/digital_product_delivery.rb +14 -7
- data/lib/dodopayments/models/digital_product_delivery_file.rb +12 -5
- data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dispute_expired_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dispute_lost_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dispute_opened_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dispute_won_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +4 -16
- data/lib/dodopayments/models/dunning_started_webhook_event.rb +4 -16
- data/lib/dodopayments/models/entitlement.rb +31 -20
- data/lib/dodopayments/models/entitlement_create_params.rb +3 -3
- data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +10 -17
- data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +10 -17
- data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +10 -17
- data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +10 -17
- data/lib/dodopayments/models/entitlement_update_params.rb +3 -3
- data/lib/dodopayments/models/entitlements/entitlement_grant.rb +50 -32
- data/lib/dodopayments/models/entitlements/file_upload_response.rb +3 -3
- data/lib/dodopayments/models/entitlements/license_key_grant.rb +14 -9
- data/lib/dodopayments/models/integration_config.rb +70 -27
- data/lib/dodopayments/models/integration_config_response.rb +88 -48
- data/lib/dodopayments/models/license_key_created_webhook_event.rb +4 -16
- data/lib/dodopayments/models/payment.rb +153 -3
- data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +4 -16
- data/lib/dodopayments/models/payment_create_params.rb +15 -3
- data/lib/dodopayments/models/payment_create_response.rb +14 -3
- data/lib/dodopayments/models/payment_failed_webhook_event.rb +4 -16
- data/lib/dodopayments/models/payment_processing_webhook_event.rb +4 -16
- data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +4 -16
- data/lib/dodopayments/models/payout_list_response.rb +6 -3
- data/lib/dodopayments/models/price.rb +20 -48
- data/lib/dodopayments/models/product.rb +6 -8
- data/lib/dodopayments/models/product_create_params.rb +3 -3
- data/lib/dodopayments/models/product_entitlement_summary.rb +5 -5
- data/lib/dodopayments/models/product_item_req.rb +42 -1
- data/lib/dodopayments/models/product_update_params.rb +3 -3
- data/lib/dodopayments/models/refund_failed_webhook_event.rb +4 -16
- data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription.rb +153 -5
- data/lib/dodopayments/models/subscription_active_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_create_params.rb +15 -3
- data/lib/dodopayments/models/subscription_create_response.rb +14 -3
- data/lib/dodopayments/models/subscription_expired_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_failed_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_list_response.rb +36 -5
- data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_preview_change_plan_response.rb +21 -49
- data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +4 -16
- data/lib/dodopayments/models/subscription_update_payment_method_params.rb +12 -30
- data/lib/dodopayments/models/subscription_updated_webhook_event.rb +4 -16
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +41 -39
- data/lib/dodopayments/models/unwrap_webhook_event.rb +41 -39
- data/lib/dodopayments/models/update_subscription_plan_req.rb +17 -6
- data/lib/dodopayments/models/webhook_event_type.rb +3 -0
- data/lib/dodopayments/models/webhook_payload.rb +57 -143
- data/lib/dodopayments/resources/checkout_sessions.rb +8 -4
- data/lib/dodopayments/resources/entitlements/files.rb +3 -10
- data/lib/dodopayments/resources/entitlements/grants.rb +2 -4
- data/lib/dodopayments/resources/entitlements.rb +2 -2
- data/lib/dodopayments/resources/payments.rb +4 -2
- data/lib/dodopayments/resources/subscriptions.rb +12 -6
- data/lib/dodopayments/version.rb +1 -1
- data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +4 -40
- data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +4 -40
- data/rbi/dodopayments/models/checkout_session_request.rbi +14 -0
- data/rbi/dodopayments/models/credit_added_webhook_event.rbi +4 -29
- data/rbi/dodopayments/models/credit_balance_low_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/credit_deducted_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/credit_expired_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/credit_manual_adjustment_webhook_event.rbi +4 -39
- data/rbi/dodopayments/models/credit_overage_charged_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/credit_rolled_over_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/credit_rollover_forfeited_webhook_event.rbi +4 -40
- data/rbi/dodopayments/models/digital_product_delivery.rbi +15 -5
- data/rbi/dodopayments/models/digital_product_delivery_file.rbi +11 -0
- data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +4 -34
- data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +4 -29
- data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +4 -29
- data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/entitlement.rbi +35 -20
- data/rbi/dodopayments/models/entitlement_create_params.rbi +8 -5
- data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +8 -40
- data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +8 -40
- data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +8 -39
- data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +8 -40
- data/rbi/dodopayments/models/entitlement_update_params.rbi +4 -4
- data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +54 -20
- data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +4 -4
- data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +10 -4
- data/rbi/dodopayments/models/integration_config.rbi +141 -26
- data/rbi/dodopayments/models/integration_config_response.rbi +153 -38
- data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +4 -34
- data/rbi/dodopayments/models/payment.rbi +170 -2
- data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/payment_create_params.rbi +14 -2
- data/rbi/dodopayments/models/payment_create_response.rbi +12 -2
- data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +4 -34
- data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/price.rbi +18 -90
- data/rbi/dodopayments/models/product.rbi +4 -8
- data/rbi/dodopayments/models/product_entitlement_summary.rbi +8 -8
- data/rbi/dodopayments/models/product_item_req.rbi +74 -3
- data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +4 -31
- data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +4 -33
- data/rbi/dodopayments/models/subscription.rbi +173 -4
- data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/subscription_create_params.rbi +14 -2
- data/rbi/dodopayments/models/subscription_create_response.rbi +12 -2
- data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/subscription_list_response.rbi +67 -4
- data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +4 -40
- data/rbi/dodopayments/models/subscription_preview_change_plan_response.rbi +18 -123
- data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/subscription_update_payment_method_params.rbi +12 -96
- data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +4 -36
- data/rbi/dodopayments/models/update_subscription_plan_req.rbi +18 -8
- data/rbi/dodopayments/models/webhook_event_type.rbi +15 -0
- data/rbi/dodopayments/models/webhook_payload.rbi +48 -466
- data/rbi/dodopayments/resources/checkout_sessions.rbi +12 -0
- data/rbi/dodopayments/resources/entitlements/files.rbi +3 -10
- data/rbi/dodopayments/resources/entitlements/grants.rbi +2 -4
- data/rbi/dodopayments/resources/entitlements.rbi +4 -4
- data/rbi/dodopayments/resources/payments.rbi +6 -1
- data/rbi/dodopayments/resources/subscriptions.rbi +22 -9
- data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
- data/sig/dodopayments/models/credit_added_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_balance_low_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_deducted_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_expired_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_manual_adjustment_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_overage_charged_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_rolled_over_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/credit_rollover_forfeited_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dispute_won_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/dunning_started_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/entitlement.rbs +8 -10
- data/sig/dodopayments/models/entitlement_create_params.rbs +6 -4
- data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +4 -11
- data/sig/dodopayments/models/integration_config.rbs +28 -4
- data/sig/dodopayments/models/integration_config_response.rbs +28 -9
- data/sig/dodopayments/models/license_key_created_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/payment.rbs +97 -0
- data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/payment_create_params.rbs +5 -0
- data/sig/dodopayments/models/payment_create_response.rbs +5 -0
- data/sig/dodopayments/models/payment_failed_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/payment_processing_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/price.rbs +15 -45
- data/sig/dodopayments/models/product_item_req.rbs +27 -3
- data/sig/dodopayments/models/refund_failed_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription.rbs +97 -0
- data/sig/dodopayments/models/subscription_active_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_create_params.rbs +5 -0
- data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
- data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_list_response.rbs +24 -0
- data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_preview_change_plan_response.rbs +15 -45
- data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/subscription_update_payment_method_params.rbs +8 -48
- data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +4 -14
- data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
- data/sig/dodopayments/models/webhook_event_type.rbs +6 -0
- data/sig/dodopayments/models/webhook_payload.rbs +50 -213
- data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
- data/sig/dodopayments/resources/entitlements.rbs +1 -1
- data/sig/dodopayments/resources/payments.rbs +1 -0
- data/sig/dodopayments/resources/subscriptions.rbs +3 -0
- metadata +2 -2
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
module Dodopayments
|
|
4
4
|
module Models
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
# `digital_files`
|
|
8
|
-
#
|
|
5
|
+
# Integration-specific configuration on an entitlement read response.
|
|
6
|
+
#
|
|
7
|
+
# For `digital_files` entitlements the response includes presigned download URLs
|
|
8
|
+
# for each attached file; other integrations match the shape supplied at creation.
|
|
9
9
|
module IntegrationConfigResponse
|
|
10
10
|
extend Dodopayments::Internal::Type::Union
|
|
11
11
|
|
|
@@ -32,23 +32,94 @@ module Dodopayments
|
|
|
32
32
|
)
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
# Permission to grant on the repository.
|
|
36
|
+
sig do
|
|
37
|
+
returns(
|
|
38
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
39
|
+
)
|
|
40
|
+
end
|
|
36
41
|
attr_accessor :permission
|
|
37
42
|
|
|
43
|
+
# Repository or organisation slug to grant access to.
|
|
38
44
|
sig { returns(String) }
|
|
39
45
|
attr_accessor :target_id
|
|
40
46
|
|
|
41
47
|
sig do
|
|
42
|
-
params(
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
params(
|
|
49
|
+
permission:
|
|
50
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::OrSymbol,
|
|
51
|
+
target_id: String
|
|
52
|
+
).returns(T.attached_class)
|
|
45
53
|
end
|
|
46
|
-
def self.new(
|
|
54
|
+
def self.new(
|
|
55
|
+
# Permission to grant on the repository.
|
|
56
|
+
permission:,
|
|
57
|
+
# Repository or organisation slug to grant access to.
|
|
58
|
+
target_id:
|
|
59
|
+
)
|
|
47
60
|
end
|
|
48
61
|
|
|
49
|
-
sig
|
|
62
|
+
sig do
|
|
63
|
+
override.returns(
|
|
64
|
+
{
|
|
65
|
+
permission:
|
|
66
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol,
|
|
67
|
+
target_id: String
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
50
71
|
def to_hash
|
|
51
72
|
end
|
|
73
|
+
|
|
74
|
+
# Permission to grant on the repository.
|
|
75
|
+
module Permission
|
|
76
|
+
extend Dodopayments::Internal::Type::Enum
|
|
77
|
+
|
|
78
|
+
TaggedSymbol =
|
|
79
|
+
T.type_alias do
|
|
80
|
+
T.all(
|
|
81
|
+
Symbol,
|
|
82
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
86
|
+
|
|
87
|
+
PULL =
|
|
88
|
+
T.let(
|
|
89
|
+
:pull,
|
|
90
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
91
|
+
)
|
|
92
|
+
PUSH =
|
|
93
|
+
T.let(
|
|
94
|
+
:push,
|
|
95
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
96
|
+
)
|
|
97
|
+
ADMIN =
|
|
98
|
+
T.let(
|
|
99
|
+
:admin,
|
|
100
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
101
|
+
)
|
|
102
|
+
MAINTAIN =
|
|
103
|
+
T.let(
|
|
104
|
+
:maintain,
|
|
105
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
106
|
+
)
|
|
107
|
+
TRIAGE =
|
|
108
|
+
T.let(
|
|
109
|
+
:triage,
|
|
110
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
sig do
|
|
114
|
+
override.returns(
|
|
115
|
+
T::Array[
|
|
116
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission::TaggedSymbol
|
|
117
|
+
]
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
def self.values
|
|
121
|
+
end
|
|
122
|
+
end
|
|
52
123
|
end
|
|
53
124
|
|
|
54
125
|
class DiscordConfig < Dodopayments::Internal::Type::BaseModel
|
|
@@ -60,9 +131,11 @@ module Dodopayments
|
|
|
60
131
|
)
|
|
61
132
|
end
|
|
62
133
|
|
|
134
|
+
# Discord guild (server) ID.
|
|
63
135
|
sig { returns(String) }
|
|
64
136
|
attr_accessor :guild_id
|
|
65
137
|
|
|
138
|
+
# Optional Discord role to assign within the guild.
|
|
66
139
|
sig { returns(T.nilable(String)) }
|
|
67
140
|
attr_accessor :role_id
|
|
68
141
|
|
|
@@ -71,7 +144,12 @@ module Dodopayments
|
|
|
71
144
|
T.attached_class
|
|
72
145
|
)
|
|
73
146
|
end
|
|
74
|
-
def self.new(
|
|
147
|
+
def self.new(
|
|
148
|
+
# Discord guild (server) ID.
|
|
149
|
+
guild_id:,
|
|
150
|
+
# Optional Discord role to assign within the guild.
|
|
151
|
+
role_id: nil
|
|
152
|
+
)
|
|
75
153
|
end
|
|
76
154
|
|
|
77
155
|
sig do
|
|
@@ -90,11 +168,15 @@ module Dodopayments
|
|
|
90
168
|
)
|
|
91
169
|
end
|
|
92
170
|
|
|
171
|
+
# Telegram chat ID. For groups this is typically a negative integer.
|
|
93
172
|
sig { returns(String) }
|
|
94
173
|
attr_accessor :chat_id
|
|
95
174
|
|
|
96
175
|
sig { params(chat_id: String).returns(T.attached_class) }
|
|
97
|
-
def self.new(
|
|
176
|
+
def self.new(
|
|
177
|
+
# Telegram chat ID. For groups this is typically a negative integer.
|
|
178
|
+
chat_id:
|
|
179
|
+
)
|
|
98
180
|
end
|
|
99
181
|
|
|
100
182
|
sig { override.returns({ chat_id: String }) }
|
|
@@ -111,11 +193,15 @@ module Dodopayments
|
|
|
111
193
|
)
|
|
112
194
|
end
|
|
113
195
|
|
|
196
|
+
# Figma file identifier to grant access to.
|
|
114
197
|
sig { returns(String) }
|
|
115
198
|
attr_accessor :figma_file_id
|
|
116
199
|
|
|
117
200
|
sig { params(figma_file_id: String).returns(T.attached_class) }
|
|
118
|
-
def self.new(
|
|
201
|
+
def self.new(
|
|
202
|
+
# Figma file identifier to grant access to.
|
|
203
|
+
figma_file_id:
|
|
204
|
+
)
|
|
119
205
|
end
|
|
120
206
|
|
|
121
207
|
sig { override.returns({ figma_file_id: String }) }
|
|
@@ -132,11 +218,15 @@ module Dodopayments
|
|
|
132
218
|
)
|
|
133
219
|
end
|
|
134
220
|
|
|
221
|
+
# Framer template identifier to grant access to.
|
|
135
222
|
sig { returns(String) }
|
|
136
223
|
attr_accessor :framer_template_id
|
|
137
224
|
|
|
138
225
|
sig { params(framer_template_id: String).returns(T.attached_class) }
|
|
139
|
-
def self.new(
|
|
226
|
+
def self.new(
|
|
227
|
+
# Framer template identifier to grant access to.
|
|
228
|
+
framer_template_id:
|
|
229
|
+
)
|
|
140
230
|
end
|
|
141
231
|
|
|
142
232
|
sig { override.returns({ framer_template_id: String }) }
|
|
@@ -153,11 +243,15 @@ module Dodopayments
|
|
|
153
243
|
)
|
|
154
244
|
end
|
|
155
245
|
|
|
246
|
+
# Notion template identifier to grant access to.
|
|
156
247
|
sig { returns(String) }
|
|
157
248
|
attr_accessor :notion_template_id
|
|
158
249
|
|
|
159
250
|
sig { params(notion_template_id: String).returns(T.attached_class) }
|
|
160
|
-
def self.new(
|
|
251
|
+
def self.new(
|
|
252
|
+
# Notion template identifier to grant access to.
|
|
253
|
+
notion_template_id:
|
|
254
|
+
)
|
|
161
255
|
end
|
|
162
256
|
|
|
163
257
|
sig { override.returns({ notion_template_id: String }) }
|
|
@@ -174,10 +268,8 @@ module Dodopayments
|
|
|
174
268
|
)
|
|
175
269
|
end
|
|
176
270
|
|
|
177
|
-
# Populated digital-files payload
|
|
178
|
-
#
|
|
179
|
-
# `integration_config` (not a grant) and tags each file with its origin (`legacy`
|
|
180
|
-
# vs `ee`).
|
|
271
|
+
# Populated digital-files payload with each file's metadata and a short-lived
|
|
272
|
+
# presigned download URL.
|
|
181
273
|
sig do
|
|
182
274
|
returns(
|
|
183
275
|
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles
|
|
@@ -200,10 +292,8 @@ module Dodopayments
|
|
|
200
292
|
).returns(T.attached_class)
|
|
201
293
|
end
|
|
202
294
|
def self.new(
|
|
203
|
-
# Populated digital-files payload
|
|
204
|
-
#
|
|
205
|
-
# `integration_config` (not a grant) and tags each file with its origin (`legacy`
|
|
206
|
-
# vs `ee`).
|
|
295
|
+
# Populated digital-files payload with each file's metadata and a short-lived
|
|
296
|
+
# presigned download URL.
|
|
207
297
|
digital_files:
|
|
208
298
|
)
|
|
209
299
|
end
|
|
@@ -228,6 +318,7 @@ module Dodopayments
|
|
|
228
318
|
)
|
|
229
319
|
end
|
|
230
320
|
|
|
321
|
+
# One entry per attached file.
|
|
231
322
|
sig do
|
|
232
323
|
returns(
|
|
233
324
|
T::Array[
|
|
@@ -237,16 +328,17 @@ module Dodopayments
|
|
|
237
328
|
end
|
|
238
329
|
attr_accessor :files
|
|
239
330
|
|
|
331
|
+
# Optional external URL, passed through from the entitlement configuration.
|
|
240
332
|
sig { returns(T.nilable(String)) }
|
|
241
333
|
attr_accessor :external_url
|
|
242
334
|
|
|
335
|
+
# Optional human-readable delivery instructions, passed through from the
|
|
336
|
+
# entitlement configuration.
|
|
243
337
|
sig { returns(T.nilable(String)) }
|
|
244
338
|
attr_accessor :instructions
|
|
245
339
|
|
|
246
|
-
# Populated digital-files payload
|
|
247
|
-
#
|
|
248
|
-
# `integration_config` (not a grant) and tags each file with its origin (`legacy`
|
|
249
|
-
# vs `ee`).
|
|
340
|
+
# Populated digital-files payload with each file's metadata and a short-lived
|
|
341
|
+
# presigned download URL.
|
|
250
342
|
sig do
|
|
251
343
|
params(
|
|
252
344
|
files:
|
|
@@ -257,7 +349,15 @@ module Dodopayments
|
|
|
257
349
|
instructions: T.nilable(String)
|
|
258
350
|
).returns(T.attached_class)
|
|
259
351
|
end
|
|
260
|
-
def self.new(
|
|
352
|
+
def self.new(
|
|
353
|
+
# One entry per attached file.
|
|
354
|
+
files:,
|
|
355
|
+
# Optional external URL, passed through from the entitlement configuration.
|
|
356
|
+
external_url: nil,
|
|
357
|
+
# Optional human-readable delivery instructions, passed through from the
|
|
358
|
+
# entitlement configuration.
|
|
359
|
+
instructions: nil
|
|
360
|
+
)
|
|
261
361
|
end
|
|
262
362
|
|
|
263
363
|
sig do
|
|
@@ -284,6 +384,7 @@ module Dodopayments
|
|
|
284
384
|
)
|
|
285
385
|
end
|
|
286
386
|
|
|
387
|
+
# Short-lived presigned URL for downloading the file.
|
|
287
388
|
sig { returns(String) }
|
|
288
389
|
attr_accessor :download_url
|
|
289
390
|
|
|
@@ -291,44 +392,45 @@ module Dodopayments
|
|
|
291
392
|
sig { returns(Integer) }
|
|
292
393
|
attr_accessor :expires_in
|
|
293
394
|
|
|
395
|
+
# Identifier of the attached file.
|
|
294
396
|
sig { returns(String) }
|
|
295
397
|
attr_accessor :file_id
|
|
296
398
|
|
|
399
|
+
# Original filename of the attached file.
|
|
297
400
|
sig { returns(String) }
|
|
298
401
|
attr_accessor :filename
|
|
299
402
|
|
|
300
|
-
#
|
|
301
|
-
# Entitlements Engine.
|
|
302
|
-
sig { returns(String) }
|
|
303
|
-
attr_accessor :source
|
|
304
|
-
|
|
403
|
+
# Optional content-type declared at upload.
|
|
305
404
|
sig { returns(T.nilable(String)) }
|
|
306
405
|
attr_accessor :content_type
|
|
307
406
|
|
|
407
|
+
# Optional size of the file in bytes.
|
|
308
408
|
sig { returns(T.nilable(Integer)) }
|
|
309
409
|
attr_accessor :file_size
|
|
310
410
|
|
|
411
|
+
# One file in a resolved digital-files payload.
|
|
311
412
|
sig do
|
|
312
413
|
params(
|
|
313
414
|
download_url: String,
|
|
314
415
|
expires_in: Integer,
|
|
315
416
|
file_id: String,
|
|
316
417
|
filename: String,
|
|
317
|
-
source: String,
|
|
318
418
|
content_type: T.nilable(String),
|
|
319
419
|
file_size: T.nilable(Integer)
|
|
320
420
|
).returns(T.attached_class)
|
|
321
421
|
end
|
|
322
422
|
def self.new(
|
|
423
|
+
# Short-lived presigned URL for downloading the file.
|
|
323
424
|
download_url:,
|
|
324
425
|
# Seconds until `download_url` expires.
|
|
325
426
|
expires_in:,
|
|
427
|
+
# Identifier of the attached file.
|
|
326
428
|
file_id:,
|
|
429
|
+
# Original filename of the attached file.
|
|
327
430
|
filename:,
|
|
328
|
-
#
|
|
329
|
-
# Entitlements Engine.
|
|
330
|
-
source:,
|
|
431
|
+
# Optional content-type declared at upload.
|
|
331
432
|
content_type: nil,
|
|
433
|
+
# Optional size of the file in bytes.
|
|
332
434
|
file_size: nil
|
|
333
435
|
)
|
|
334
436
|
end
|
|
@@ -340,7 +442,6 @@ module Dodopayments
|
|
|
340
442
|
expires_in: Integer,
|
|
341
443
|
file_id: String,
|
|
342
444
|
filename: String,
|
|
343
|
-
source: String,
|
|
344
445
|
content_type: T.nilable(String),
|
|
345
446
|
file_size: T.nilable(Integer)
|
|
346
447
|
}
|
|
@@ -361,15 +462,22 @@ module Dodopayments
|
|
|
361
462
|
)
|
|
362
463
|
end
|
|
363
464
|
|
|
465
|
+
# Optional message displayed when a customer activates the license key (≤ 2500
|
|
466
|
+
# characters).
|
|
364
467
|
sig { returns(T.nilable(String)) }
|
|
365
468
|
attr_accessor :activation_message
|
|
366
469
|
|
|
470
|
+
# Maximum activations allowed per issued license key. Omit for unlimited.
|
|
367
471
|
sig { returns(T.nilable(Integer)) }
|
|
368
472
|
attr_accessor :activations_limit
|
|
369
473
|
|
|
474
|
+
# Validity duration of issued license keys. Provide both `duration_count` and
|
|
475
|
+
# `duration_interval` together for a fixed duration; omit both for non-expiring
|
|
476
|
+
# keys.
|
|
370
477
|
sig { returns(T.nilable(Integer)) }
|
|
371
478
|
attr_accessor :duration_count
|
|
372
479
|
|
|
480
|
+
# Unit of `duration_count`.
|
|
373
481
|
sig { returns(T.nilable(Dodopayments::TimeInterval::TaggedSymbol)) }
|
|
374
482
|
attr_accessor :duration_interval
|
|
375
483
|
|
|
@@ -382,9 +490,16 @@ module Dodopayments
|
|
|
382
490
|
).returns(T.attached_class)
|
|
383
491
|
end
|
|
384
492
|
def self.new(
|
|
493
|
+
# Optional message displayed when a customer activates the license key (≤ 2500
|
|
494
|
+
# characters).
|
|
385
495
|
activation_message: nil,
|
|
496
|
+
# Maximum activations allowed per issued license key. Omit for unlimited.
|
|
386
497
|
activations_limit: nil,
|
|
498
|
+
# Validity duration of issued license keys. Provide both `duration_count` and
|
|
499
|
+
# `duration_interval` together for a fixed duration; omit both for non-expiring
|
|
500
|
+
# keys.
|
|
387
501
|
duration_count: nil,
|
|
502
|
+
# Unit of `duration_count`.
|
|
388
503
|
duration_interval: nil
|
|
389
504
|
)
|
|
390
505
|
end
|
|
@@ -26,9 +26,7 @@ module Dodopayments
|
|
|
26
26
|
attr_accessor :timestamp
|
|
27
27
|
|
|
28
28
|
# The event type
|
|
29
|
-
sig
|
|
30
|
-
returns(Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol)
|
|
31
|
-
end
|
|
29
|
+
sig { returns(Symbol) }
|
|
32
30
|
attr_accessor :type
|
|
33
31
|
|
|
34
32
|
sig do
|
|
@@ -36,7 +34,7 @@ module Dodopayments
|
|
|
36
34
|
business_id: String,
|
|
37
35
|
data: Dodopayments::LicenseKey::OrHash,
|
|
38
36
|
timestamp: Time,
|
|
39
|
-
type:
|
|
37
|
+
type: Symbol
|
|
40
38
|
).returns(T.attached_class)
|
|
41
39
|
end
|
|
42
40
|
def self.new(
|
|
@@ -46,7 +44,7 @@ module Dodopayments
|
|
|
46
44
|
# The timestamp of when the event occurred
|
|
47
45
|
timestamp:,
|
|
48
46
|
# The event type
|
|
49
|
-
type:
|
|
47
|
+
type: :"license_key.created"
|
|
50
48
|
)
|
|
51
49
|
end
|
|
52
50
|
|
|
@@ -56,40 +54,12 @@ module Dodopayments
|
|
|
56
54
|
business_id: String,
|
|
57
55
|
data: Dodopayments::LicenseKey,
|
|
58
56
|
timestamp: Time,
|
|
59
|
-
type:
|
|
60
|
-
Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol
|
|
57
|
+
type: Symbol
|
|
61
58
|
}
|
|
62
59
|
)
|
|
63
60
|
end
|
|
64
61
|
def to_hash
|
|
65
62
|
end
|
|
66
|
-
|
|
67
|
-
# The event type
|
|
68
|
-
module Type
|
|
69
|
-
extend Dodopayments::Internal::Type::Enum
|
|
70
|
-
|
|
71
|
-
TaggedSymbol =
|
|
72
|
-
T.type_alias do
|
|
73
|
-
T.all(Symbol, Dodopayments::LicenseKeyCreatedWebhookEvent::Type)
|
|
74
|
-
end
|
|
75
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
76
|
-
|
|
77
|
-
LICENSE_KEY_CREATED =
|
|
78
|
-
T.let(
|
|
79
|
-
:"license_key.created",
|
|
80
|
-
Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol
|
|
81
|
-
)
|
|
82
|
-
|
|
83
|
-
sig do
|
|
84
|
-
override.returns(
|
|
85
|
-
T::Array[
|
|
86
|
-
Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol
|
|
87
|
-
]
|
|
88
|
-
)
|
|
89
|
-
end
|
|
90
|
-
def self.values
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
63
|
end
|
|
94
64
|
end
|
|
95
65
|
end
|
|
@@ -106,10 +106,14 @@ module Dodopayments
|
|
|
106
106
|
sig { returns(T.nilable(T::Array[Dodopayments::CustomFieldResponse])) }
|
|
107
107
|
attr_accessor :custom_field_responses
|
|
108
108
|
|
|
109
|
-
#
|
|
109
|
+
# DEPRECATED: Use discounts instead. Returns the first discount's ID if present.
|
|
110
110
|
sig { returns(T.nilable(String)) }
|
|
111
111
|
attr_accessor :discount_id
|
|
112
112
|
|
|
113
|
+
# All stacked discounts applied, ordered by position
|
|
114
|
+
sig { returns(T.nilable(T::Array[Dodopayments::Payment::Discount])) }
|
|
115
|
+
attr_accessor :discounts
|
|
116
|
+
|
|
113
117
|
# An error code if the payment failed
|
|
114
118
|
sig { returns(T.nilable(String)) }
|
|
115
119
|
attr_accessor :error_code
|
|
@@ -196,6 +200,8 @@ module Dodopayments
|
|
|
196
200
|
custom_field_responses:
|
|
197
201
|
T.nilable(T::Array[Dodopayments::CustomFieldResponse::OrHash]),
|
|
198
202
|
discount_id: T.nilable(String),
|
|
203
|
+
discounts:
|
|
204
|
+
T.nilable(T::Array[Dodopayments::Payment::Discount::OrHash]),
|
|
199
205
|
error_code: T.nilable(String),
|
|
200
206
|
error_message: T.nilable(String),
|
|
201
207
|
invoice_id: T.nilable(String),
|
|
@@ -262,8 +268,10 @@ module Dodopayments
|
|
|
262
268
|
checkout_session_id: nil,
|
|
263
269
|
# Customer's responses to custom fields collected during checkout
|
|
264
270
|
custom_field_responses: nil,
|
|
265
|
-
#
|
|
271
|
+
# DEPRECATED: Use discounts instead. Returns the first discount's ID if present.
|
|
266
272
|
discount_id: nil,
|
|
273
|
+
# All stacked discounts applied, ordered by position
|
|
274
|
+
discounts: nil,
|
|
267
275
|
# An error code if the payment failed
|
|
268
276
|
error_code: nil,
|
|
269
277
|
# An error message if the payment failed
|
|
@@ -325,6 +333,7 @@ module Dodopayments
|
|
|
325
333
|
custom_field_responses:
|
|
326
334
|
T.nilable(T::Array[Dodopayments::CustomFieldResponse]),
|
|
327
335
|
discount_id: T.nilable(String),
|
|
336
|
+
discounts: T.nilable(T::Array[Dodopayments::Payment::Discount]),
|
|
328
337
|
error_code: T.nilable(String),
|
|
329
338
|
error_message: T.nilable(String),
|
|
330
339
|
invoice_id: T.nilable(String),
|
|
@@ -347,6 +356,165 @@ module Dodopayments
|
|
|
347
356
|
def to_hash
|
|
348
357
|
end
|
|
349
358
|
|
|
359
|
+
class Discount < Dodopayments::Internal::Type::BaseModel
|
|
360
|
+
OrHash =
|
|
361
|
+
T.type_alias do
|
|
362
|
+
T.any(
|
|
363
|
+
Dodopayments::Payment::Discount,
|
|
364
|
+
Dodopayments::Internal::AnyHash
|
|
365
|
+
)
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
# The discount amount (basis points for percentage, USD cents for flat)
|
|
369
|
+
sig { returns(Integer) }
|
|
370
|
+
attr_accessor :amount
|
|
371
|
+
|
|
372
|
+
# The business this discount belongs to
|
|
373
|
+
sig { returns(String) }
|
|
374
|
+
attr_accessor :business_id
|
|
375
|
+
|
|
376
|
+
# The discount code
|
|
377
|
+
sig { returns(String) }
|
|
378
|
+
attr_accessor :code
|
|
379
|
+
|
|
380
|
+
# Timestamp when the discount was created
|
|
381
|
+
sig { returns(Time) }
|
|
382
|
+
attr_accessor :created_at
|
|
383
|
+
|
|
384
|
+
# The unique discount ID
|
|
385
|
+
sig { returns(String) }
|
|
386
|
+
attr_accessor :discount_id
|
|
387
|
+
|
|
388
|
+
# Additional metadata
|
|
389
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
390
|
+
attr_accessor :metadata
|
|
391
|
+
|
|
392
|
+
# Position of this discount in the stack (0-based)
|
|
393
|
+
sig { returns(Integer) }
|
|
394
|
+
attr_accessor :position
|
|
395
|
+
|
|
396
|
+
# Whether this discount should be preserved when a subscription changes plans
|
|
397
|
+
sig { returns(T::Boolean) }
|
|
398
|
+
attr_accessor :preserve_on_plan_change
|
|
399
|
+
|
|
400
|
+
# List of product IDs to which this discount is restricted
|
|
401
|
+
sig { returns(T::Array[String]) }
|
|
402
|
+
attr_accessor :restricted_to
|
|
403
|
+
|
|
404
|
+
# How many times this discount has been used
|
|
405
|
+
sig { returns(Integer) }
|
|
406
|
+
attr_accessor :times_used
|
|
407
|
+
|
|
408
|
+
# The type of discount
|
|
409
|
+
sig { returns(Dodopayments::DiscountType::TaggedSymbol) }
|
|
410
|
+
attr_accessor :type
|
|
411
|
+
|
|
412
|
+
# Remaining billing cycles for this discount on this subscription (None for
|
|
413
|
+
# one-time payments)
|
|
414
|
+
sig { returns(T.nilable(Integer)) }
|
|
415
|
+
attr_accessor :cycles_remaining
|
|
416
|
+
|
|
417
|
+
# Optional date/time after which discount is expired
|
|
418
|
+
sig { returns(T.nilable(Time)) }
|
|
419
|
+
attr_accessor :expires_at
|
|
420
|
+
|
|
421
|
+
# Name for the Discount
|
|
422
|
+
sig { returns(T.nilable(String)) }
|
|
423
|
+
attr_accessor :name
|
|
424
|
+
|
|
425
|
+
# Number of subscription billing cycles this discount is valid for
|
|
426
|
+
sig { returns(T.nilable(Integer)) }
|
|
427
|
+
attr_accessor :subscription_cycles
|
|
428
|
+
|
|
429
|
+
# Usage limit for this discount, if any
|
|
430
|
+
sig { returns(T.nilable(Integer)) }
|
|
431
|
+
attr_accessor :usage_limit
|
|
432
|
+
|
|
433
|
+
# Response struct for a discount with its position in a stack and optional
|
|
434
|
+
# cycle-tracking information (for subscriptions).
|
|
435
|
+
sig do
|
|
436
|
+
params(
|
|
437
|
+
amount: Integer,
|
|
438
|
+
business_id: String,
|
|
439
|
+
code: String,
|
|
440
|
+
created_at: Time,
|
|
441
|
+
discount_id: String,
|
|
442
|
+
metadata: T::Hash[Symbol, String],
|
|
443
|
+
position: Integer,
|
|
444
|
+
preserve_on_plan_change: T::Boolean,
|
|
445
|
+
restricted_to: T::Array[String],
|
|
446
|
+
times_used: Integer,
|
|
447
|
+
type: Dodopayments::DiscountType::OrSymbol,
|
|
448
|
+
cycles_remaining: T.nilable(Integer),
|
|
449
|
+
expires_at: T.nilable(Time),
|
|
450
|
+
name: T.nilable(String),
|
|
451
|
+
subscription_cycles: T.nilable(Integer),
|
|
452
|
+
usage_limit: T.nilable(Integer)
|
|
453
|
+
).returns(T.attached_class)
|
|
454
|
+
end
|
|
455
|
+
def self.new(
|
|
456
|
+
# The discount amount (basis points for percentage, USD cents for flat)
|
|
457
|
+
amount:,
|
|
458
|
+
# The business this discount belongs to
|
|
459
|
+
business_id:,
|
|
460
|
+
# The discount code
|
|
461
|
+
code:,
|
|
462
|
+
# Timestamp when the discount was created
|
|
463
|
+
created_at:,
|
|
464
|
+
# The unique discount ID
|
|
465
|
+
discount_id:,
|
|
466
|
+
# Additional metadata
|
|
467
|
+
metadata:,
|
|
468
|
+
# Position of this discount in the stack (0-based)
|
|
469
|
+
position:,
|
|
470
|
+
# Whether this discount should be preserved when a subscription changes plans
|
|
471
|
+
preserve_on_plan_change:,
|
|
472
|
+
# List of product IDs to which this discount is restricted
|
|
473
|
+
restricted_to:,
|
|
474
|
+
# How many times this discount has been used
|
|
475
|
+
times_used:,
|
|
476
|
+
# The type of discount
|
|
477
|
+
type:,
|
|
478
|
+
# Remaining billing cycles for this discount on this subscription (None for
|
|
479
|
+
# one-time payments)
|
|
480
|
+
cycles_remaining: nil,
|
|
481
|
+
# Optional date/time after which discount is expired
|
|
482
|
+
expires_at: nil,
|
|
483
|
+
# Name for the Discount
|
|
484
|
+
name: nil,
|
|
485
|
+
# Number of subscription billing cycles this discount is valid for
|
|
486
|
+
subscription_cycles: nil,
|
|
487
|
+
# Usage limit for this discount, if any
|
|
488
|
+
usage_limit: nil
|
|
489
|
+
)
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
sig do
|
|
493
|
+
override.returns(
|
|
494
|
+
{
|
|
495
|
+
amount: Integer,
|
|
496
|
+
business_id: String,
|
|
497
|
+
code: String,
|
|
498
|
+
created_at: Time,
|
|
499
|
+
discount_id: String,
|
|
500
|
+
metadata: T::Hash[Symbol, String],
|
|
501
|
+
position: Integer,
|
|
502
|
+
preserve_on_plan_change: T::Boolean,
|
|
503
|
+
restricted_to: T::Array[String],
|
|
504
|
+
times_used: Integer,
|
|
505
|
+
type: Dodopayments::DiscountType::TaggedSymbol,
|
|
506
|
+
cycles_remaining: T.nilable(Integer),
|
|
507
|
+
expires_at: T.nilable(Time),
|
|
508
|
+
name: T.nilable(String),
|
|
509
|
+
subscription_cycles: T.nilable(Integer),
|
|
510
|
+
usage_limit: T.nilable(Integer)
|
|
511
|
+
}
|
|
512
|
+
)
|
|
513
|
+
end
|
|
514
|
+
def to_hash
|
|
515
|
+
end
|
|
516
|
+
end
|
|
517
|
+
|
|
350
518
|
class ProductCart < Dodopayments::Internal::Type::BaseModel
|
|
351
519
|
OrHash =
|
|
352
520
|
T.type_alias do
|