dodopayments 2.8.0 → 2.9.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 +17 -0
- data/README.md +1 -1
- data/lib/dodopayments/client.rb +4 -0
- data/lib/dodopayments/models/attach_product_entitlement.rb +22 -0
- data/lib/dodopayments/models/cancellation_feedback.rb +21 -0
- data/lib/dodopayments/models/checkout_session_flags.rb +12 -1
- data/lib/dodopayments/models/checkout_session_request.rb +14 -1
- data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +1 -0
- data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +52 -0
- data/lib/dodopayments/models/customer_list_entitlements_params.rb +20 -0
- data/lib/dodopayments/models/customer_list_entitlements_response.rb +105 -0
- data/lib/dodopayments/models/digital_product_delivery.rb +13 -15
- data/lib/dodopayments/models/digital_product_delivery_file.rb +32 -8
- data/lib/dodopayments/models/entitlement.rb +86 -0
- data/lib/dodopayments/models/entitlement_create_params.rb +54 -0
- data/lib/dodopayments/models/entitlement_delete_params.rb +20 -0
- data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +51 -0
- data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +51 -0
- data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +51 -0
- data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +51 -0
- data/lib/dodopayments/models/entitlement_integration_type.rb +21 -0
- data/lib/dodopayments/models/entitlement_list_params.rb +55 -0
- data/lib/dodopayments/models/entitlement_retrieve_params.rb +20 -0
- data/lib/dodopayments/models/entitlement_update_params.rb +54 -0
- data/lib/dodopayments/models/entitlements/entitlement_grant.rb +172 -0
- data/lib/dodopayments/models/entitlements/file_delete_params.rb +28 -0
- data/lib/dodopayments/models/entitlements/file_upload_params.rb +22 -0
- data/lib/dodopayments/models/entitlements/file_upload_response.rb +23 -0
- data/lib/dodopayments/models/entitlements/grant_list_params.rb +68 -0
- data/lib/dodopayments/models/entitlements/grant_revoke_params.rb +28 -0
- data/lib/dodopayments/models/entitlements/license_key_grant.rb +40 -0
- data/lib/dodopayments/models/integration_config.rb +174 -0
- data/lib/dodopayments/models/integration_config_response.rb +238 -0
- data/lib/dodopayments/models/license_key_instance_list_params.rb +9 -1
- data/lib/dodopayments/models/one_time_product_cart_item.rb +15 -1
- data/lib/dodopayments/models/payment.rb +19 -3
- data/lib/dodopayments/models/payment_create_params.rb +23 -35
- data/lib/dodopayments/models/payment_create_response.rb +3 -33
- data/lib/dodopayments/models/product.rb +12 -217
- data/lib/dodopayments/models/product_create_params.rb +25 -6
- data/lib/dodopayments/models/product_entitlement_summary.rb +57 -0
- data/lib/dodopayments/models/product_list_response.rb +3 -218
- data/lib/dodopayments/models/product_update_params.rb +21 -7
- data/lib/dodopayments/models/scheduled_plan_change.rb +99 -0
- data/lib/dodopayments/models/subscription.rb +20 -102
- data/lib/dodopayments/models/subscription_create_params.rb +27 -37
- data/lib/dodopayments/models/subscription_create_response.rb +19 -3
- data/lib/dodopayments/models/subscription_list_response.rb +3 -103
- data/lib/dodopayments/models/subscription_update_params.rb +23 -1
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +11 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +11 -1
- data/lib/dodopayments/models/update_subscription_plan_req.rb +10 -1
- data/lib/dodopayments/models/webhook_event_type.rb +1 -0
- data/lib/dodopayments/models/webhook_payload.rb +2 -154
- data/lib/dodopayments/models.rb +40 -0
- data/lib/dodopayments/resources/checkout_sessions.rb +6 -2
- data/lib/dodopayments/resources/customers.rb +20 -0
- data/lib/dodopayments/resources/entitlements/files.rb +70 -0
- data/lib/dodopayments/resources/entitlements/grants.rb +78 -0
- data/lib/dodopayments/resources/entitlements.rb +153 -0
- data/lib/dodopayments/resources/license_key_instances.rb +3 -1
- data/lib/dodopayments/resources/payments.rb +6 -2
- data/lib/dodopayments/resources/products.rb +4 -4
- data/lib/dodopayments/resources/subscriptions.rb +20 -5
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +30 -0
- data/rbi/dodopayments/client.rbi +3 -0
- data/rbi/dodopayments/models/attach_product_entitlement.rbi +35 -0
- data/rbi/dodopayments/models/cancellation_feedback.rbi +45 -0
- data/rbi/dodopayments/models/checkout_session_flags.rbi +20 -3
- data/rbi/dodopayments/models/checkout_session_request.rbi +18 -0
- data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +5 -0
- data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +103 -0
- data/rbi/dodopayments/models/customer_list_entitlements_params.rbi +38 -0
- data/rbi/dodopayments/models/customer_list_entitlements_response.rbi +189 -0
- data/rbi/dodopayments/models/digital_product_delivery.rbi +10 -22
- data/rbi/dodopayments/models/digital_product_delivery_file.rbi +40 -8
- data/rbi/dodopayments/models/entitlement.rbi +112 -0
- data/rbi/dodopayments/models/entitlement_create_params.rbi +112 -0
- data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
- data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +103 -0
- data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +103 -0
- data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +102 -0
- data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +103 -0
- data/rbi/dodopayments/models/entitlement_integration_type.rbi +44 -0
- data/rbi/dodopayments/models/entitlement_list_params.rbi +146 -0
- data/rbi/dodopayments/models/entitlement_retrieve_params.rbi +38 -0
- data/rbi/dodopayments/models/entitlement_update_params.rbi +111 -0
- data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +235 -0
- data/rbi/dodopayments/models/entitlements/file_delete_params.rbi +48 -0
- data/rbi/dodopayments/models/entitlements/file_upload_params.rbi +40 -0
- data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +34 -0
- data/rbi/dodopayments/models/entitlements/grant_list_params.rbi +145 -0
- data/rbi/dodopayments/models/entitlements/grant_revoke_params.rbi +48 -0
- data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +62 -0
- data/rbi/dodopayments/models/integration_config.rbi +296 -0
- data/rbi/dodopayments/models/integration_config_response.rbi +416 -0
- data/rbi/dodopayments/models/license_key_instance_list_params.rbi +8 -0
- data/rbi/dodopayments/models/one_time_product_cart_item.rbi +24 -3
- data/rbi/dodopayments/models/payment.rbi +31 -3
- data/rbi/dodopayments/models/payment_create_params.rbi +28 -56
- data/rbi/dodopayments/models/payment_create_response.rbi +3 -68
- data/rbi/dodopayments/models/product.rbi +12 -420
- data/rbi/dodopayments/models/product_create_params.rbi +43 -7
- data/rbi/dodopayments/models/product_entitlement_summary.rbi +88 -0
- data/rbi/dodopayments/models/product_list_response.rbi +3 -430
- data/rbi/dodopayments/models/product_update_params.rbi +35 -9
- data/rbi/dodopayments/models/scheduled_plan_change.rbi +141 -0
- data/rbi/dodopayments/models/subscription.rbi +24 -149
- data/rbi/dodopayments/models/subscription_create_params.rbi +36 -68
- data/rbi/dodopayments/models/subscription_create_response.rbi +47 -3
- data/rbi/dodopayments/models/subscription_list_response.rbi +4 -167
- data/rbi/dodopayments/models/subscription_update_params.rbi +27 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +5 -0
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +5 -0
- data/rbi/dodopayments/models/update_subscription_plan_req.rbi +10 -0
- data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
- data/rbi/dodopayments/models/webhook_payload.rbi +4 -197
- data/rbi/dodopayments/models.rbi +46 -0
- data/rbi/dodopayments/resources/checkout_sessions.rbi +16 -0
- data/rbi/dodopayments/resources/customers.rbi +14 -0
- data/rbi/dodopayments/resources/entitlements/files.rbi +52 -0
- data/rbi/dodopayments/resources/entitlements/grants.rbi +65 -0
- data/rbi/dodopayments/resources/entitlements.rbi +143 -0
- data/rbi/dodopayments/resources/license_key_instances.rbi +3 -0
- data/rbi/dodopayments/resources/payments.rbi +10 -2
- data/rbi/dodopayments/resources/products.rbi +34 -7
- data/rbi/dodopayments/resources/subscriptions.rbi +31 -5
- data/rbi/dodopayments/resources/webhooks.rbi +10 -0
- data/sig/dodopayments/client.rbs +2 -0
- data/sig/dodopayments/models/attach_product_entitlement.rbs +13 -0
- data/sig/dodopayments/models/cancellation_feedback.rbs +28 -0
- data/sig/dodopayments/models/checkout_session_flags.rbs +10 -3
- data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
- data/sig/dodopayments/models/credit_entitlements/credit_ledger_entry.rbs +2 -0
- data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/customer_list_entitlements_params.rbs +23 -0
- data/sig/dodopayments/models/customer_list_entitlements_response.rbs +95 -0
- data/sig/dodopayments/models/digital_product_delivery.rbs +5 -5
- data/sig/dodopayments/models/digital_product_delivery_file.rbs +32 -5
- data/sig/dodopayments/models/entitlement.rbs +67 -0
- data/sig/dodopayments/models/entitlement_create_params.rbs +46 -0
- data/sig/dodopayments/models/entitlement_delete_params.rbs +23 -0
- data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_integration_type.rbs +28 -0
- data/sig/dodopayments/models/entitlement_list_params.rbs +69 -0
- data/sig/dodopayments/models/entitlement_retrieve_params.rbs +23 -0
- data/sig/dodopayments/models/entitlement_update_params.rbs +46 -0
- data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +134 -0
- data/sig/dodopayments/models/entitlements/file_delete_params.rbs +30 -0
- data/sig/dodopayments/models/entitlements/file_upload_params.rbs +25 -0
- data/sig/dodopayments/models/entitlements/file_upload_response.rbs +15 -0
- data/sig/dodopayments/models/entitlements/grant_list_params.rbs +71 -0
- data/sig/dodopayments/models/entitlements/grant_revoke_params.rbs +30 -0
- data/sig/dodopayments/models/entitlements/license_key_grant.rbs +37 -0
- data/sig/dodopayments/models/integration_config.rbs +147 -0
- data/sig/dodopayments/models/integration_config_response.rbs +206 -0
- data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -1
- data/sig/dodopayments/models/one_time_product_cart_item.rbs +14 -3
- data/sig/dodopayments/models/payment.rbs +16 -4
- data/sig/dodopayments/models/payment_create_params.rbs +16 -27
- data/sig/dodopayments/models/payment_create_response.rbs +4 -27
- data/sig/dodopayments/models/product.rbs +4 -205
- data/sig/dodopayments/models/product_create_params.rbs +4 -4
- data/sig/dodopayments/models/product_entitlement_summary.rbs +40 -0
- data/sig/dodopayments/models/product_list_response.rbs +4 -205
- data/sig/dodopayments/models/product_update_params.rbs +4 -4
- data/sig/dodopayments/models/scheduled_plan_change.rbs +73 -0
- data/sig/dodopayments/models/subscription.rbs +14 -74
- data/sig/dodopayments/models/subscription_create_params.rbs +16 -27
- data/sig/dodopayments/models/subscription_create_response.rbs +16 -4
- data/sig/dodopayments/models/subscription_list_response.rbs +4 -74
- data/sig/dodopayments/models/subscription_update_params.rbs +12 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -0
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -0
- data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
- data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
- data/sig/dodopayments/models/webhook_payload.rbs +8 -134
- data/sig/dodopayments/models.rbs +40 -0
- data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
- data/sig/dodopayments/resources/customers.rbs +5 -0
- data/sig/dodopayments/resources/entitlements/files.rbs +20 -0
- data/sig/dodopayments/resources/entitlements/grants.rbs +24 -0
- data/sig/dodopayments/resources/entitlements.rbs +46 -0
- data/sig/dodopayments/resources/license_key_instances.rbs +1 -0
- data/sig/dodopayments/resources/payments.rbs +3 -1
- data/sig/dodopayments/resources/products.rbs +2 -2
- data/sig/dodopayments/resources/subscriptions.rbs +7 -1
- data/sig/dodopayments/resources/webhooks.rbs +10 -0
- metadata +92 -2
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
# Public-facing variant of [`IntegrationConfig`]. Mirrors every variant shape on
|
|
6
|
+
# the wire EXCEPT `DigitalFiles`, which is replaced with a hydrated
|
|
7
|
+
# `digital_files` object (resolved download URLs etc.). The persisted JSONB stays
|
|
8
|
+
# ID-only via [`IntegrationConfig`]; this enum is response-only.
|
|
9
|
+
module IntegrationConfigResponse
|
|
10
|
+
extend Dodopayments::Internal::Type::Union
|
|
11
|
+
|
|
12
|
+
Variants =
|
|
13
|
+
T.type_alias do
|
|
14
|
+
T.any(
|
|
15
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig,
|
|
16
|
+
Dodopayments::IntegrationConfigResponse::DiscordConfig,
|
|
17
|
+
Dodopayments::IntegrationConfigResponse::TelegramConfig,
|
|
18
|
+
Dodopayments::IntegrationConfigResponse::FigmaConfig,
|
|
19
|
+
Dodopayments::IntegrationConfigResponse::FramerConfig,
|
|
20
|
+
Dodopayments::IntegrationConfigResponse::NotionConfig,
|
|
21
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig,
|
|
22
|
+
Dodopayments::IntegrationConfigResponse::LicenseKeyConfig
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class GitHubConfig < Dodopayments::Internal::Type::BaseModel
|
|
27
|
+
OrHash =
|
|
28
|
+
T.type_alias do
|
|
29
|
+
T.any(
|
|
30
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig,
|
|
31
|
+
Dodopayments::Internal::AnyHash
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig { returns(String) }
|
|
36
|
+
attr_accessor :permission
|
|
37
|
+
|
|
38
|
+
sig { returns(String) }
|
|
39
|
+
attr_accessor :target_id
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
params(permission: String, target_id: String).returns(
|
|
43
|
+
T.attached_class
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def self.new(permission:, target_id:)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
sig { override.returns({ permission: String, target_id: String }) }
|
|
50
|
+
def to_hash
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
class DiscordConfig < Dodopayments::Internal::Type::BaseModel
|
|
55
|
+
OrHash =
|
|
56
|
+
T.type_alias do
|
|
57
|
+
T.any(
|
|
58
|
+
Dodopayments::IntegrationConfigResponse::DiscordConfig,
|
|
59
|
+
Dodopayments::Internal::AnyHash
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
sig { returns(String) }
|
|
64
|
+
attr_accessor :guild_id
|
|
65
|
+
|
|
66
|
+
sig { returns(T.nilable(String)) }
|
|
67
|
+
attr_accessor :role_id
|
|
68
|
+
|
|
69
|
+
sig do
|
|
70
|
+
params(guild_id: String, role_id: T.nilable(String)).returns(
|
|
71
|
+
T.attached_class
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
def self.new(guild_id:, role_id: nil)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
sig do
|
|
78
|
+
override.returns({ guild_id: String, role_id: T.nilable(String) })
|
|
79
|
+
end
|
|
80
|
+
def to_hash
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
class TelegramConfig < Dodopayments::Internal::Type::BaseModel
|
|
85
|
+
OrHash =
|
|
86
|
+
T.type_alias do
|
|
87
|
+
T.any(
|
|
88
|
+
Dodopayments::IntegrationConfigResponse::TelegramConfig,
|
|
89
|
+
Dodopayments::Internal::AnyHash
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
sig { returns(String) }
|
|
94
|
+
attr_accessor :chat_id
|
|
95
|
+
|
|
96
|
+
sig { params(chat_id: String).returns(T.attached_class) }
|
|
97
|
+
def self.new(chat_id:)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
sig { override.returns({ chat_id: String }) }
|
|
101
|
+
def to_hash
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
class FigmaConfig < Dodopayments::Internal::Type::BaseModel
|
|
106
|
+
OrHash =
|
|
107
|
+
T.type_alias do
|
|
108
|
+
T.any(
|
|
109
|
+
Dodopayments::IntegrationConfigResponse::FigmaConfig,
|
|
110
|
+
Dodopayments::Internal::AnyHash
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
sig { returns(String) }
|
|
115
|
+
attr_accessor :figma_file_id
|
|
116
|
+
|
|
117
|
+
sig { params(figma_file_id: String).returns(T.attached_class) }
|
|
118
|
+
def self.new(figma_file_id:)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
sig { override.returns({ figma_file_id: String }) }
|
|
122
|
+
def to_hash
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
class FramerConfig < Dodopayments::Internal::Type::BaseModel
|
|
127
|
+
OrHash =
|
|
128
|
+
T.type_alias do
|
|
129
|
+
T.any(
|
|
130
|
+
Dodopayments::IntegrationConfigResponse::FramerConfig,
|
|
131
|
+
Dodopayments::Internal::AnyHash
|
|
132
|
+
)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
sig { returns(String) }
|
|
136
|
+
attr_accessor :framer_template_id
|
|
137
|
+
|
|
138
|
+
sig { params(framer_template_id: String).returns(T.attached_class) }
|
|
139
|
+
def self.new(framer_template_id:)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
sig { override.returns({ framer_template_id: String }) }
|
|
143
|
+
def to_hash
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
class NotionConfig < Dodopayments::Internal::Type::BaseModel
|
|
148
|
+
OrHash =
|
|
149
|
+
T.type_alias do
|
|
150
|
+
T.any(
|
|
151
|
+
Dodopayments::IntegrationConfigResponse::NotionConfig,
|
|
152
|
+
Dodopayments::Internal::AnyHash
|
|
153
|
+
)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
sig { returns(String) }
|
|
157
|
+
attr_accessor :notion_template_id
|
|
158
|
+
|
|
159
|
+
sig { params(notion_template_id: String).returns(T.attached_class) }
|
|
160
|
+
def self.new(notion_template_id:)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
sig { override.returns({ notion_template_id: String }) }
|
|
164
|
+
def to_hash
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
class DigitalFilesConfig < Dodopayments::Internal::Type::BaseModel
|
|
169
|
+
OrHash =
|
|
170
|
+
T.type_alias do
|
|
171
|
+
T.any(
|
|
172
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig,
|
|
173
|
+
Dodopayments::Internal::AnyHash
|
|
174
|
+
)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Populated digital-files payload for entitlement read surfaces. Mirrors
|
|
178
|
+
# `DigitalProductDelivery` but is sourced from an entitlement's
|
|
179
|
+
# `integration_config` (not a grant) and tags each file with its origin (`legacy`
|
|
180
|
+
# vs `ee`).
|
|
181
|
+
sig do
|
|
182
|
+
returns(
|
|
183
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles
|
|
184
|
+
)
|
|
185
|
+
end
|
|
186
|
+
attr_reader :digital_files
|
|
187
|
+
|
|
188
|
+
sig do
|
|
189
|
+
params(
|
|
190
|
+
digital_files:
|
|
191
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles::OrHash
|
|
192
|
+
).void
|
|
193
|
+
end
|
|
194
|
+
attr_writer :digital_files
|
|
195
|
+
|
|
196
|
+
sig do
|
|
197
|
+
params(
|
|
198
|
+
digital_files:
|
|
199
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles::OrHash
|
|
200
|
+
).returns(T.attached_class)
|
|
201
|
+
end
|
|
202
|
+
def self.new(
|
|
203
|
+
# Populated digital-files payload for entitlement read surfaces. Mirrors
|
|
204
|
+
# `DigitalProductDelivery` but is sourced from an entitlement's
|
|
205
|
+
# `integration_config` (not a grant) and tags each file with its origin (`legacy`
|
|
206
|
+
# vs `ee`).
|
|
207
|
+
digital_files:
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
sig do
|
|
212
|
+
override.returns(
|
|
213
|
+
{
|
|
214
|
+
digital_files:
|
|
215
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles
|
|
216
|
+
}
|
|
217
|
+
)
|
|
218
|
+
end
|
|
219
|
+
def to_hash
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
class DigitalFiles < Dodopayments::Internal::Type::BaseModel
|
|
223
|
+
OrHash =
|
|
224
|
+
T.type_alias do
|
|
225
|
+
T.any(
|
|
226
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles,
|
|
227
|
+
Dodopayments::Internal::AnyHash
|
|
228
|
+
)
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
sig do
|
|
232
|
+
returns(
|
|
233
|
+
T::Array[
|
|
234
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles::File
|
|
235
|
+
]
|
|
236
|
+
)
|
|
237
|
+
end
|
|
238
|
+
attr_accessor :files
|
|
239
|
+
|
|
240
|
+
sig { returns(T.nilable(String)) }
|
|
241
|
+
attr_accessor :external_url
|
|
242
|
+
|
|
243
|
+
sig { returns(T.nilable(String)) }
|
|
244
|
+
attr_accessor :instructions
|
|
245
|
+
|
|
246
|
+
# Populated digital-files payload for entitlement read surfaces. Mirrors
|
|
247
|
+
# `DigitalProductDelivery` but is sourced from an entitlement's
|
|
248
|
+
# `integration_config` (not a grant) and tags each file with its origin (`legacy`
|
|
249
|
+
# vs `ee`).
|
|
250
|
+
sig do
|
|
251
|
+
params(
|
|
252
|
+
files:
|
|
253
|
+
T::Array[
|
|
254
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles::File::OrHash
|
|
255
|
+
],
|
|
256
|
+
external_url: T.nilable(String),
|
|
257
|
+
instructions: T.nilable(String)
|
|
258
|
+
).returns(T.attached_class)
|
|
259
|
+
end
|
|
260
|
+
def self.new(files:, external_url: nil, instructions: nil)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
sig do
|
|
264
|
+
override.returns(
|
|
265
|
+
{
|
|
266
|
+
files:
|
|
267
|
+
T::Array[
|
|
268
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles::File
|
|
269
|
+
],
|
|
270
|
+
external_url: T.nilable(String),
|
|
271
|
+
instructions: T.nilable(String)
|
|
272
|
+
}
|
|
273
|
+
)
|
|
274
|
+
end
|
|
275
|
+
def to_hash
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
class File < Dodopayments::Internal::Type::BaseModel
|
|
279
|
+
OrHash =
|
|
280
|
+
T.type_alias do
|
|
281
|
+
T.any(
|
|
282
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::DigitalFiles::File,
|
|
283
|
+
Dodopayments::Internal::AnyHash
|
|
284
|
+
)
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
sig { returns(String) }
|
|
288
|
+
attr_accessor :download_url
|
|
289
|
+
|
|
290
|
+
# Seconds until `download_url` expires.
|
|
291
|
+
sig { returns(Integer) }
|
|
292
|
+
attr_accessor :expires_in
|
|
293
|
+
|
|
294
|
+
sig { returns(String) }
|
|
295
|
+
attr_accessor :file_id
|
|
296
|
+
|
|
297
|
+
sig { returns(String) }
|
|
298
|
+
attr_accessor :filename
|
|
299
|
+
|
|
300
|
+
# `"legacy"` for files in `product_files`, `"ee"` for files managed by the
|
|
301
|
+
# Entitlements Engine.
|
|
302
|
+
sig { returns(String) }
|
|
303
|
+
attr_accessor :source
|
|
304
|
+
|
|
305
|
+
sig { returns(T.nilable(String)) }
|
|
306
|
+
attr_accessor :content_type
|
|
307
|
+
|
|
308
|
+
sig { returns(T.nilable(Integer)) }
|
|
309
|
+
attr_accessor :file_size
|
|
310
|
+
|
|
311
|
+
sig do
|
|
312
|
+
params(
|
|
313
|
+
download_url: String,
|
|
314
|
+
expires_in: Integer,
|
|
315
|
+
file_id: String,
|
|
316
|
+
filename: String,
|
|
317
|
+
source: String,
|
|
318
|
+
content_type: T.nilable(String),
|
|
319
|
+
file_size: T.nilable(Integer)
|
|
320
|
+
).returns(T.attached_class)
|
|
321
|
+
end
|
|
322
|
+
def self.new(
|
|
323
|
+
download_url:,
|
|
324
|
+
# Seconds until `download_url` expires.
|
|
325
|
+
expires_in:,
|
|
326
|
+
file_id:,
|
|
327
|
+
filename:,
|
|
328
|
+
# `"legacy"` for files in `product_files`, `"ee"` for files managed by the
|
|
329
|
+
# Entitlements Engine.
|
|
330
|
+
source:,
|
|
331
|
+
content_type: nil,
|
|
332
|
+
file_size: nil
|
|
333
|
+
)
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
sig do
|
|
337
|
+
override.returns(
|
|
338
|
+
{
|
|
339
|
+
download_url: String,
|
|
340
|
+
expires_in: Integer,
|
|
341
|
+
file_id: String,
|
|
342
|
+
filename: String,
|
|
343
|
+
source: String,
|
|
344
|
+
content_type: T.nilable(String),
|
|
345
|
+
file_size: T.nilable(Integer)
|
|
346
|
+
}
|
|
347
|
+
)
|
|
348
|
+
end
|
|
349
|
+
def to_hash
|
|
350
|
+
end
|
|
351
|
+
end
|
|
352
|
+
end
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
class LicenseKeyConfig < Dodopayments::Internal::Type::BaseModel
|
|
356
|
+
OrHash =
|
|
357
|
+
T.type_alias do
|
|
358
|
+
T.any(
|
|
359
|
+
Dodopayments::IntegrationConfigResponse::LicenseKeyConfig,
|
|
360
|
+
Dodopayments::Internal::AnyHash
|
|
361
|
+
)
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
sig { returns(T.nilable(String)) }
|
|
365
|
+
attr_accessor :activation_message
|
|
366
|
+
|
|
367
|
+
sig { returns(T.nilable(Integer)) }
|
|
368
|
+
attr_accessor :activations_limit
|
|
369
|
+
|
|
370
|
+
sig { returns(T.nilable(Integer)) }
|
|
371
|
+
attr_accessor :duration_count
|
|
372
|
+
|
|
373
|
+
sig { returns(T.nilable(Dodopayments::TimeInterval::TaggedSymbol)) }
|
|
374
|
+
attr_accessor :duration_interval
|
|
375
|
+
|
|
376
|
+
sig do
|
|
377
|
+
params(
|
|
378
|
+
activation_message: T.nilable(String),
|
|
379
|
+
activations_limit: T.nilable(Integer),
|
|
380
|
+
duration_count: T.nilable(Integer),
|
|
381
|
+
duration_interval: T.nilable(Dodopayments::TimeInterval::OrSymbol)
|
|
382
|
+
).returns(T.attached_class)
|
|
383
|
+
end
|
|
384
|
+
def self.new(
|
|
385
|
+
activation_message: nil,
|
|
386
|
+
activations_limit: nil,
|
|
387
|
+
duration_count: nil,
|
|
388
|
+
duration_interval: nil
|
|
389
|
+
)
|
|
390
|
+
end
|
|
391
|
+
|
|
392
|
+
sig do
|
|
393
|
+
override.returns(
|
|
394
|
+
{
|
|
395
|
+
activation_message: T.nilable(String),
|
|
396
|
+
activations_limit: T.nilable(Integer),
|
|
397
|
+
duration_count: T.nilable(Integer),
|
|
398
|
+
duration_interval:
|
|
399
|
+
T.nilable(Dodopayments::TimeInterval::TaggedSymbol)
|
|
400
|
+
}
|
|
401
|
+
)
|
|
402
|
+
end
|
|
403
|
+
def to_hash
|
|
404
|
+
end
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
sig do
|
|
408
|
+
override.returns(
|
|
409
|
+
T::Array[Dodopayments::IntegrationConfigResponse::Variants]
|
|
410
|
+
)
|
|
411
|
+
end
|
|
412
|
+
def self.variants
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
end
|
|
416
|
+
end
|
|
@@ -14,6 +14,10 @@ module Dodopayments
|
|
|
14
14
|
)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
# Filter instances by entitlement grant ID
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_accessor :grant_id
|
|
20
|
+
|
|
17
21
|
# Filter by license key ID
|
|
18
22
|
sig { returns(T.nilable(String)) }
|
|
19
23
|
attr_accessor :license_key_id
|
|
@@ -28,6 +32,7 @@ module Dodopayments
|
|
|
28
32
|
|
|
29
33
|
sig do
|
|
30
34
|
params(
|
|
35
|
+
grant_id: T.nilable(String),
|
|
31
36
|
license_key_id: T.nilable(String),
|
|
32
37
|
page_number: T.nilable(Integer),
|
|
33
38
|
page_size: T.nilable(Integer),
|
|
@@ -35,6 +40,8 @@ module Dodopayments
|
|
|
35
40
|
).returns(T.attached_class)
|
|
36
41
|
end
|
|
37
42
|
def self.new(
|
|
43
|
+
# Filter instances by entitlement grant ID
|
|
44
|
+
grant_id: nil,
|
|
38
45
|
# Filter by license key ID
|
|
39
46
|
license_key_id: nil,
|
|
40
47
|
# Page number default is 0
|
|
@@ -48,6 +55,7 @@ module Dodopayments
|
|
|
48
55
|
sig do
|
|
49
56
|
override.returns(
|
|
50
57
|
{
|
|
58
|
+
grant_id: T.nilable(String),
|
|
51
59
|
license_key_id: T.nilable(String),
|
|
52
60
|
page_number: T.nilable(Integer),
|
|
53
61
|
page_size: T.nilable(Integer),
|
|
@@ -17,13 +17,34 @@ module Dodopayments
|
|
|
17
17
|
sig { returns(Integer) }
|
|
18
18
|
attr_accessor :quantity
|
|
19
19
|
|
|
20
|
+
# Amount the customer pays if pay_what_you_want is enabled. If disabled then
|
|
21
|
+
# amount will be ignored Represented in the lowest denomination of the currency
|
|
22
|
+
# (e.g., cents for USD). For example, to charge $1.00, pass `100`.
|
|
23
|
+
sig { returns(T.nilable(Integer)) }
|
|
24
|
+
attr_accessor :amount
|
|
25
|
+
|
|
20
26
|
sig do
|
|
21
|
-
params(
|
|
27
|
+
params(
|
|
28
|
+
product_id: String,
|
|
29
|
+
quantity: Integer,
|
|
30
|
+
amount: T.nilable(Integer)
|
|
31
|
+
).returns(T.attached_class)
|
|
22
32
|
end
|
|
23
|
-
def self.new(
|
|
33
|
+
def self.new(
|
|
34
|
+
product_id:,
|
|
35
|
+
quantity:,
|
|
36
|
+
# Amount the customer pays if pay_what_you_want is enabled. If disabled then
|
|
37
|
+
# amount will be ignored Represented in the lowest denomination of the currency
|
|
38
|
+
# (e.g., cents for USD). For example, to charge $1.00, pass `100`.
|
|
39
|
+
amount: nil
|
|
40
|
+
)
|
|
24
41
|
end
|
|
25
42
|
|
|
26
|
-
sig
|
|
43
|
+
sig do
|
|
44
|
+
override.returns(
|
|
45
|
+
{ product_id: String, quantity: Integer, amount: T.nilable(Integer) }
|
|
46
|
+
)
|
|
47
|
+
end
|
|
27
48
|
def to_hash
|
|
28
49
|
end
|
|
29
50
|
end
|
|
@@ -139,7 +139,7 @@ module Dodopayments
|
|
|
139
139
|
attr_accessor :payment_method_type
|
|
140
140
|
|
|
141
141
|
# List of products purchased in a one-time payment
|
|
142
|
-
sig { returns(T.nilable(T::Array[Dodopayments::
|
|
142
|
+
sig { returns(T.nilable(T::Array[Dodopayments::Payment::ProductCart])) }
|
|
143
143
|
attr_accessor :product_cart
|
|
144
144
|
|
|
145
145
|
# Summary of the refund status for this payment. None if no succeeded refunds
|
|
@@ -204,7 +204,7 @@ module Dodopayments
|
|
|
204
204
|
payment_method: T.nilable(String),
|
|
205
205
|
payment_method_type: T.nilable(String),
|
|
206
206
|
product_cart:
|
|
207
|
-
T.nilable(T::Array[Dodopayments::
|
|
207
|
+
T.nilable(T::Array[Dodopayments::Payment::ProductCart::OrHash]),
|
|
208
208
|
refund_status: T.nilable(Dodopayments::PaymentRefundStatus::OrSymbol),
|
|
209
209
|
settlement_tax: T.nilable(Integer),
|
|
210
210
|
status: T.nilable(Dodopayments::IntentStatus::OrSymbol),
|
|
@@ -333,7 +333,7 @@ module Dodopayments
|
|
|
333
333
|
payment_method: T.nilable(String),
|
|
334
334
|
payment_method_type: T.nilable(String),
|
|
335
335
|
product_cart:
|
|
336
|
-
T.nilable(T::Array[Dodopayments::
|
|
336
|
+
T.nilable(T::Array[Dodopayments::Payment::ProductCart]),
|
|
337
337
|
refund_status:
|
|
338
338
|
T.nilable(Dodopayments::PaymentRefundStatus::TaggedSymbol),
|
|
339
339
|
settlement_tax: T.nilable(Integer),
|
|
@@ -346,6 +346,34 @@ module Dodopayments
|
|
|
346
346
|
end
|
|
347
347
|
def to_hash
|
|
348
348
|
end
|
|
349
|
+
|
|
350
|
+
class ProductCart < Dodopayments::Internal::Type::BaseModel
|
|
351
|
+
OrHash =
|
|
352
|
+
T.type_alias do
|
|
353
|
+
T.any(
|
|
354
|
+
Dodopayments::Payment::ProductCart,
|
|
355
|
+
Dodopayments::Internal::AnyHash
|
|
356
|
+
)
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
sig { returns(String) }
|
|
360
|
+
attr_accessor :product_id
|
|
361
|
+
|
|
362
|
+
sig { returns(Integer) }
|
|
363
|
+
attr_accessor :quantity
|
|
364
|
+
|
|
365
|
+
sig do
|
|
366
|
+
params(product_id: String, quantity: Integer).returns(
|
|
367
|
+
T.attached_class
|
|
368
|
+
)
|
|
369
|
+
end
|
|
370
|
+
def self.new(product_id:, quantity:)
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
sig { override.returns({ product_id: String, quantity: Integer }) }
|
|
374
|
+
def to_hash
|
|
375
|
+
end
|
|
376
|
+
end
|
|
349
377
|
end
|
|
350
378
|
end
|
|
351
379
|
end
|
|
@@ -30,9 +30,14 @@ module Dodopayments
|
|
|
30
30
|
attr_accessor :customer
|
|
31
31
|
|
|
32
32
|
# List of products in the cart. Must contain at least 1 and at most 100 items.
|
|
33
|
-
sig { returns(T::Array[Dodopayments::
|
|
33
|
+
sig { returns(T::Array[Dodopayments::OneTimeProductCartItem]) }
|
|
34
34
|
attr_accessor :product_cart
|
|
35
35
|
|
|
36
|
+
# Whether adaptive currency fees should be included in the price (true) or added
|
|
37
|
+
# on top (false). If not specified, defaults to the business-level setting.
|
|
38
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
39
|
+
attr_accessor :adaptive_currency_fees_inclusive
|
|
40
|
+
|
|
36
41
|
# List of payment methods allowed during checkout.
|
|
37
42
|
#
|
|
38
43
|
# Customers will **never** see payment methods that are **not** in this list.
|
|
@@ -83,6 +88,15 @@ module Dodopayments
|
|
|
83
88
|
sig { params(redirect_immediately: T::Boolean).void }
|
|
84
89
|
attr_writer :redirect_immediately
|
|
85
90
|
|
|
91
|
+
# If true, the customer's phone number is required to create this payment.
|
|
92
|
+
# Typically set alongside `payment_link=true` so merchants can enforce phone
|
|
93
|
+
# collection on the hosted payment page. Defaults to false.
|
|
94
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
95
|
+
attr_reader :require_phone_number
|
|
96
|
+
|
|
97
|
+
sig { params(require_phone_number: T::Boolean).void }
|
|
98
|
+
attr_writer :require_phone_number
|
|
99
|
+
|
|
86
100
|
# Optional URL to redirect the customer after payment. Must be a valid URL if
|
|
87
101
|
# provided.
|
|
88
102
|
sig { returns(T.nilable(String)) }
|
|
@@ -112,8 +126,8 @@ module Dodopayments
|
|
|
112
126
|
Dodopayments::AttachExistingCustomer::OrHash,
|
|
113
127
|
Dodopayments::NewCustomer::OrHash
|
|
114
128
|
),
|
|
115
|
-
product_cart:
|
|
116
|
-
|
|
129
|
+
product_cart: T::Array[Dodopayments::OneTimeProductCartItem::OrHash],
|
|
130
|
+
adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
|
|
117
131
|
allowed_payment_method_types:
|
|
118
132
|
T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
|
|
119
133
|
billing_currency: T.nilable(Dodopayments::Currency::OrSymbol),
|
|
@@ -123,6 +137,7 @@ module Dodopayments
|
|
|
123
137
|
payment_link: T.nilable(T::Boolean),
|
|
124
138
|
payment_method_id: T.nilable(String),
|
|
125
139
|
redirect_immediately: T::Boolean,
|
|
140
|
+
require_phone_number: T::Boolean,
|
|
126
141
|
return_url: T.nilable(String),
|
|
127
142
|
short_link: T.nilable(T::Boolean),
|
|
128
143
|
show_saved_payment_methods: T::Boolean,
|
|
@@ -137,6 +152,9 @@ module Dodopayments
|
|
|
137
152
|
customer:,
|
|
138
153
|
# List of products in the cart. Must contain at least 1 and at most 100 items.
|
|
139
154
|
product_cart:,
|
|
155
|
+
# Whether adaptive currency fees should be included in the price (true) or added
|
|
156
|
+
# on top (false). If not specified, defaults to the business-level setting.
|
|
157
|
+
adaptive_currency_fees_inclusive: nil,
|
|
140
158
|
# List of payment methods allowed during checkout.
|
|
141
159
|
#
|
|
142
160
|
# Customers will **never** see payment methods that are **not** in this list.
|
|
@@ -163,6 +181,10 @@ module Dodopayments
|
|
|
163
181
|
# If true, redirects the customer immediately after payment completion False by
|
|
164
182
|
# default
|
|
165
183
|
redirect_immediately: nil,
|
|
184
|
+
# If true, the customer's phone number is required to create this payment.
|
|
185
|
+
# Typically set alongside `payment_link=true` so merchants can enforce phone
|
|
186
|
+
# collection on the hosted payment page. Defaults to false.
|
|
187
|
+
require_phone_number: nil,
|
|
166
188
|
# Optional URL to redirect the customer after payment. Must be a valid URL if
|
|
167
189
|
# provided.
|
|
168
190
|
return_url: nil,
|
|
@@ -186,8 +208,8 @@ module Dodopayments
|
|
|
186
208
|
Dodopayments::AttachExistingCustomer,
|
|
187
209
|
Dodopayments::NewCustomer
|
|
188
210
|
),
|
|
189
|
-
product_cart:
|
|
190
|
-
|
|
211
|
+
product_cart: T::Array[Dodopayments::OneTimeProductCartItem],
|
|
212
|
+
adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
|
|
191
213
|
allowed_payment_method_types:
|
|
192
214
|
T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
|
|
193
215
|
billing_currency: T.nilable(Dodopayments::Currency::OrSymbol),
|
|
@@ -197,6 +219,7 @@ module Dodopayments
|
|
|
197
219
|
payment_link: T.nilable(T::Boolean),
|
|
198
220
|
payment_method_id: T.nilable(String),
|
|
199
221
|
redirect_immediately: T::Boolean,
|
|
222
|
+
require_phone_number: T::Boolean,
|
|
200
223
|
return_url: T.nilable(String),
|
|
201
224
|
short_link: T.nilable(T::Boolean),
|
|
202
225
|
show_saved_payment_methods: T::Boolean,
|
|
@@ -207,57 +230,6 @@ module Dodopayments
|
|
|
207
230
|
end
|
|
208
231
|
def to_hash
|
|
209
232
|
end
|
|
210
|
-
|
|
211
|
-
class ProductCart < Dodopayments::Internal::Type::BaseModel
|
|
212
|
-
OrHash =
|
|
213
|
-
T.type_alias do
|
|
214
|
-
T.any(
|
|
215
|
-
Dodopayments::PaymentCreateParams::ProductCart,
|
|
216
|
-
Dodopayments::Internal::AnyHash
|
|
217
|
-
)
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
sig { returns(String) }
|
|
221
|
-
attr_accessor :product_id
|
|
222
|
-
|
|
223
|
-
sig { returns(Integer) }
|
|
224
|
-
attr_accessor :quantity
|
|
225
|
-
|
|
226
|
-
# Amount the customer pays if pay_what_you_want is enabled. If disabled then
|
|
227
|
-
# amount will be ignored Represented in the lowest denomination of the currency
|
|
228
|
-
# (e.g., cents for USD). For example, to charge $1.00, pass `100`.
|
|
229
|
-
sig { returns(T.nilable(Integer)) }
|
|
230
|
-
attr_accessor :amount
|
|
231
|
-
|
|
232
|
-
sig do
|
|
233
|
-
params(
|
|
234
|
-
product_id: String,
|
|
235
|
-
quantity: Integer,
|
|
236
|
-
amount: T.nilable(Integer)
|
|
237
|
-
).returns(T.attached_class)
|
|
238
|
-
end
|
|
239
|
-
def self.new(
|
|
240
|
-
product_id:,
|
|
241
|
-
quantity:,
|
|
242
|
-
# Amount the customer pays if pay_what_you_want is enabled. If disabled then
|
|
243
|
-
# amount will be ignored Represented in the lowest denomination of the currency
|
|
244
|
-
# (e.g., cents for USD). For example, to charge $1.00, pass `100`.
|
|
245
|
-
amount: nil
|
|
246
|
-
)
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
sig do
|
|
250
|
-
override.returns(
|
|
251
|
-
{
|
|
252
|
-
product_id: String,
|
|
253
|
-
quantity: Integer,
|
|
254
|
-
amount: T.nilable(Integer)
|
|
255
|
-
}
|
|
256
|
-
)
|
|
257
|
-
end
|
|
258
|
-
def to_hash
|
|
259
|
-
end
|
|
260
|
-
end
|
|
261
233
|
end
|
|
262
234
|
end
|
|
263
235
|
end
|