dodopayments 2.20.0 → 2.21.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 +16 -0
- data/README.md +1 -1
- data/lib/dodopayments/models/checkout_session_preview_response.rb +41 -4
- data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +4 -2
- data/lib/dodopayments/models/discount.rb +95 -3
- data/lib/dodopayments/models/discount_create_params.rb +110 -3
- data/lib/dodopayments/models/discount_list_params.rb +7 -2
- data/lib/dodopayments/models/discount_type.rb +1 -0
- data/lib/dodopayments/models/discount_update_params.rb +108 -3
- data/lib/dodopayments/models/payment.rb +162 -1
- data/lib/dodopayments/models/payment_list_params.rb +163 -1
- data/lib/dodopayments/models/payment_method_types.rb +0 -1
- data/lib/dodopayments/models/price.rb +19 -1
- data/lib/dodopayments/models/subscription.rb +11 -1
- data/lib/dodopayments/models/subscription_create_response.rb +10 -1
- data/lib/dodopayments/models/subscription_list_params.rb +12 -1
- data/lib/dodopayments/models/subscription_list_response.rb +11 -1
- data/lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb +40 -0
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +4 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +4 -1
- data/lib/dodopayments/models/webhook_event_type.rb +1 -0
- data/lib/dodopayments/models.rb +3 -0
- data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -1
- data/lib/dodopayments/resources/discounts.rb +24 -5
- data/lib/dodopayments/resources/payments.rb +3 -1
- data/lib/dodopayments/resources/subscriptions.rb +6 -1
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +1 -0
- data/rbi/dodopayments/models/checkout_session_preview_response.rbi +47 -5
- data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +6 -2
- data/rbi/dodopayments/models/discount.rbi +151 -2
- data/rbi/dodopayments/models/discount_create_params.rbi +197 -2
- data/rbi/dodopayments/models/discount_list_params.rbi +6 -2
- data/rbi/dodopayments/models/discount_type.rbi +1 -0
- data/rbi/dodopayments/models/discount_update_params.rbi +193 -2
- data/rbi/dodopayments/models/payment.rbi +365 -0
- data/rbi/dodopayments/models/payment_list_params.rbi +327 -0
- data/rbi/dodopayments/models/payment_method_types.rbi +0 -1
- data/rbi/dodopayments/models/price.rbi +20 -0
- data/rbi/dodopayments/models/subscription.rbi +15 -3
- data/rbi/dodopayments/models/subscription_create_response.rbi +13 -3
- data/rbi/dodopayments/models/subscription_list_params.rbi +11 -0
- data/rbi/dodopayments/models/subscription_list_response.rbi +15 -3
- data/rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi +67 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +1 -0
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +1 -0
- data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
- data/rbi/dodopayments/models.rbi +3 -0
- data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +3 -1
- data/rbi/dodopayments/resources/discounts.rbi +57 -3
- data/rbi/dodopayments/resources/payments.rbi +3 -0
- data/rbi/dodopayments/resources/subscriptions.rbi +3 -0
- data/rbi/dodopayments/resources/webhooks.rbi +2 -0
- data/sig/dodopayments/models/checkout_session_preview_response.rbs +18 -3
- data/sig/dodopayments/models/discount.rbs +69 -0
- data/sig/dodopayments/models/discount_create_params.rbs +69 -0
- data/sig/dodopayments/models/discount_type.rbs +2 -1
- data/sig/dodopayments/models/discount_update_params.rbs +69 -0
- data/sig/dodopayments/models/payment.rbs +145 -0
- data/sig/dodopayments/models/payment_list_params.rbs +308 -0
- data/sig/dodopayments/models/payment_method_types.rbs +0 -2
- data/sig/dodopayments/models/price.rbs +10 -0
- data/sig/dodopayments/models/subscription.rbs +8 -3
- data/sig/dodopayments/models/subscription_create_response.rbs +8 -3
- data/sig/dodopayments/models/subscription_list_params.rbs +7 -0
- data/sig/dodopayments/models/subscription_list_response.rbs +8 -3
- data/sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs +35 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +1 -0
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +1 -0
- data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
- data/sig/dodopayments/models.rbs +2 -0
- data/sig/dodopayments/resources/discounts.rbs +8 -0
- data/sig/dodopayments/resources/payments.rbs +1 -0
- data/sig/dodopayments/resources/subscriptions.rbs +1 -0
- data/sig/dodopayments/resources/webhooks.rbs +2 -0
- metadata +5 -2
|
@@ -13,6 +13,12 @@ module Dodopayments
|
|
|
13
13
|
# @return [String, nil]
|
|
14
14
|
optional :brand_id, String
|
|
15
15
|
|
|
16
|
+
# @!attribute cancel_at_next_billing_date
|
|
17
|
+
# Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
18
|
+
#
|
|
19
|
+
# @return [Boolean, nil]
|
|
20
|
+
optional :cancel_at_next_billing_date, Dodopayments::Internal::Type::Boolean
|
|
21
|
+
|
|
16
22
|
# @!attribute created_at_gte
|
|
17
23
|
# Get events after this created time
|
|
18
24
|
#
|
|
@@ -55,9 +61,14 @@ module Dodopayments
|
|
|
55
61
|
# @return [Symbol, Dodopayments::Models::SubscriptionListParams::Status, nil]
|
|
56
62
|
optional :status, enum: -> { Dodopayments::SubscriptionListParams::Status }
|
|
57
63
|
|
|
58
|
-
# @!method initialize(brand_id: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, request_options: {})
|
|
64
|
+
# @!method initialize(brand_id: nil, cancel_at_next_billing_date: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, request_options: {})
|
|
65
|
+
# Some parameter documentations has been truncated, see
|
|
66
|
+
# {Dodopayments::Models::SubscriptionListParams} for more details.
|
|
67
|
+
#
|
|
59
68
|
# @param brand_id [String] filter by Brand id
|
|
60
69
|
#
|
|
70
|
+
# @param cancel_at_next_billing_date [Boolean] Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
71
|
+
#
|
|
61
72
|
# @param created_at_gte [Time] Get events after this created time
|
|
62
73
|
#
|
|
63
74
|
# @param created_at_lte [Time] Get events created before this time
|
|
@@ -182,7 +182,15 @@ module Dodopayments
|
|
|
182
182
|
# @return [String, nil]
|
|
183
183
|
optional :tax_id, String, nil?: true
|
|
184
184
|
|
|
185
|
-
# @!
|
|
185
|
+
# @!attribute trial_amount
|
|
186
|
+
# Per-unit trial amount after discounts, snapshotted at subscription creation
|
|
187
|
+
# (price currency minor units, pre-quantity, pre-tax). Null for a free trial or no
|
|
188
|
+
# trial.
|
|
189
|
+
#
|
|
190
|
+
# @return [Integer, nil]
|
|
191
|
+
optional :trial_amount, Integer, nil?: true
|
|
192
|
+
|
|
193
|
+
# @!method initialize(billing:, cancel_at_next_billing_date:, created_at:, currency:, customer:, discounts:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, customer_business_name: nil, discount_cycles_remaining: nil, discount_id: nil, payment_method_id: nil, product_name: nil, scheduled_change: nil, tax_id: nil, trial_amount: nil)
|
|
186
194
|
# Some parameter documentations has been truncated, see
|
|
187
195
|
# {Dodopayments::Models::SubscriptionListResponse} for more details.
|
|
188
196
|
#
|
|
@@ -245,6 +253,8 @@ module Dodopayments
|
|
|
245
253
|
# @param scheduled_change [Dodopayments::Models::ScheduledPlanChange, nil] Scheduled plan change details, if any
|
|
246
254
|
#
|
|
247
255
|
# @param tax_id [String, nil] Tax identifier provided for this subscription (if applicable)
|
|
256
|
+
#
|
|
257
|
+
# @param trial_amount [Integer, nil] Per-unit trial amount after discounts, snapshotted at subscription creation
|
|
248
258
|
|
|
249
259
|
class Discount < Dodopayments::Internal::Type::BaseModel
|
|
250
260
|
# @!attribute discount_id
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class SubscriptionUpdatePaymentMethodWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute business_id
|
|
7
|
+
# The business identifier
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :business_id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
# Response struct representing subscription details
|
|
14
|
+
#
|
|
15
|
+
# @return [Dodopayments::Models::Subscription]
|
|
16
|
+
required :data, -> { Dodopayments::Subscription }
|
|
17
|
+
|
|
18
|
+
# @!attribute timestamp
|
|
19
|
+
# The timestamp of when the event occurred
|
|
20
|
+
#
|
|
21
|
+
# @return [Time]
|
|
22
|
+
required :timestamp, Time
|
|
23
|
+
|
|
24
|
+
# @!attribute type
|
|
25
|
+
# The event type
|
|
26
|
+
#
|
|
27
|
+
# @return [Symbol, :"subscription.update_payment_method"]
|
|
28
|
+
required :type, const: :"subscription.update_payment_method"
|
|
29
|
+
|
|
30
|
+
# @!method initialize(business_id:, data:, timestamp:, type: :"subscription.update_payment_method")
|
|
31
|
+
# @param business_id [String] The business identifier
|
|
32
|
+
#
|
|
33
|
+
# @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
|
|
34
|
+
#
|
|
35
|
+
# @param timestamp [Time] The timestamp of when the event occurred
|
|
36
|
+
#
|
|
37
|
+
# @param type [Symbol, :"subscription.update_payment_method"] The event type
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -83,10 +83,13 @@ module Dodopayments
|
|
|
83
83
|
|
|
84
84
|
variant :"subscription.renewed", -> { Dodopayments::SubscriptionRenewedWebhookEvent }
|
|
85
85
|
|
|
86
|
+
variant :"subscription.update_payment_method",
|
|
87
|
+
-> { Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent }
|
|
88
|
+
|
|
86
89
|
variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
|
|
87
90
|
|
|
88
91
|
# @!method self.variants
|
|
89
|
-
# @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
|
|
92
|
+
# @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
|
|
90
93
|
end
|
|
91
94
|
end
|
|
92
95
|
end
|
|
@@ -83,10 +83,13 @@ module Dodopayments
|
|
|
83
83
|
|
|
84
84
|
variant :"subscription.renewed", -> { Dodopayments::SubscriptionRenewedWebhookEvent }
|
|
85
85
|
|
|
86
|
+
variant :"subscription.update_payment_method",
|
|
87
|
+
-> { Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent }
|
|
88
|
+
|
|
86
89
|
variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
|
|
87
90
|
|
|
88
91
|
# @!method self.variants
|
|
89
|
-
# @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
|
|
92
|
+
# @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
|
|
90
93
|
end
|
|
91
94
|
end
|
|
92
95
|
end
|
|
@@ -28,6 +28,7 @@ module Dodopayments
|
|
|
28
28
|
SUBSCRIPTION_EXPIRED = :"subscription.expired"
|
|
29
29
|
SUBSCRIPTION_PLAN_CHANGED = :"subscription.plan_changed"
|
|
30
30
|
SUBSCRIPTION_UPDATED = :"subscription.updated"
|
|
31
|
+
SUBSCRIPTION_UPDATE_PAYMENT_METHOD = :"subscription.update_payment_method"
|
|
31
32
|
LICENSE_KEY_CREATED = :"license_key.created"
|
|
32
33
|
PAYOUT_NOT_INITIATED = :"payout.not_initiated"
|
|
33
34
|
PAYOUT_ON_HOLD = :"payout.on_hold"
|
data/lib/dodopayments/models.rb
CHANGED
|
@@ -478,6 +478,9 @@ module Dodopayments
|
|
|
478
478
|
|
|
479
479
|
SubscriptionUpdatePaymentMethodParams = Dodopayments::Models::SubscriptionUpdatePaymentMethodParams
|
|
480
480
|
|
|
481
|
+
SubscriptionUpdatePaymentMethodWebhookEvent =
|
|
482
|
+
Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
483
|
+
|
|
481
484
|
TaxCategory = Dodopayments::Models::TaxCategory
|
|
482
485
|
|
|
483
486
|
ThemeConfig = Dodopayments::Models::ThemeConfig
|
|
@@ -136,7 +136,7 @@ module Dodopayments
|
|
|
136
136
|
#
|
|
137
137
|
# @param credit_entitlement_id [String] Path param: Credit Entitlement ID
|
|
138
138
|
#
|
|
139
|
-
# @param amount [String] Body param: Amount to credit or debit
|
|
139
|
+
# @param amount [String] Body param: Amount to credit or debit. Bounded to a `NUMERIC(38,28)` column, so
|
|
140
140
|
#
|
|
141
141
|
# @param entry_type [Symbol, Dodopayments::Models::CreditEntitlements::LedgerEntryType] Body param: Entry type: credit or debit
|
|
142
142
|
#
|
|
@@ -9,24 +9,32 @@ module Dodopayments
|
|
|
9
9
|
# POST /discounts If `code` is omitted or empty, a random 16-char uppercase code
|
|
10
10
|
# is generated.
|
|
11
11
|
#
|
|
12
|
-
# @overload create(amount:, type:, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
|
|
12
|
+
# @overload create(amount:, type:, code: nil, currency_options: nil, customer_eligibility: nil, expires_at: nil, metadata: nil, name: nil, per_customer_usage_limit: nil, preserve_on_plan_change: nil, restricted_to: nil, starts_at: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
|
|
13
13
|
#
|
|
14
14
|
# @param amount [Integer] The discount amount in **basis points** (e.g. `540` means `5.4%`, `10000` means
|
|
15
15
|
#
|
|
16
|
-
# @param type [Symbol, Dodopayments::Models::DiscountType] The discount type
|
|
16
|
+
# @param type [Symbol, Dodopayments::Models::DiscountType] The discount type: `percentage` or `flat` (`flat_per_unit` stays blocked).
|
|
17
17
|
#
|
|
18
18
|
# @param code [String, nil] Optionally supply a code (will be uppercased).
|
|
19
19
|
#
|
|
20
|
+
# @param currency_options [Array<Dodopayments::Models::DiscountCreateParams::CurrencyOption>, nil] Per-currency options (flat deduction / percentage cap + minimum subtotal).
|
|
21
|
+
#
|
|
22
|
+
# @param customer_eligibility [Symbol, Dodopayments::Models::DiscountCreateParams::CustomerEligibility, nil] Who may redeem this discount code. Defaults to `any` (unrestricted).
|
|
23
|
+
#
|
|
20
24
|
# @param expires_at [Time, nil] When the discount expires, if ever.
|
|
21
25
|
#
|
|
22
26
|
# @param metadata [Hash{Symbol=>String, Float, Boolean}] Additional metadata for the discount
|
|
23
27
|
#
|
|
24
28
|
# @param name [String, nil]
|
|
25
29
|
#
|
|
30
|
+
# @param per_customer_usage_limit [Integer, nil] Maximum number of times a single customer may redeem this discount.
|
|
31
|
+
#
|
|
26
32
|
# @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
|
|
27
33
|
#
|
|
28
34
|
# @param restricted_to [Array<String>, nil] List of product IDs to restrict usage (if any).
|
|
29
35
|
#
|
|
36
|
+
# @param starts_at [Time, nil] When the discount becomes active, if scheduled for the future.
|
|
37
|
+
#
|
|
30
38
|
# @param subscription_cycles [Integer, nil] Number of subscription billing cycles this discount is valid for.
|
|
31
39
|
#
|
|
32
40
|
# @param usage_limit [Integer, nil] How many times this discount can be used (if any).
|
|
@@ -72,7 +80,7 @@ module Dodopayments
|
|
|
72
80
|
#
|
|
73
81
|
# PATCH /discounts/{discount_id}
|
|
74
82
|
#
|
|
75
|
-
# @overload update(discount_id, amount: nil, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
|
|
83
|
+
# @overload update(discount_id, amount: nil, code: nil, currency_options: nil, customer_eligibility: nil, expires_at: nil, metadata: nil, name: nil, per_customer_usage_limit: nil, preserve_on_plan_change: nil, restricted_to: nil, starts_at: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
|
|
76
84
|
#
|
|
77
85
|
# @param discount_id [String] Discount Id
|
|
78
86
|
#
|
|
@@ -80,19 +88,27 @@ module Dodopayments
|
|
|
80
88
|
#
|
|
81
89
|
# @param code [String, nil] If present, update the discount code (uppercase).
|
|
82
90
|
#
|
|
91
|
+
# @param currency_options [Array<Dodopayments::Models::DiscountUpdateParams::CurrencyOption>, nil] If present, fully replaces the discount's currency options (replace-set
|
|
92
|
+
#
|
|
93
|
+
# @param customer_eligibility [Symbol, Dodopayments::Models::DiscountUpdateParams::CustomerEligibility, nil] If present, update who may redeem this discount. Plain field (not
|
|
94
|
+
#
|
|
83
95
|
# @param expires_at [Time, nil]
|
|
84
96
|
#
|
|
85
97
|
# @param metadata [Hash{Symbol=>String, Float, Boolean}, nil] Additional metadata for the discount
|
|
86
98
|
#
|
|
87
99
|
# @param name [String, nil]
|
|
88
100
|
#
|
|
101
|
+
# @param per_customer_usage_limit [Integer, nil] If present, update the per-customer usage limit (double-option: send
|
|
102
|
+
#
|
|
89
103
|
# @param preserve_on_plan_change [Boolean, nil] Whether this discount should be preserved when a subscription changes plans.
|
|
90
104
|
#
|
|
91
105
|
# @param restricted_to [Array<String>, nil] If present, replaces all restricted product IDs with this new set.
|
|
92
106
|
#
|
|
107
|
+
# @param starts_at [Time, nil] If present, update `starts_at` (double-option: send `null` to clear it).
|
|
108
|
+
#
|
|
93
109
|
# @param subscription_cycles [Integer, nil] Number of subscription billing cycles this discount is valid for.
|
|
94
110
|
#
|
|
95
|
-
# @param type [Symbol, Dodopayments::Models::DiscountType, nil] If present, update the discount type
|
|
111
|
+
# @param type [Symbol, Dodopayments::Models::DiscountType, nil] If present, update the discount type (`percentage` or `flat`).
|
|
96
112
|
#
|
|
97
113
|
# @param usage_limit [Integer, nil]
|
|
98
114
|
#
|
|
@@ -112,11 +128,14 @@ module Dodopayments
|
|
|
112
128
|
)
|
|
113
129
|
end
|
|
114
130
|
|
|
131
|
+
# Some parameter documentations has been truncated, see
|
|
132
|
+
# {Dodopayments::Models::DiscountListParams} for more details.
|
|
133
|
+
#
|
|
115
134
|
# GET /discounts
|
|
116
135
|
#
|
|
117
136
|
# @overload list(active: nil, code: nil, discount_type: nil, page_number: nil, page_size: nil, product_id: nil, request_options: {})
|
|
118
137
|
#
|
|
119
|
-
# @param active [Boolean] Filter by active status
|
|
138
|
+
# @param active [Boolean] Filter by active status. `true` = currently redeemable (started, not
|
|
120
139
|
#
|
|
121
140
|
# @param code [String] Filter by discount code (partial match, case-insensitive)
|
|
122
141
|
#
|
|
@@ -82,7 +82,7 @@ module Dodopayments
|
|
|
82
82
|
)
|
|
83
83
|
end
|
|
84
84
|
|
|
85
|
-
# @overload list(brand_id: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, subscription_id: nil, request_options: {})
|
|
85
|
+
# @overload list(brand_id: nil, created_at_gte: nil, created_at_lte: nil, currency: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, subscription_id: nil, request_options: {})
|
|
86
86
|
#
|
|
87
87
|
# @param brand_id [String] filter by Brand id
|
|
88
88
|
#
|
|
@@ -90,6 +90,8 @@ module Dodopayments
|
|
|
90
90
|
#
|
|
91
91
|
# @param created_at_lte [Time] Get events created before this time
|
|
92
92
|
#
|
|
93
|
+
# @param currency [Symbol, Dodopayments::Models::PaymentListParams::Currency] Filter by currency
|
|
94
|
+
#
|
|
93
95
|
# @param customer_id [String] Filter by customer id
|
|
94
96
|
#
|
|
95
97
|
# @param page_number [Integer] Page number default is 0
|
|
@@ -145,10 +145,15 @@ module Dodopayments
|
|
|
145
145
|
)
|
|
146
146
|
end
|
|
147
147
|
|
|
148
|
-
#
|
|
148
|
+
# Some parameter documentations has been truncated, see
|
|
149
|
+
# {Dodopayments::Models::SubscriptionListParams} for more details.
|
|
150
|
+
#
|
|
151
|
+
# @overload list(brand_id: nil, cancel_at_next_billing_date: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, request_options: {})
|
|
149
152
|
#
|
|
150
153
|
# @param brand_id [String] filter by Brand id
|
|
151
154
|
#
|
|
155
|
+
# @param cancel_at_next_billing_date [Boolean] Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
156
|
+
#
|
|
152
157
|
# @param created_at_gte [Time] Get events after this created time
|
|
153
158
|
#
|
|
154
159
|
# @param created_at_lte [Time] Get events created before this time
|
|
@@ -170,7 +170,7 @@ module Dodopayments
|
|
|
170
170
|
|
|
171
171
|
# @param payload [String] The raw webhook payload as a string
|
|
172
172
|
#
|
|
173
|
-
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
173
|
+
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
174
174
|
def unsafe_unwrap(payload)
|
|
175
175
|
parsed = JSON.parse(payload, symbolize_names: true)
|
|
176
176
|
Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnsafeUnwrapWebhookEvent, parsed)
|
|
@@ -182,7 +182,7 @@ module Dodopayments
|
|
|
182
182
|
#
|
|
183
183
|
# @param key [String, nil] The webhook signing key
|
|
184
184
|
#
|
|
185
|
-
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
185
|
+
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
186
186
|
def unwrap(payload, headers:, key: @client.webhook_key)
|
|
187
187
|
if key.nil?
|
|
188
188
|
raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument")
|
data/lib/dodopayments/version.rb
CHANGED
data/lib/dodopayments.rb
CHANGED
|
@@ -352,6 +352,7 @@ require_relative "dodopayments/models/subscription_updated_webhook_event"
|
|
|
352
352
|
require_relative "dodopayments/models/subscription_update_params"
|
|
353
353
|
require_relative "dodopayments/models/subscription_update_payment_method_params"
|
|
354
354
|
require_relative "dodopayments/models/subscription_update_payment_method_response"
|
|
355
|
+
require_relative "dodopayments/models/subscription_update_payment_method_webhook_event"
|
|
355
356
|
require_relative "dodopayments/models/tax_category"
|
|
356
357
|
require_relative "dodopayments/models/theme_config"
|
|
357
358
|
require_relative "dodopayments/models/theme_mode_config"
|
|
@@ -56,6 +56,13 @@ module Dodopayments
|
|
|
56
56
|
sig { returns(Integer) }
|
|
57
57
|
attr_accessor :total_price
|
|
58
58
|
|
|
59
|
+
# The upcoming billing date for subscriptions, computed relative to now: with a
|
|
60
|
+
# trial it is `now + trial_period_days`, otherwise `now + payment frequency`.
|
|
61
|
+
# `None` for one-time-only carts. This is a preview estimate; the authoritative
|
|
62
|
+
# value is set when the subscription activates.
|
|
63
|
+
sig { returns(T.nilable(Time)) }
|
|
64
|
+
attr_accessor :next_billing_date
|
|
65
|
+
|
|
59
66
|
# Breakup of recurring payments (None for one-time only)
|
|
60
67
|
sig do
|
|
61
68
|
returns(
|
|
@@ -92,6 +99,17 @@ module Dodopayments
|
|
|
92
99
|
sig { returns(T.nilable(Integer)) }
|
|
93
100
|
attr_accessor :total_tax
|
|
94
101
|
|
|
102
|
+
# Per-unit trial amount after discounts, in the price currency's minor units
|
|
103
|
+
# (pre-quantity, pre-tax; see `current_breakup` for the taxed total due today).
|
|
104
|
+
# Only present for a paid trial; `None` for a free trial or no trial.
|
|
105
|
+
sig { returns(T.nilable(Integer)) }
|
|
106
|
+
attr_accessor :trial_amount
|
|
107
|
+
|
|
108
|
+
# Effective trial duration in days for the subscription line, when there's a trial
|
|
109
|
+
# (free or paid). `None` if no subscription or no trial.
|
|
110
|
+
sig { returns(T.nilable(Integer)) }
|
|
111
|
+
attr_accessor :trial_period_days
|
|
112
|
+
|
|
95
113
|
# Data returned by the calculate checkout session API
|
|
96
114
|
sig do
|
|
97
115
|
params(
|
|
@@ -105,6 +123,7 @@ module Dodopayments
|
|
|
105
123
|
Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart::OrHash
|
|
106
124
|
],
|
|
107
125
|
total_price: Integer,
|
|
126
|
+
next_billing_date: T.nilable(Time),
|
|
108
127
|
recurring_breakup:
|
|
109
128
|
T.nilable(
|
|
110
129
|
Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup::OrHash
|
|
@@ -112,7 +131,9 @@ module Dodopayments
|
|
|
112
131
|
tax_id_business_name: T.nilable(String),
|
|
113
132
|
tax_id_err_msg: T.nilable(String),
|
|
114
133
|
tax_id_format_name: T.nilable(String),
|
|
115
|
-
total_tax: T.nilable(Integer)
|
|
134
|
+
total_tax: T.nilable(Integer),
|
|
135
|
+
trial_amount: T.nilable(Integer),
|
|
136
|
+
trial_period_days: T.nilable(Integer)
|
|
116
137
|
).returns(T.attached_class)
|
|
117
138
|
end
|
|
118
139
|
def self.new(
|
|
@@ -131,6 +152,11 @@ module Dodopayments
|
|
|
131
152
|
product_cart:,
|
|
132
153
|
# Total calculate price of the product cart
|
|
133
154
|
total_price:,
|
|
155
|
+
# The upcoming billing date for subscriptions, computed relative to now: with a
|
|
156
|
+
# trial it is `now + trial_period_days`, otherwise `now + payment frequency`.
|
|
157
|
+
# `None` for one-time-only carts. This is a preview estimate; the authoritative
|
|
158
|
+
# value is set when the subscription activates.
|
|
159
|
+
next_billing_date: nil,
|
|
134
160
|
# Breakup of recurring payments (None for one-time only)
|
|
135
161
|
recurring_breakup: nil,
|
|
136
162
|
# Registered business name from the official registry (EU/GB/AU) when found
|
|
@@ -140,7 +166,14 @@ module Dodopayments
|
|
|
140
166
|
# The matched tax ID notation (e.g. "VAT Number", "GSTIN") when valid
|
|
141
167
|
tax_id_format_name: nil,
|
|
142
168
|
# Total tax
|
|
143
|
-
total_tax: nil
|
|
169
|
+
total_tax: nil,
|
|
170
|
+
# Per-unit trial amount after discounts, in the price currency's minor units
|
|
171
|
+
# (pre-quantity, pre-tax; see `current_breakup` for the taxed total due today).
|
|
172
|
+
# Only present for a paid trial; `None` for a free trial or no trial.
|
|
173
|
+
trial_amount: nil,
|
|
174
|
+
# Effective trial duration in days for the subscription line, when there's a trial
|
|
175
|
+
# (free or paid). `None` if no subscription or no trial.
|
|
176
|
+
trial_period_days: nil
|
|
144
177
|
)
|
|
145
178
|
end
|
|
146
179
|
|
|
@@ -157,6 +190,7 @@ module Dodopayments
|
|
|
157
190
|
Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart
|
|
158
191
|
],
|
|
159
192
|
total_price: Integer,
|
|
193
|
+
next_billing_date: T.nilable(Time),
|
|
160
194
|
recurring_breakup:
|
|
161
195
|
T.nilable(
|
|
162
196
|
Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup
|
|
@@ -164,7 +198,9 @@ module Dodopayments
|
|
|
164
198
|
tax_id_business_name: T.nilable(String),
|
|
165
199
|
tax_id_err_msg: T.nilable(String),
|
|
166
200
|
tax_id_format_name: T.nilable(String),
|
|
167
|
-
total_tax: T.nilable(Integer)
|
|
201
|
+
total_tax: T.nilable(Integer),
|
|
202
|
+
trial_amount: T.nilable(Integer),
|
|
203
|
+
trial_period_days: T.nilable(Integer)
|
|
168
204
|
}
|
|
169
205
|
)
|
|
170
206
|
end
|
|
@@ -316,7 +352,8 @@ module Dodopayments
|
|
|
316
352
|
sig { returns(T.nilable(String)) }
|
|
317
353
|
attr_accessor :description
|
|
318
354
|
|
|
319
|
-
#
|
|
355
|
+
# Percentage rate (basis points) of the applicable percentage code; null for flat
|
|
356
|
+
# codes (their deduction is `og_price - discounted_price`).
|
|
320
357
|
sig { returns(T.nilable(Integer)) }
|
|
321
358
|
attr_accessor :discount_amount
|
|
322
359
|
|
|
@@ -393,7 +430,8 @@ module Dodopayments
|
|
|
393
430
|
tax_rate:,
|
|
394
431
|
addons: nil,
|
|
395
432
|
description: nil,
|
|
396
|
-
#
|
|
433
|
+
# Percentage rate (basis points) of the applicable percentage code; null for flat
|
|
434
|
+
# codes (their deduction is `og_price - discounted_price`).
|
|
397
435
|
discount_amount: nil,
|
|
398
436
|
# number of cycles the discount will apply
|
|
399
437
|
discount_cycle: nil,
|
|
@@ -605,6 +643,8 @@ module Dodopayments
|
|
|
605
643
|
sig { returns(T.nilable(String)) }
|
|
606
644
|
attr_accessor :description
|
|
607
645
|
|
|
646
|
+
# Percentage rate (basis points) of the applicable percentage code; null for flat
|
|
647
|
+
# codes (their deduction is `og_price - discounted_price`).
|
|
608
648
|
sig { returns(T.nilable(Integer)) }
|
|
609
649
|
attr_accessor :discount_amount
|
|
610
650
|
|
|
@@ -642,6 +682,8 @@ module Dodopayments
|
|
|
642
682
|
tax_inclusive:,
|
|
643
683
|
tax_rate:,
|
|
644
684
|
description: nil,
|
|
685
|
+
# Percentage rate (basis points) of the applicable percentage code; null for flat
|
|
686
|
+
# codes (their deduction is `og_price - discounted_price`).
|
|
645
687
|
discount_amount: nil,
|
|
646
688
|
tax: nil
|
|
647
689
|
)
|
|
@@ -21,7 +21,9 @@ module Dodopayments
|
|
|
21
21
|
sig { returns(String) }
|
|
22
22
|
attr_accessor :customer_id
|
|
23
23
|
|
|
24
|
-
# Amount to credit or debit
|
|
24
|
+
# Amount to credit or debit. Bounded to a `NUMERIC(38,28)` column, so the integer
|
|
25
|
+
# part must have fewer than 10 digits (< 10^10); larger values previously reached
|
|
26
|
+
# the DB and failed with a 22003 overflow surfaced as a 500.
|
|
25
27
|
sig { returns(String) }
|
|
26
28
|
attr_accessor :amount
|
|
27
29
|
|
|
@@ -70,7 +72,9 @@ module Dodopayments
|
|
|
70
72
|
def self.new(
|
|
71
73
|
credit_entitlement_id:,
|
|
72
74
|
customer_id:,
|
|
73
|
-
# Amount to credit or debit
|
|
75
|
+
# Amount to credit or debit. Bounded to a `NUMERIC(38,28)` column, so the integer
|
|
76
|
+
# part must have fewer than 10 digits (< 10^10); larger values previously reached
|
|
77
|
+
# the DB and failed with a 22003 overflow surfaced as a 500.
|
|
74
78
|
amount:,
|
|
75
79
|
# Entry type: credit or debit
|
|
76
80
|
entry_type:,
|