dodopayments 2.19.0 → 2.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +1 -1
- data/lib/dodopayments/models/addon_update_params.rb +6 -2
- data/lib/dodopayments/models/checkout_session_preview_response.rb +12 -1
- data/lib/dodopayments/models/payment.rb +18 -1
- data/lib/dodopayments/models/subscription_list_params.rb +12 -1
- data/lib/dodopayments/models/subscription_update_params.rb +22 -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/addons.rb +4 -1
- data/lib/dodopayments/resources/subscriptions.rb +11 -2
- 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/addon_update_params.rbi +4 -2
- data/rbi/dodopayments/models/checkout_session_preview_response.rbi +14 -0
- data/rbi/dodopayments/models/payment.rbi +18 -0
- data/rbi/dodopayments/models/subscription_list_params.rbi +11 -0
- data/rbi/dodopayments/models/subscription_update_params.rbi +28 -0
- 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/addons.rbi +2 -1
- data/rbi/dodopayments/resources/subscriptions.rbi +15 -0
- data/rbi/dodopayments/resources/webhooks.rbi +2 -0
- data/sig/dodopayments/models/checkout_session_preview_response.rbs +5 -0
- data/sig/dodopayments/models/payment.rbs +10 -0
- data/sig/dodopayments/models/subscription_list_params.rbs +7 -0
- data/sig/dodopayments/models/subscription_update_params.rbs +10 -0
- 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/subscriptions.rbs +3 -0
- data/sig/dodopayments/resources/webhooks.rbs +2 -0
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e34bae6e8f112347d01747da053dfdfe8c59aee24d21a3fcd819e84d7e97cba3
|
|
4
|
+
data.tar.gz: 67ee243d3c0073abd94d91493801a629900c62a60c5281a6dcd42716b224f322
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c541301db330885909821106447abee6878fe8ef0bc53abce8d91ca151906ae609f57e102cb366826a340cb70d445816b856e7e8bc9881512652a0bd5077362
|
|
7
|
+
data.tar.gz: 8d9ff09789b3e055edf9e19f310e89fe792e8ebe33376d414caadc0093ed443188b3304d2dad999e66e061a43ec15953d5a62fa0f548ce67c2057401a4694982
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.20.1](https://github.com/dodopayments/dodopayments-ruby/compare/v2.20.0...v2.20.1) (2026-07-09)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **api:** add subscription.update_payment_method webhook and payment-method fields ([67881e2](https://github.com/dodopayments/dodopayments-ruby/commit/67881e21860b5692c69085d56a58534bb243fed8))
|
|
9
|
+
* **api:** add subscription.update_payment_method webhook and payment-method fields ([4f62da1](https://github.com/dodopayments/dodopayments-ruby/commit/4f62da18abf750e179ebd2c697958fb00bf0320e))
|
|
10
|
+
|
|
11
|
+
## [2.20.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.19.0...v2.20.0) (2026-07-06)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **api:** add subscription period override fields to subscription update ([78fe4eb](https://github.com/dodopayments/dodopayments-ruby/commit/78fe4ebc8d7a9af07327b52ab68dc518d46386bd))
|
|
17
|
+
* **api:** add subscription period override fields to subscription update ([31f78a6](https://github.com/dodopayments/dodopayments-ruby/commit/31f78a62a6a27270e94d785e75ad7c686efba7e8))
|
|
18
|
+
|
|
3
19
|
## [2.19.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.18.1...v2.19.0) (2026-07-04)
|
|
4
20
|
|
|
5
21
|
|
data/README.md
CHANGED
|
@@ -25,7 +25,8 @@ module Dodopayments
|
|
|
25
25
|
optional :description, String, nil?: true
|
|
26
26
|
|
|
27
27
|
# @!attribute image_id
|
|
28
|
-
# Addon image id after its uploaded to S3
|
|
28
|
+
# Addon image id after its uploaded to S3. Pass `null` to remove the existing
|
|
29
|
+
# image, omit to keep it unchanged.
|
|
29
30
|
#
|
|
30
31
|
# @return [String, nil]
|
|
31
32
|
optional :image_id, String, nil?: true
|
|
@@ -49,13 +50,16 @@ module Dodopayments
|
|
|
49
50
|
optional :tax_category, enum: -> { Dodopayments::TaxCategory }, nil?: true
|
|
50
51
|
|
|
51
52
|
# @!method initialize(id:, currency: nil, description: nil, image_id: nil, name: nil, price: nil, tax_category: nil, request_options: {})
|
|
53
|
+
# Some parameter documentations has been truncated, see
|
|
54
|
+
# {Dodopayments::Models::AddonUpdateParams} for more details.
|
|
55
|
+
#
|
|
52
56
|
# @param id [String]
|
|
53
57
|
#
|
|
54
58
|
# @param currency [Symbol, Dodopayments::Models::Currency, nil] The currency of the Addon
|
|
55
59
|
#
|
|
56
60
|
# @param description [String, nil] Description of the Addon, optional and must be at most 1000 characters.
|
|
57
61
|
#
|
|
58
|
-
# @param image_id [String, nil] Addon image id after its uploaded to S3
|
|
62
|
+
# @param image_id [String, nil] Addon image id after its uploaded to S3.
|
|
59
63
|
#
|
|
60
64
|
# @param name [String, nil] Name of the Addon, optional and must be at most 100 characters.
|
|
61
65
|
#
|
|
@@ -44,6 +44,15 @@ module Dodopayments
|
|
|
44
44
|
# @return [Integer]
|
|
45
45
|
required :total_price, Integer
|
|
46
46
|
|
|
47
|
+
# @!attribute next_billing_date
|
|
48
|
+
# The upcoming billing date for subscriptions, computed relative to now: with a
|
|
49
|
+
# trial it is `now + trial_period_days`, otherwise `now + payment frequency`.
|
|
50
|
+
# `None` for one-time-only carts. This is a preview estimate; the authoritative
|
|
51
|
+
# value is set when the subscription activates.
|
|
52
|
+
#
|
|
53
|
+
# @return [Time, nil]
|
|
54
|
+
optional :next_billing_date, Time, nil?: true
|
|
55
|
+
|
|
47
56
|
# @!attribute recurring_breakup
|
|
48
57
|
# Breakup of recurring payments (None for one-time only)
|
|
49
58
|
#
|
|
@@ -76,7 +85,7 @@ module Dodopayments
|
|
|
76
85
|
# @return [Integer, nil]
|
|
77
86
|
optional :total_tax, Integer, nil?: true
|
|
78
87
|
|
|
79
|
-
# @!method initialize(billing_country:, currency:, current_breakup:, is_byop:, product_cart:, total_price:, recurring_breakup: nil, tax_id_business_name: nil, tax_id_err_msg: nil, tax_id_format_name: nil, total_tax: nil)
|
|
88
|
+
# @!method initialize(billing_country:, currency:, current_breakup:, is_byop:, product_cart:, total_price:, next_billing_date: nil, recurring_breakup: nil, tax_id_business_name: nil, tax_id_err_msg: nil, tax_id_format_name: nil, total_tax: nil)
|
|
80
89
|
# Some parameter documentations has been truncated, see
|
|
81
90
|
# {Dodopayments::Models::CheckoutSessionPreviewResponse} for more details.
|
|
82
91
|
#
|
|
@@ -94,6 +103,8 @@ module Dodopayments
|
|
|
94
103
|
#
|
|
95
104
|
# @param total_price [Integer] Total calculate price of the product cart
|
|
96
105
|
#
|
|
106
|
+
# @param next_billing_date [Time, nil] The upcoming billing date for subscriptions, computed relative to now:
|
|
107
|
+
#
|
|
97
108
|
# @param recurring_breakup [Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup, nil] Breakup of recurring payments (None for one-time only)
|
|
98
109
|
#
|
|
99
110
|
# @param tax_id_business_name [String, nil] Registered business name from the official registry (EU/GB/AU) when found
|
|
@@ -52,6 +52,13 @@ module Dodopayments
|
|
|
52
52
|
# @return [Array<Dodopayments::Models::Dispute>]
|
|
53
53
|
required :disputes, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::Dispute] }
|
|
54
54
|
|
|
55
|
+
# @!attribute is_update_payment_method
|
|
56
|
+
# Whether this payment was created solely to update a subscription's payment
|
|
57
|
+
# method (a zero-/setup-amount charge). `false` for normal charges.
|
|
58
|
+
#
|
|
59
|
+
# @return [Boolean]
|
|
60
|
+
required :is_update_payment_method, Dodopayments::Internal::Type::Boolean
|
|
61
|
+
|
|
55
62
|
# @!attribute metadata
|
|
56
63
|
# Additional custom data associated with the payment
|
|
57
64
|
#
|
|
@@ -206,6 +213,12 @@ module Dodopayments
|
|
|
206
213
|
# @return [String, nil]
|
|
207
214
|
optional :payment_method, String, nil?: true
|
|
208
215
|
|
|
216
|
+
# @!attribute payment_method_id
|
|
217
|
+
# Identifier of the saved payment method used for this payment, if any.
|
|
218
|
+
#
|
|
219
|
+
# @return [String, nil]
|
|
220
|
+
optional :payment_method_id, String, nil?: true
|
|
221
|
+
|
|
209
222
|
# @!attribute payment_method_type
|
|
210
223
|
# Specific type of payment method (e.g. "visa", "mastercard")
|
|
211
224
|
#
|
|
@@ -260,7 +273,7 @@ module Dodopayments
|
|
|
260
273
|
# @return [Time, nil]
|
|
261
274
|
optional :updated_at, Time, nil?: true
|
|
262
275
|
|
|
263
|
-
# @!method initialize(billing:, brand_id:, business_id:, created_at:, currency:, customer:, digital_products_delivered:, disputes:, metadata:, payment_id:, payment_provider:, refunds:, retry_attempt:, settlement_amount:, settlement_currency:, total_amount:, card_holder_name: nil, card_issuing_country: nil, card_last_four: nil, card_network: nil, card_type: nil, checkout_session_id: nil, custom_field_responses: nil, discount_id: nil, discounts: nil, error_code: nil, error_message: nil, invoice_id: nil, invoice_url: nil, payment_link: nil, payment_method: nil, payment_method_type: nil, product_cart: nil, refund_status: nil, settlement_tax: nil, status: nil, subscription_id: nil, tax: nil, updated_at: nil)
|
|
276
|
+
# @!method initialize(billing:, brand_id:, business_id:, created_at:, currency:, customer:, digital_products_delivered:, disputes:, is_update_payment_method:, metadata:, payment_id:, payment_provider:, refunds:, retry_attempt:, settlement_amount:, settlement_currency:, total_amount:, card_holder_name: nil, card_issuing_country: nil, card_last_four: nil, card_network: nil, card_type: nil, checkout_session_id: nil, custom_field_responses: nil, discount_id: nil, discounts: nil, error_code: nil, error_message: nil, invoice_id: nil, invoice_url: nil, payment_link: nil, payment_method: nil, payment_method_id: nil, payment_method_type: nil, product_cart: nil, refund_status: nil, settlement_tax: nil, status: nil, subscription_id: nil, tax: nil, updated_at: nil)
|
|
264
277
|
# Some parameter documentations has been truncated, see
|
|
265
278
|
# {Dodopayments::Models::Payment} for more details.
|
|
266
279
|
#
|
|
@@ -280,6 +293,8 @@ module Dodopayments
|
|
|
280
293
|
#
|
|
281
294
|
# @param disputes [Array<Dodopayments::Models::Dispute>] List of disputes associated with this payment
|
|
282
295
|
#
|
|
296
|
+
# @param is_update_payment_method [Boolean] Whether this payment was created solely to update a subscription's
|
|
297
|
+
#
|
|
283
298
|
# @param metadata [Hash{Symbol=>String, Float, Boolean}] Additional custom data associated with the payment
|
|
284
299
|
#
|
|
285
300
|
# @param payment_id [String] Unique identifier for the payment
|
|
@@ -326,6 +341,8 @@ module Dodopayments
|
|
|
326
341
|
#
|
|
327
342
|
# @param payment_method [String, nil] Payment method used by customer (e.g. "card", "bank_transfer")
|
|
328
343
|
#
|
|
344
|
+
# @param payment_method_id [String, nil] Identifier of the saved payment method used for this payment, if any.
|
|
345
|
+
#
|
|
329
346
|
# @param payment_method_type [String, nil] Specific type of payment method (e.g. "visa", "mastercard")
|
|
330
347
|
#
|
|
331
348
|
# @param product_cart [Array<Dodopayments::Models::Payment::ProductCart>, nil] List of products purchased in a one-time payment
|
|
@@ -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
|
|
@@ -89,12 +89,29 @@ module Dodopayments
|
|
|
89
89
|
# @return [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
|
|
90
90
|
optional :status, enum: -> { Dodopayments::SubscriptionStatus }, nil?: true
|
|
91
91
|
|
|
92
|
+
# @!attribute subscription_period_count
|
|
93
|
+
# New number of `subscription_period_interval` units the subscription entitlement
|
|
94
|
+
# should span. Used together with `subscription_period_interval` to extend the
|
|
95
|
+
# subscription period. The resulting period must not be shorter than the current
|
|
96
|
+
# one (this endpoint only extends).
|
|
97
|
+
#
|
|
98
|
+
# @return [Integer, nil]
|
|
99
|
+
optional :subscription_period_count, Integer, nil?: true
|
|
100
|
+
|
|
101
|
+
# @!attribute subscription_period_interval
|
|
102
|
+
# New interval unit for the subscription period. When changing the period, this
|
|
103
|
+
# may be supplied alongside `subscription_period_count`; if omitted the existing
|
|
104
|
+
# interval is retained.
|
|
105
|
+
#
|
|
106
|
+
# @return [Symbol, Dodopayments::Models::TimeInterval, nil]
|
|
107
|
+
optional :subscription_period_interval, enum: -> { Dodopayments::TimeInterval }, nil?: true
|
|
108
|
+
|
|
92
109
|
# @!attribute tax_id
|
|
93
110
|
#
|
|
94
111
|
# @return [String, nil]
|
|
95
112
|
optional :tax_id, String, nil?: true
|
|
96
113
|
|
|
97
|
-
# @!method initialize(subscription_id:, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, tax_id: nil, request_options: {})
|
|
114
|
+
# @!method initialize(subscription_id:, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, subscription_period_count: nil, subscription_period_interval: nil, tax_id: nil, request_options: {})
|
|
98
115
|
# Some parameter documentations has been truncated, see
|
|
99
116
|
# {Dodopayments::Models::SubscriptionUpdateParams} for more details.
|
|
100
117
|
#
|
|
@@ -124,6 +141,10 @@ module Dodopayments
|
|
|
124
141
|
#
|
|
125
142
|
# @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
|
|
126
143
|
#
|
|
144
|
+
# @param subscription_period_count [Integer, nil] New number of `subscription_period_interval` units the subscription
|
|
145
|
+
#
|
|
146
|
+
# @param subscription_period_interval [Symbol, Dodopayments::Models::TimeInterval, nil] New interval unit for the subscription period. When changing the period,
|
|
147
|
+
#
|
|
127
148
|
# @param tax_id [String, nil]
|
|
128
149
|
#
|
|
129
150
|
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
|
|
@@ -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
|
|
@@ -49,6 +49,9 @@ module Dodopayments
|
|
|
49
49
|
)
|
|
50
50
|
end
|
|
51
51
|
|
|
52
|
+
# Some parameter documentations has been truncated, see
|
|
53
|
+
# {Dodopayments::Models::AddonUpdateParams} for more details.
|
|
54
|
+
#
|
|
52
55
|
# @overload update(id, currency: nil, description: nil, image_id: nil, name: nil, price: nil, tax_category: nil, request_options: {})
|
|
53
56
|
#
|
|
54
57
|
# @param id [String] Addon Id
|
|
@@ -57,7 +60,7 @@ module Dodopayments
|
|
|
57
60
|
#
|
|
58
61
|
# @param description [String, nil] Description of the Addon, optional and must be at most 1000 characters.
|
|
59
62
|
#
|
|
60
|
-
# @param image_id [String, nil] Addon image id after its uploaded to S3
|
|
63
|
+
# @param image_id [String, nil] Addon image id after its uploaded to S3.
|
|
61
64
|
#
|
|
62
65
|
# @param name [String, nil] Name of the Addon, optional and must be at most 100 characters.
|
|
63
66
|
#
|
|
@@ -95,7 +95,7 @@ module Dodopayments
|
|
|
95
95
|
# Some parameter documentations has been truncated, see
|
|
96
96
|
# {Dodopayments::Models::SubscriptionUpdateParams} for more details.
|
|
97
97
|
#
|
|
98
|
-
# @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, tax_id: nil, request_options: {})
|
|
98
|
+
# @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, subscription_period_count: nil, subscription_period_interval: nil, tax_id: nil, request_options: {})
|
|
99
99
|
#
|
|
100
100
|
# @param subscription_id [String] Subscription Id
|
|
101
101
|
#
|
|
@@ -123,6 +123,10 @@ module Dodopayments
|
|
|
123
123
|
#
|
|
124
124
|
# @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
|
|
125
125
|
#
|
|
126
|
+
# @param subscription_period_count [Integer, nil] New number of `subscription_period_interval` units the subscription
|
|
127
|
+
#
|
|
128
|
+
# @param subscription_period_interval [Symbol, Dodopayments::Models::TimeInterval, nil] New interval unit for the subscription period. When changing the period,
|
|
129
|
+
#
|
|
126
130
|
# @param tax_id [String, nil]
|
|
127
131
|
#
|
|
128
132
|
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -141,10 +145,15 @@ module Dodopayments
|
|
|
141
145
|
)
|
|
142
146
|
end
|
|
143
147
|
|
|
144
|
-
#
|
|
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: {})
|
|
145
152
|
#
|
|
146
153
|
# @param brand_id [String] filter by Brand id
|
|
147
154
|
#
|
|
155
|
+
# @param cancel_at_next_billing_date [Boolean] Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
156
|
+
#
|
|
148
157
|
# @param created_at_gte [Time] Get events after this created time
|
|
149
158
|
#
|
|
150
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"
|
|
@@ -25,7 +25,8 @@ module Dodopayments
|
|
|
25
25
|
sig { returns(T.nilable(String)) }
|
|
26
26
|
attr_accessor :description
|
|
27
27
|
|
|
28
|
-
# Addon image id after its uploaded to S3
|
|
28
|
+
# Addon image id after its uploaded to S3. Pass `null` to remove the existing
|
|
29
|
+
# image, omit to keep it unchanged.
|
|
29
30
|
sig { returns(T.nilable(String)) }
|
|
30
31
|
attr_accessor :image_id
|
|
31
32
|
|
|
@@ -59,7 +60,8 @@ module Dodopayments
|
|
|
59
60
|
currency: nil,
|
|
60
61
|
# Description of the Addon, optional and must be at most 1000 characters.
|
|
61
62
|
description: nil,
|
|
62
|
-
# Addon image id after its uploaded to S3
|
|
63
|
+
# Addon image id after its uploaded to S3. Pass `null` to remove the existing
|
|
64
|
+
# image, omit to keep it unchanged.
|
|
63
65
|
image_id: nil,
|
|
64
66
|
# Name of the Addon, optional and must be at most 100 characters.
|
|
65
67
|
name: nil,
|
|
@@ -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(
|
|
@@ -105,6 +112,7 @@ module Dodopayments
|
|
|
105
112
|
Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart::OrHash
|
|
106
113
|
],
|
|
107
114
|
total_price: Integer,
|
|
115
|
+
next_billing_date: T.nilable(Time),
|
|
108
116
|
recurring_breakup:
|
|
109
117
|
T.nilable(
|
|
110
118
|
Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup::OrHash
|
|
@@ -131,6 +139,11 @@ module Dodopayments
|
|
|
131
139
|
product_cart:,
|
|
132
140
|
# Total calculate price of the product cart
|
|
133
141
|
total_price:,
|
|
142
|
+
# The upcoming billing date for subscriptions, computed relative to now: with a
|
|
143
|
+
# trial it is `now + trial_period_days`, otherwise `now + payment frequency`.
|
|
144
|
+
# `None` for one-time-only carts. This is a preview estimate; the authoritative
|
|
145
|
+
# value is set when the subscription activates.
|
|
146
|
+
next_billing_date: nil,
|
|
134
147
|
# Breakup of recurring payments (None for one-time only)
|
|
135
148
|
recurring_breakup: nil,
|
|
136
149
|
# Registered business name from the official registry (EU/GB/AU) when found
|
|
@@ -157,6 +170,7 @@ module Dodopayments
|
|
|
157
170
|
Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart
|
|
158
171
|
],
|
|
159
172
|
total_price: Integer,
|
|
173
|
+
next_billing_date: T.nilable(Time),
|
|
160
174
|
recurring_breakup:
|
|
161
175
|
T.nilable(
|
|
162
176
|
Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup
|
|
@@ -48,6 +48,11 @@ module Dodopayments
|
|
|
48
48
|
sig { returns(T::Array[Dodopayments::Dispute]) }
|
|
49
49
|
attr_accessor :disputes
|
|
50
50
|
|
|
51
|
+
# Whether this payment was created solely to update a subscription's payment
|
|
52
|
+
# method (a zero-/setup-amount charge). `false` for normal charges.
|
|
53
|
+
sig { returns(T::Boolean) }
|
|
54
|
+
attr_accessor :is_update_payment_method
|
|
55
|
+
|
|
51
56
|
# Additional custom data associated with the payment
|
|
52
57
|
sig { returns(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]) }
|
|
53
58
|
attr_accessor :metadata
|
|
@@ -150,6 +155,10 @@ module Dodopayments
|
|
|
150
155
|
sig { returns(T.nilable(String)) }
|
|
151
156
|
attr_accessor :payment_method
|
|
152
157
|
|
|
158
|
+
# Identifier of the saved payment method used for this payment, if any.
|
|
159
|
+
sig { returns(T.nilable(String)) }
|
|
160
|
+
attr_accessor :payment_method_id
|
|
161
|
+
|
|
153
162
|
# Specific type of payment method (e.g. "visa", "mastercard")
|
|
154
163
|
sig { returns(T.nilable(String)) }
|
|
155
164
|
attr_accessor :payment_method_type
|
|
@@ -198,6 +207,7 @@ module Dodopayments
|
|
|
198
207
|
customer: Dodopayments::CustomerLimitedDetails::OrHash,
|
|
199
208
|
digital_products_delivered: T::Boolean,
|
|
200
209
|
disputes: T::Array[Dodopayments::Dispute::OrHash],
|
|
210
|
+
is_update_payment_method: T::Boolean,
|
|
201
211
|
metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
|
|
202
212
|
payment_id: String,
|
|
203
213
|
payment_provider: Dodopayments::Payment::PaymentProvider::OrSymbol,
|
|
@@ -222,6 +232,7 @@ module Dodopayments
|
|
|
222
232
|
invoice_url: T.nilable(String),
|
|
223
233
|
payment_link: T.nilable(String),
|
|
224
234
|
payment_method: T.nilable(String),
|
|
235
|
+
payment_method_id: T.nilable(String),
|
|
225
236
|
payment_method_type: T.nilable(String),
|
|
226
237
|
product_cart:
|
|
227
238
|
T.nilable(T::Array[Dodopayments::Payment::ProductCart::OrHash]),
|
|
@@ -250,6 +261,9 @@ module Dodopayments
|
|
|
250
261
|
digital_products_delivered:,
|
|
251
262
|
# List of disputes associated with this payment
|
|
252
263
|
disputes:,
|
|
264
|
+
# Whether this payment was created solely to update a subscription's payment
|
|
265
|
+
# method (a zero-/setup-amount charge). `false` for normal charges.
|
|
266
|
+
is_update_payment_method:,
|
|
253
267
|
# Additional custom data associated with the payment
|
|
254
268
|
metadata:,
|
|
255
269
|
# Unique identifier for the payment
|
|
@@ -306,6 +320,8 @@ module Dodopayments
|
|
|
306
320
|
payment_link: nil,
|
|
307
321
|
# Payment method used by customer (e.g. "card", "bank_transfer")
|
|
308
322
|
payment_method: nil,
|
|
323
|
+
# Identifier of the saved payment method used for this payment, if any.
|
|
324
|
+
payment_method_id: nil,
|
|
309
325
|
# Specific type of payment method (e.g. "visa", "mastercard")
|
|
310
326
|
payment_method_type: nil,
|
|
311
327
|
# List of products purchased in a one-time payment
|
|
@@ -340,6 +356,7 @@ module Dodopayments
|
|
|
340
356
|
customer: Dodopayments::CustomerLimitedDetails,
|
|
341
357
|
digital_products_delivered: T::Boolean,
|
|
342
358
|
disputes: T::Array[Dodopayments::Dispute],
|
|
359
|
+
is_update_payment_method: T::Boolean,
|
|
343
360
|
metadata: T::Hash[Symbol, Dodopayments::MetadataItem::Variants],
|
|
344
361
|
payment_id: String,
|
|
345
362
|
payment_provider:
|
|
@@ -366,6 +383,7 @@ module Dodopayments
|
|
|
366
383
|
invoice_url: T.nilable(String),
|
|
367
384
|
payment_link: T.nilable(String),
|
|
368
385
|
payment_method: T.nilable(String),
|
|
386
|
+
payment_method_id: T.nilable(String),
|
|
369
387
|
payment_method_type: T.nilable(String),
|
|
370
388
|
product_cart:
|
|
371
389
|
T.nilable(T::Array[Dodopayments::Payment::ProductCart]),
|
|
@@ -21,6 +21,13 @@ module Dodopayments
|
|
|
21
21
|
sig { params(brand_id: String).void }
|
|
22
22
|
attr_writer :brand_id
|
|
23
23
|
|
|
24
|
+
# Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
25
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
26
|
+
attr_reader :cancel_at_next_billing_date
|
|
27
|
+
|
|
28
|
+
sig { params(cancel_at_next_billing_date: T::Boolean).void }
|
|
29
|
+
attr_writer :cancel_at_next_billing_date
|
|
30
|
+
|
|
24
31
|
# Get events after this created time
|
|
25
32
|
sig { returns(T.nilable(Time)) }
|
|
26
33
|
attr_reader :created_at_gte
|
|
@@ -81,6 +88,7 @@ module Dodopayments
|
|
|
81
88
|
sig do
|
|
82
89
|
params(
|
|
83
90
|
brand_id: String,
|
|
91
|
+
cancel_at_next_billing_date: T::Boolean,
|
|
84
92
|
created_at_gte: Time,
|
|
85
93
|
created_at_lte: Time,
|
|
86
94
|
customer_id: String,
|
|
@@ -94,6 +102,8 @@ module Dodopayments
|
|
|
94
102
|
def self.new(
|
|
95
103
|
# filter by Brand id
|
|
96
104
|
brand_id: nil,
|
|
105
|
+
# Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
106
|
+
cancel_at_next_billing_date: nil,
|
|
97
107
|
# Get events after this created time
|
|
98
108
|
created_at_gte: nil,
|
|
99
109
|
# Get events created before this time
|
|
@@ -116,6 +126,7 @@ module Dodopayments
|
|
|
116
126
|
override.returns(
|
|
117
127
|
{
|
|
118
128
|
brand_id: String,
|
|
129
|
+
cancel_at_next_billing_date: T::Boolean,
|
|
119
130
|
created_at_gte: Time,
|
|
120
131
|
created_at_lte: Time,
|
|
121
132
|
customer_id: String,
|
|
@@ -101,6 +101,19 @@ module Dodopayments
|
|
|
101
101
|
sig { returns(T.nilable(Dodopayments::SubscriptionStatus::OrSymbol)) }
|
|
102
102
|
attr_accessor :status
|
|
103
103
|
|
|
104
|
+
# New number of `subscription_period_interval` units the subscription entitlement
|
|
105
|
+
# should span. Used together with `subscription_period_interval` to extend the
|
|
106
|
+
# subscription period. The resulting period must not be shorter than the current
|
|
107
|
+
# one (this endpoint only extends).
|
|
108
|
+
sig { returns(T.nilable(Integer)) }
|
|
109
|
+
attr_accessor :subscription_period_count
|
|
110
|
+
|
|
111
|
+
# New interval unit for the subscription period. When changing the period, this
|
|
112
|
+
# may be supplied alongside `subscription_period_count`; if omitted the existing
|
|
113
|
+
# interval is retained.
|
|
114
|
+
sig { returns(T.nilable(Dodopayments::TimeInterval::OrSymbol)) }
|
|
115
|
+
attr_accessor :subscription_period_interval
|
|
116
|
+
|
|
104
117
|
sig { returns(T.nilable(String)) }
|
|
105
118
|
attr_accessor :tax_id
|
|
106
119
|
|
|
@@ -132,6 +145,9 @@ module Dodopayments
|
|
|
132
145
|
T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
|
|
133
146
|
next_billing_date: T.nilable(Time),
|
|
134
147
|
status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
|
|
148
|
+
subscription_period_count: T.nilable(Integer),
|
|
149
|
+
subscription_period_interval:
|
|
150
|
+
T.nilable(Dodopayments::TimeInterval::OrSymbol),
|
|
135
151
|
tax_id: T.nilable(String),
|
|
136
152
|
request_options: Dodopayments::RequestOptions::OrHash
|
|
137
153
|
).returns(T.attached_class)
|
|
@@ -161,6 +177,15 @@ module Dodopayments
|
|
|
161
177
|
metadata: nil,
|
|
162
178
|
next_billing_date: nil,
|
|
163
179
|
status: nil,
|
|
180
|
+
# New number of `subscription_period_interval` units the subscription entitlement
|
|
181
|
+
# should span. Used together with `subscription_period_interval` to extend the
|
|
182
|
+
# subscription period. The resulting period must not be shorter than the current
|
|
183
|
+
# one (this endpoint only extends).
|
|
184
|
+
subscription_period_count: nil,
|
|
185
|
+
# New interval unit for the subscription period. When changing the period, this
|
|
186
|
+
# may be supplied alongside `subscription_period_count`; if omitted the existing
|
|
187
|
+
# interval is retained.
|
|
188
|
+
subscription_period_interval: nil,
|
|
164
189
|
tax_id: nil,
|
|
165
190
|
request_options: {}
|
|
166
191
|
)
|
|
@@ -195,6 +220,9 @@ module Dodopayments
|
|
|
195
220
|
T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
|
|
196
221
|
next_billing_date: T.nilable(Time),
|
|
197
222
|
status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
|
|
223
|
+
subscription_period_count: T.nilable(Integer),
|
|
224
|
+
subscription_period_interval:
|
|
225
|
+
T.nilable(Dodopayments::TimeInterval::OrSymbol),
|
|
198
226
|
tax_id: T.nilable(String),
|
|
199
227
|
request_options: Dodopayments::RequestOptions
|
|
200
228
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class SubscriptionUpdatePaymentMethodWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
|
|
10
|
+
Dodopayments::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The business identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :business_id
|
|
17
|
+
|
|
18
|
+
# Response struct representing subscription details
|
|
19
|
+
sig { returns(Dodopayments::Subscription) }
|
|
20
|
+
attr_reader :data
|
|
21
|
+
|
|
22
|
+
sig { params(data: Dodopayments::Subscription::OrHash).void }
|
|
23
|
+
attr_writer :data
|
|
24
|
+
|
|
25
|
+
# The timestamp of when the event occurred
|
|
26
|
+
sig { returns(Time) }
|
|
27
|
+
attr_accessor :timestamp
|
|
28
|
+
|
|
29
|
+
# The event type
|
|
30
|
+
sig { returns(Symbol) }
|
|
31
|
+
attr_accessor :type
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
business_id: String,
|
|
36
|
+
data: Dodopayments::Subscription::OrHash,
|
|
37
|
+
timestamp: Time,
|
|
38
|
+
type: Symbol
|
|
39
|
+
).returns(T.attached_class)
|
|
40
|
+
end
|
|
41
|
+
def self.new(
|
|
42
|
+
# The business identifier
|
|
43
|
+
business_id:,
|
|
44
|
+
# Response struct representing subscription details
|
|
45
|
+
data:,
|
|
46
|
+
# The timestamp of when the event occurred
|
|
47
|
+
timestamp:,
|
|
48
|
+
# The event type
|
|
49
|
+
type: :"subscription.update_payment_method"
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
sig do
|
|
54
|
+
override.returns(
|
|
55
|
+
{
|
|
56
|
+
business_id: String,
|
|
57
|
+
data: Dodopayments::Subscription,
|
|
58
|
+
timestamp: Time,
|
|
59
|
+
type: Symbol
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def to_hash
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -46,6 +46,7 @@ module Dodopayments
|
|
|
46
46
|
Dodopayments::SubscriptionOnHoldWebhookEvent,
|
|
47
47
|
Dodopayments::SubscriptionPlanChangedWebhookEvent,
|
|
48
48
|
Dodopayments::SubscriptionRenewedWebhookEvent,
|
|
49
|
+
Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
|
|
49
50
|
Dodopayments::SubscriptionUpdatedWebhookEvent
|
|
50
51
|
)
|
|
51
52
|
end
|
|
@@ -46,6 +46,7 @@ module Dodopayments
|
|
|
46
46
|
Dodopayments::SubscriptionOnHoldWebhookEvent,
|
|
47
47
|
Dodopayments::SubscriptionPlanChangedWebhookEvent,
|
|
48
48
|
Dodopayments::SubscriptionRenewedWebhookEvent,
|
|
49
|
+
Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
|
|
49
50
|
Dodopayments::SubscriptionUpdatedWebhookEvent
|
|
50
51
|
)
|
|
51
52
|
end
|
|
@@ -96,6 +96,11 @@ module Dodopayments
|
|
|
96
96
|
:"subscription.updated",
|
|
97
97
|
Dodopayments::WebhookEventType::TaggedSymbol
|
|
98
98
|
)
|
|
99
|
+
SUBSCRIPTION_UPDATE_PAYMENT_METHOD =
|
|
100
|
+
T.let(
|
|
101
|
+
:"subscription.update_payment_method",
|
|
102
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
103
|
+
)
|
|
99
104
|
LICENSE_KEY_CREATED =
|
|
100
105
|
T.let(
|
|
101
106
|
:"license_key.created",
|
data/rbi/dodopayments/models.rbi
CHANGED
|
@@ -511,6 +511,9 @@ module Dodopayments
|
|
|
511
511
|
SubscriptionUpdatePaymentMethodParams =
|
|
512
512
|
Dodopayments::Models::SubscriptionUpdatePaymentMethodParams
|
|
513
513
|
|
|
514
|
+
SubscriptionUpdatePaymentMethodWebhookEvent =
|
|
515
|
+
Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
516
|
+
|
|
514
517
|
TaxCategory = Dodopayments::Models::TaxCategory
|
|
515
518
|
|
|
516
519
|
ThemeConfig = Dodopayments::Models::ThemeConfig
|
|
@@ -60,7 +60,8 @@ module Dodopayments
|
|
|
60
60
|
currency: nil,
|
|
61
61
|
# Description of the Addon, optional and must be at most 1000 characters.
|
|
62
62
|
description: nil,
|
|
63
|
-
# Addon image id after its uploaded to S3
|
|
63
|
+
# Addon image id after its uploaded to S3. Pass `null` to remove the existing
|
|
64
|
+
# image, omit to keep it unchanged.
|
|
64
65
|
image_id: nil,
|
|
65
66
|
# Name of the Addon, optional and must be at most 100 characters.
|
|
66
67
|
name: nil,
|
|
@@ -154,6 +154,9 @@ module Dodopayments
|
|
|
154
154
|
T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
|
|
155
155
|
next_billing_date: T.nilable(Time),
|
|
156
156
|
status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
|
|
157
|
+
subscription_period_count: T.nilable(Integer),
|
|
158
|
+
subscription_period_interval:
|
|
159
|
+
T.nilable(Dodopayments::TimeInterval::OrSymbol),
|
|
157
160
|
tax_id: T.nilable(String),
|
|
158
161
|
request_options: Dodopayments::RequestOptions::OrHash
|
|
159
162
|
).returns(Dodopayments::Subscription)
|
|
@@ -184,6 +187,15 @@ module Dodopayments
|
|
|
184
187
|
metadata: nil,
|
|
185
188
|
next_billing_date: nil,
|
|
186
189
|
status: nil,
|
|
190
|
+
# New number of `subscription_period_interval` units the subscription entitlement
|
|
191
|
+
# should span. Used together with `subscription_period_interval` to extend the
|
|
192
|
+
# subscription period. The resulting period must not be shorter than the current
|
|
193
|
+
# one (this endpoint only extends).
|
|
194
|
+
subscription_period_count: nil,
|
|
195
|
+
# New interval unit for the subscription period. When changing the period, this
|
|
196
|
+
# may be supplied alongside `subscription_period_count`; if omitted the existing
|
|
197
|
+
# interval is retained.
|
|
198
|
+
subscription_period_interval: nil,
|
|
187
199
|
tax_id: nil,
|
|
188
200
|
request_options: {}
|
|
189
201
|
)
|
|
@@ -192,6 +204,7 @@ module Dodopayments
|
|
|
192
204
|
sig do
|
|
193
205
|
params(
|
|
194
206
|
brand_id: String,
|
|
207
|
+
cancel_at_next_billing_date: T::Boolean,
|
|
195
208
|
created_at_gte: Time,
|
|
196
209
|
created_at_lte: Time,
|
|
197
210
|
customer_id: String,
|
|
@@ -209,6 +222,8 @@ module Dodopayments
|
|
|
209
222
|
def list(
|
|
210
223
|
# filter by Brand id
|
|
211
224
|
brand_id: nil,
|
|
225
|
+
# Filter by cancel_at_next_billing_date (subscriptions scheduled for cancellation)
|
|
226
|
+
cancel_at_next_billing_date: nil,
|
|
212
227
|
# Get events after this created time
|
|
213
228
|
created_at_gte: nil,
|
|
214
229
|
# Get events created before this time
|
|
@@ -182,6 +182,7 @@ module Dodopayments
|
|
|
182
182
|
Dodopayments::SubscriptionOnHoldWebhookEvent,
|
|
183
183
|
Dodopayments::SubscriptionPlanChangedWebhookEvent,
|
|
184
184
|
Dodopayments::SubscriptionRenewedWebhookEvent,
|
|
185
|
+
Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
|
|
185
186
|
Dodopayments::SubscriptionUpdatedWebhookEvent
|
|
186
187
|
)
|
|
187
188
|
)
|
|
@@ -237,6 +238,7 @@ module Dodopayments
|
|
|
237
238
|
Dodopayments::SubscriptionOnHoldWebhookEvent,
|
|
238
239
|
Dodopayments::SubscriptionPlanChangedWebhookEvent,
|
|
239
240
|
Dodopayments::SubscriptionRenewedWebhookEvent,
|
|
241
|
+
Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
|
|
240
242
|
Dodopayments::SubscriptionUpdatedWebhookEvent
|
|
241
243
|
)
|
|
242
244
|
)
|
|
@@ -8,6 +8,7 @@ module Dodopayments
|
|
|
8
8
|
is_byop: bool,
|
|
9
9
|
product_cart: ::Array[Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart],
|
|
10
10
|
total_price: Integer,
|
|
11
|
+
next_billing_date: Time?,
|
|
11
12
|
recurring_breakup: Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup?,
|
|
12
13
|
tax_id_business_name: String?,
|
|
13
14
|
tax_id_err_msg: String?,
|
|
@@ -28,6 +29,8 @@ module Dodopayments
|
|
|
28
29
|
|
|
29
30
|
attr_accessor total_price: Integer
|
|
30
31
|
|
|
32
|
+
attr_accessor next_billing_date: Time?
|
|
33
|
+
|
|
31
34
|
attr_accessor recurring_breakup: Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup?
|
|
32
35
|
|
|
33
36
|
attr_accessor tax_id_business_name: String?
|
|
@@ -45,6 +48,7 @@ module Dodopayments
|
|
|
45
48
|
is_byop: bool,
|
|
46
49
|
product_cart: ::Array[Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart],
|
|
47
50
|
total_price: Integer,
|
|
51
|
+
?next_billing_date: Time?,
|
|
48
52
|
?recurring_breakup: Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup?,
|
|
49
53
|
?tax_id_business_name: String?,
|
|
50
54
|
?tax_id_err_msg: String?,
|
|
@@ -59,6 +63,7 @@ module Dodopayments
|
|
|
59
63
|
is_byop: bool,
|
|
60
64
|
product_cart: ::Array[Dodopayments::Models::CheckoutSessionPreviewResponse::ProductCart],
|
|
61
65
|
total_price: Integer,
|
|
66
|
+
next_billing_date: Time?,
|
|
62
67
|
recurring_breakup: Dodopayments::Models::CheckoutSessionPreviewResponse::RecurringBreakup?,
|
|
63
68
|
tax_id_business_name: String?,
|
|
64
69
|
tax_id_err_msg: String?,
|
|
@@ -10,6 +10,7 @@ module Dodopayments
|
|
|
10
10
|
customer: Dodopayments::CustomerLimitedDetails,
|
|
11
11
|
digital_products_delivered: bool,
|
|
12
12
|
disputes: ::Array[Dodopayments::Dispute],
|
|
13
|
+
is_update_payment_method: bool,
|
|
13
14
|
metadata: Dodopayments::Models::metadata,
|
|
14
15
|
payment_id: String,
|
|
15
16
|
payment_provider: Dodopayments::Models::Payment::payment_provider,
|
|
@@ -33,6 +34,7 @@ module Dodopayments
|
|
|
33
34
|
invoice_url: String?,
|
|
34
35
|
payment_link: String?,
|
|
35
36
|
payment_method: String?,
|
|
37
|
+
payment_method_id: String?,
|
|
36
38
|
payment_method_type: String?,
|
|
37
39
|
product_cart: ::Array[Dodopayments::Payment::ProductCart]?,
|
|
38
40
|
refund_status: Dodopayments::Models::payment_refund_status?,
|
|
@@ -60,6 +62,8 @@ module Dodopayments
|
|
|
60
62
|
|
|
61
63
|
attr_accessor disputes: ::Array[Dodopayments::Dispute]
|
|
62
64
|
|
|
65
|
+
attr_accessor is_update_payment_method: bool
|
|
66
|
+
|
|
63
67
|
attr_accessor metadata: Dodopayments::Models::metadata
|
|
64
68
|
|
|
65
69
|
attr_accessor payment_id: String
|
|
@@ -106,6 +110,8 @@ module Dodopayments
|
|
|
106
110
|
|
|
107
111
|
attr_accessor payment_method: String?
|
|
108
112
|
|
|
113
|
+
attr_accessor payment_method_id: String?
|
|
114
|
+
|
|
109
115
|
attr_accessor payment_method_type: String?
|
|
110
116
|
|
|
111
117
|
attr_accessor product_cart: ::Array[Dodopayments::Payment::ProductCart]?
|
|
@@ -131,6 +137,7 @@ module Dodopayments
|
|
|
131
137
|
customer: Dodopayments::CustomerLimitedDetails,
|
|
132
138
|
digital_products_delivered: bool,
|
|
133
139
|
disputes: ::Array[Dodopayments::Dispute],
|
|
140
|
+
is_update_payment_method: bool,
|
|
134
141
|
metadata: Dodopayments::Models::metadata,
|
|
135
142
|
payment_id: String,
|
|
136
143
|
payment_provider: Dodopayments::Models::Payment::payment_provider,
|
|
@@ -154,6 +161,7 @@ module Dodopayments
|
|
|
154
161
|
?invoice_url: String?,
|
|
155
162
|
?payment_link: String?,
|
|
156
163
|
?payment_method: String?,
|
|
164
|
+
?payment_method_id: String?,
|
|
157
165
|
?payment_method_type: String?,
|
|
158
166
|
?product_cart: ::Array[Dodopayments::Payment::ProductCart]?,
|
|
159
167
|
?refund_status: Dodopayments::Models::payment_refund_status?,
|
|
@@ -173,6 +181,7 @@ module Dodopayments
|
|
|
173
181
|
customer: Dodopayments::CustomerLimitedDetails,
|
|
174
182
|
digital_products_delivered: bool,
|
|
175
183
|
disputes: ::Array[Dodopayments::Dispute],
|
|
184
|
+
is_update_payment_method: bool,
|
|
176
185
|
metadata: Dodopayments::Models::metadata,
|
|
177
186
|
payment_id: String,
|
|
178
187
|
payment_provider: Dodopayments::Models::Payment::payment_provider,
|
|
@@ -196,6 +205,7 @@ module Dodopayments
|
|
|
196
205
|
invoice_url: String?,
|
|
197
206
|
payment_link: String?,
|
|
198
207
|
payment_method: String?,
|
|
208
|
+
payment_method_id: String?,
|
|
199
209
|
payment_method_type: String?,
|
|
200
210
|
product_cart: ::Array[Dodopayments::Payment::ProductCart]?,
|
|
201
211
|
refund_status: Dodopayments::Models::payment_refund_status?,
|
|
@@ -3,6 +3,7 @@ module Dodopayments
|
|
|
3
3
|
type subscription_list_params =
|
|
4
4
|
{
|
|
5
5
|
brand_id: String,
|
|
6
|
+
cancel_at_next_billing_date: bool,
|
|
6
7
|
created_at_gte: Time,
|
|
7
8
|
created_at_lte: Time,
|
|
8
9
|
customer_id: String,
|
|
@@ -21,6 +22,10 @@ module Dodopayments
|
|
|
21
22
|
|
|
22
23
|
def brand_id=: (String) -> String
|
|
23
24
|
|
|
25
|
+
attr_reader cancel_at_next_billing_date: bool?
|
|
26
|
+
|
|
27
|
+
def cancel_at_next_billing_date=: (bool) -> bool
|
|
28
|
+
|
|
24
29
|
attr_reader created_at_gte: Time?
|
|
25
30
|
|
|
26
31
|
def created_at_gte=: (Time) -> Time
|
|
@@ -53,6 +58,7 @@ module Dodopayments
|
|
|
53
58
|
|
|
54
59
|
def initialize: (
|
|
55
60
|
?brand_id: String,
|
|
61
|
+
?cancel_at_next_billing_date: bool,
|
|
56
62
|
?created_at_gte: Time,
|
|
57
63
|
?created_at_lte: Time,
|
|
58
64
|
?customer_id: String,
|
|
@@ -65,6 +71,7 @@ module Dodopayments
|
|
|
65
71
|
|
|
66
72
|
def to_hash: -> {
|
|
67
73
|
brand_id: String,
|
|
74
|
+
cancel_at_next_billing_date: bool,
|
|
68
75
|
created_at_gte: Time,
|
|
69
76
|
created_at_lte: Time,
|
|
70
77
|
customer_id: String,
|
|
@@ -15,6 +15,8 @@ module Dodopayments
|
|
|
15
15
|
metadata: Dodopayments::Models::metadata?,
|
|
16
16
|
next_billing_date: Time?,
|
|
17
17
|
status: Dodopayments::Models::subscription_status?,
|
|
18
|
+
subscription_period_count: Integer?,
|
|
19
|
+
subscription_period_interval: Dodopayments::Models::time_interval?,
|
|
18
20
|
tax_id: String?
|
|
19
21
|
}
|
|
20
22
|
& Dodopayments::Internal::Type::request_parameters
|
|
@@ -49,6 +51,10 @@ module Dodopayments
|
|
|
49
51
|
|
|
50
52
|
attr_accessor status: Dodopayments::Models::subscription_status?
|
|
51
53
|
|
|
54
|
+
attr_accessor subscription_period_count: Integer?
|
|
55
|
+
|
|
56
|
+
attr_accessor subscription_period_interval: Dodopayments::Models::time_interval?
|
|
57
|
+
|
|
52
58
|
attr_accessor tax_id: String?
|
|
53
59
|
|
|
54
60
|
def initialize: (
|
|
@@ -65,6 +71,8 @@ module Dodopayments
|
|
|
65
71
|
?metadata: Dodopayments::Models::metadata?,
|
|
66
72
|
?next_billing_date: Time?,
|
|
67
73
|
?status: Dodopayments::Models::subscription_status?,
|
|
74
|
+
?subscription_period_count: Integer?,
|
|
75
|
+
?subscription_period_interval: Dodopayments::Models::time_interval?,
|
|
68
76
|
?tax_id: String?,
|
|
69
77
|
?request_options: Dodopayments::request_opts
|
|
70
78
|
) -> void
|
|
@@ -83,6 +91,8 @@ module Dodopayments
|
|
|
83
91
|
metadata: Dodopayments::Models::metadata?,
|
|
84
92
|
next_billing_date: Time?,
|
|
85
93
|
status: Dodopayments::Models::subscription_status?,
|
|
94
|
+
subscription_period_count: Integer?,
|
|
95
|
+
subscription_period_interval: Dodopayments::Models::time_interval?,
|
|
86
96
|
tax_id: String?,
|
|
87
97
|
request_options: Dodopayments::RequestOptions
|
|
88
98
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Dodopayments
|
|
2
|
+
module Models
|
|
3
|
+
type subscription_update_payment_method_webhook_event =
|
|
4
|
+
{
|
|
5
|
+
business_id: String,
|
|
6
|
+
data: Dodopayments::Subscription,
|
|
7
|
+
timestamp: Time,
|
|
8
|
+
type: :"subscription.update_payment_method"
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
class SubscriptionUpdatePaymentMethodWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
12
|
+
attr_accessor business_id: String
|
|
13
|
+
|
|
14
|
+
attr_accessor data: Dodopayments::Subscription
|
|
15
|
+
|
|
16
|
+
attr_accessor timestamp: Time
|
|
17
|
+
|
|
18
|
+
attr_accessor type: :"subscription.update_payment_method"
|
|
19
|
+
|
|
20
|
+
def initialize: (
|
|
21
|
+
business_id: String,
|
|
22
|
+
data: Dodopayments::Subscription,
|
|
23
|
+
timestamp: Time,
|
|
24
|
+
?type: :"subscription.update_payment_method"
|
|
25
|
+
) -> void
|
|
26
|
+
|
|
27
|
+
def to_hash: -> {
|
|
28
|
+
business_id: String,
|
|
29
|
+
data: Dodopayments::Subscription,
|
|
30
|
+
timestamp: Time,
|
|
31
|
+
type: :"subscription.update_payment_method"
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -39,6 +39,7 @@ module Dodopayments
|
|
|
39
39
|
| Dodopayments::SubscriptionOnHoldWebhookEvent
|
|
40
40
|
| Dodopayments::SubscriptionPlanChangedWebhookEvent
|
|
41
41
|
| Dodopayments::SubscriptionRenewedWebhookEvent
|
|
42
|
+
| Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
42
43
|
| Dodopayments::SubscriptionUpdatedWebhookEvent
|
|
43
44
|
|
|
44
45
|
module UnsafeUnwrapWebhookEvent
|
|
@@ -39,6 +39,7 @@ module Dodopayments
|
|
|
39
39
|
| Dodopayments::SubscriptionOnHoldWebhookEvent
|
|
40
40
|
| Dodopayments::SubscriptionPlanChangedWebhookEvent
|
|
41
41
|
| Dodopayments::SubscriptionRenewedWebhookEvent
|
|
42
|
+
| Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
42
43
|
| Dodopayments::SubscriptionUpdatedWebhookEvent
|
|
43
44
|
|
|
44
45
|
module UnwrapWebhookEvent
|
|
@@ -23,6 +23,7 @@ module Dodopayments
|
|
|
23
23
|
| :"subscription.expired"
|
|
24
24
|
| :"subscription.plan_changed"
|
|
25
25
|
| :"subscription.updated"
|
|
26
|
+
| :"subscription.update_payment_method"
|
|
26
27
|
| :"license_key.created"
|
|
27
28
|
| :"payout.not_initiated"
|
|
28
29
|
| :"payout.on_hold"
|
|
@@ -72,6 +73,7 @@ module Dodopayments
|
|
|
72
73
|
SUBSCRIPTION_EXPIRED: :"subscription.expired"
|
|
73
74
|
SUBSCRIPTION_PLAN_CHANGED: :"subscription.plan_changed"
|
|
74
75
|
SUBSCRIPTION_UPDATED: :"subscription.updated"
|
|
76
|
+
SUBSCRIPTION_UPDATE_PAYMENT_METHOD: :"subscription.update_payment_method"
|
|
75
77
|
LICENSE_KEY_CREATED: :"license_key.created"
|
|
76
78
|
PAYOUT_NOT_INITIATED: :"payout.not_initiated"
|
|
77
79
|
PAYOUT_ON_HOLD: :"payout.on_hold"
|
data/sig/dodopayments/models.rbs
CHANGED
|
@@ -437,6 +437,8 @@ module Dodopayments
|
|
|
437
437
|
|
|
438
438
|
class SubscriptionUpdatePaymentMethodParams = Dodopayments::Models::SubscriptionUpdatePaymentMethodParams
|
|
439
439
|
|
|
440
|
+
class SubscriptionUpdatePaymentMethodWebhookEvent = Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
441
|
+
|
|
440
442
|
module TaxCategory = Dodopayments::Models::TaxCategory
|
|
441
443
|
|
|
442
444
|
class ThemeConfig = Dodopayments::Models::ThemeConfig
|
|
@@ -48,12 +48,15 @@ module Dodopayments
|
|
|
48
48
|
?metadata: Dodopayments::Models::metadata?,
|
|
49
49
|
?next_billing_date: Time?,
|
|
50
50
|
?status: Dodopayments::Models::subscription_status?,
|
|
51
|
+
?subscription_period_count: Integer?,
|
|
52
|
+
?subscription_period_interval: Dodopayments::Models::time_interval?,
|
|
51
53
|
?tax_id: String?,
|
|
52
54
|
?request_options: Dodopayments::request_opts
|
|
53
55
|
) -> Dodopayments::Subscription
|
|
54
56
|
|
|
55
57
|
def list: (
|
|
56
58
|
?brand_id: String,
|
|
59
|
+
?cancel_at_next_billing_date: bool,
|
|
57
60
|
?created_at_gte: Time,
|
|
58
61
|
?created_at_lte: Time,
|
|
59
62
|
?customer_id: String,
|
|
@@ -87,6 +87,7 @@ module Dodopayments
|
|
|
87
87
|
| Dodopayments::SubscriptionOnHoldWebhookEvent
|
|
88
88
|
| Dodopayments::SubscriptionPlanChangedWebhookEvent
|
|
89
89
|
| Dodopayments::SubscriptionRenewedWebhookEvent
|
|
90
|
+
| Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
90
91
|
| Dodopayments::SubscriptionUpdatedWebhookEvent)
|
|
91
92
|
|
|
92
93
|
def unwrap: (
|
|
@@ -131,6 +132,7 @@ module Dodopayments
|
|
|
131
132
|
| Dodopayments::SubscriptionOnHoldWebhookEvent
|
|
132
133
|
| Dodopayments::SubscriptionPlanChangedWebhookEvent
|
|
133
134
|
| Dodopayments::SubscriptionRenewedWebhookEvent
|
|
135
|
+
| Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
|
|
134
136
|
| Dodopayments::SubscriptionUpdatedWebhookEvent)
|
|
135
137
|
|
|
136
138
|
def initialize: (client: Dodopayments::Client) -> void
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dodopayments
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.20.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dodo Payments
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-07-
|
|
11
|
+
date: 2026-07-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|
|
@@ -380,6 +380,7 @@ files:
|
|
|
380
380
|
- lib/dodopayments/models/subscription_update_params.rb
|
|
381
381
|
- lib/dodopayments/models/subscription_update_payment_method_params.rb
|
|
382
382
|
- lib/dodopayments/models/subscription_update_payment_method_response.rb
|
|
383
|
+
- lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb
|
|
383
384
|
- lib/dodopayments/models/subscription_updated_webhook_event.rb
|
|
384
385
|
- lib/dodopayments/models/tax_category.rb
|
|
385
386
|
- lib/dodopayments/models/theme_config.rb
|
|
@@ -765,6 +766,7 @@ files:
|
|
|
765
766
|
- rbi/dodopayments/models/subscription_update_params.rbi
|
|
766
767
|
- rbi/dodopayments/models/subscription_update_payment_method_params.rbi
|
|
767
768
|
- rbi/dodopayments/models/subscription_update_payment_method_response.rbi
|
|
769
|
+
- rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi
|
|
768
770
|
- rbi/dodopayments/models/subscription_updated_webhook_event.rbi
|
|
769
771
|
- rbi/dodopayments/models/tax_category.rbi
|
|
770
772
|
- rbi/dodopayments/models/theme_config.rbi
|
|
@@ -1149,6 +1151,7 @@ files:
|
|
|
1149
1151
|
- sig/dodopayments/models/subscription_update_params.rbs
|
|
1150
1152
|
- sig/dodopayments/models/subscription_update_payment_method_params.rbs
|
|
1151
1153
|
- sig/dodopayments/models/subscription_update_payment_method_response.rbs
|
|
1154
|
+
- sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs
|
|
1152
1155
|
- sig/dodopayments/models/subscription_updated_webhook_event.rbs
|
|
1153
1156
|
- sig/dodopayments/models/tax_category.rbs
|
|
1154
1157
|
- sig/dodopayments/models/theme_config.rbs
|