dodopayments 2.4.1 → 2.6.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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/internal/util.rb +18 -4
  5. data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +126 -0
  6. data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +126 -0
  7. data/lib/dodopayments/models/balance_ledger_entry.rb +2 -0
  8. data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
  9. data/lib/dodopayments/models/discount.rb +8 -1
  10. data/lib/dodopayments/models/discount_create_params.rb +9 -1
  11. data/lib/dodopayments/models/discount_update_params.rb +9 -1
  12. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +118 -0
  13. data/lib/dodopayments/models/dunning_started_webhook_event.rb +118 -0
  14. data/lib/dodopayments/models/payouts/breakup/detail_download_csv_params.rb +24 -0
  15. data/lib/dodopayments/models/payouts/breakup/detail_list_params.rb +41 -0
  16. data/lib/dodopayments/models/payouts/breakup/detail_list_response.rb +94 -0
  17. data/lib/dodopayments/models/payouts/breakup_retrieve_params.rb +22 -0
  18. data/lib/dodopayments/models/payouts/breakup_retrieve_response.rb +37 -0
  19. data/lib/dodopayments/models/subscription_update_params.rb +19 -1
  20. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +9 -1
  21. data/lib/dodopayments/models/unwrap_webhook_event.rb +9 -1
  22. data/lib/dodopayments/models/webhook_event_type.rb +6 -0
  23. data/lib/dodopayments/models/webhook_payload.rb +168 -3
  24. data/lib/dodopayments/models.rb +10 -0
  25. data/lib/dodopayments/resources/discounts.rb +6 -2
  26. data/lib/dodopayments/resources/payouts/breakup/details.rb +72 -0
  27. data/lib/dodopayments/resources/payouts/breakup.rb +43 -0
  28. data/lib/dodopayments/resources/payouts.rb +4 -0
  29. data/lib/dodopayments/resources/subscriptions.rb +3 -1
  30. data/lib/dodopayments/resources/webhooks.rb +2 -2
  31. data/lib/dodopayments/version.rb +1 -1
  32. data/lib/dodopayments.rb +11 -0
  33. data/rbi/dodopayments/internal/util.rbi +8 -0
  34. data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +271 -0
  35. data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +273 -0
  36. data/rbi/dodopayments/models/balance_ledger_entry.rbi +10 -0
  37. data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
  38. data/rbi/dodopayments/models/discount.rbi +6 -0
  39. data/rbi/dodopayments/models/discount_create_params.rbi +11 -0
  40. data/rbi/dodopayments/models/discount_update_params.rbi +8 -0
  41. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +249 -0
  42. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +249 -0
  43. data/rbi/dodopayments/models/payouts/breakup/detail_download_csv_params.rbi +45 -0
  44. data/rbi/dodopayments/models/payouts/breakup/detail_list_params.rbi +70 -0
  45. data/rbi/dodopayments/models/payouts/breakup/detail_list_response.rbi +116 -0
  46. data/rbi/dodopayments/models/payouts/breakup_retrieve_params.rbi +40 -0
  47. data/rbi/dodopayments/models/payouts/breakup_retrieve_response.rbi +53 -0
  48. data/rbi/dodopayments/models/subscription_update_params.rbi +54 -0
  49. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +4 -0
  50. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +4 -0
  51. data/rbi/dodopayments/models/webhook_event_type.rbi +21 -0
  52. data/rbi/dodopayments/models/webhook_payload.rbi +400 -4
  53. data/rbi/dodopayments/models.rbi +13 -0
  54. data/rbi/dodopayments/resources/discounts.rbi +6 -0
  55. data/rbi/dodopayments/resources/payouts/breakup/details.rbi +60 -0
  56. data/rbi/dodopayments/resources/payouts/breakup.rbi +36 -0
  57. data/rbi/dodopayments/resources/payouts.rbi +3 -0
  58. data/rbi/dodopayments/resources/subscriptions.rbi +5 -0
  59. data/rbi/dodopayments/resources/webhooks.rbi +8 -0
  60. data/sig/dodopayments/internal/util.rbs +4 -0
  61. data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +113 -0
  62. data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +113 -0
  63. data/sig/dodopayments/models/balance_ledger_entry.rbs +4 -0
  64. data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
  65. data/sig/dodopayments/models/discount.rbs +5 -0
  66. data/sig/dodopayments/models/discount_create_params.rbs +7 -0
  67. data/sig/dodopayments/models/discount_update_params.rbs +5 -0
  68. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +110 -0
  69. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +110 -0
  70. data/sig/dodopayments/models/payouts/breakup/detail_download_csv_params.rbs +28 -0
  71. data/sig/dodopayments/models/payouts/breakup/detail_list_params.rbs +40 -0
  72. data/sig/dodopayments/models/payouts/breakup/detail_list_response.rbs +64 -0
  73. data/sig/dodopayments/models/payouts/breakup_retrieve_params.rbs +25 -0
  74. data/sig/dodopayments/models/payouts/breakup_retrieve_response.rbs +23 -0
  75. data/sig/dodopayments/models/subscription_update_params.rbs +20 -0
  76. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -1
  77. data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -1
  78. data/sig/dodopayments/models/webhook_event_type.rbs +12 -0
  79. data/sig/dodopayments/models/webhook_payload.rbs +165 -0
  80. data/sig/dodopayments/models.rbs +10 -0
  81. data/sig/dodopayments/resources/discounts.rbs +2 -0
  82. data/sig/dodopayments/resources/payouts/breakup/details.rbs +23 -0
  83. data/sig/dodopayments/resources/payouts/breakup.rbs +16 -0
  84. data/sig/dodopayments/resources/payouts.rbs +2 -0
  85. data/sig/dodopayments/resources/subscriptions.rbs +1 -0
  86. data/sig/dodopayments/resources/webhooks.rbs +10 -2
  87. metadata +35 -2
@@ -45,8 +45,12 @@ module Dodopayments
45
45
  -> top?
46
46
  } -> top?
47
47
 
48
+ RFC_3986_NOT_PCHARS: Regexp
49
+
48
50
  def self?.uri_origin: (URI::Generic uri) -> String
49
51
 
52
+ def self?.encode_path: (String | Integer path) -> String
53
+
50
54
  def self?.interpolate_path: (String | ::Array[String] path) -> String
51
55
 
52
56
  def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
@@ -0,0 +1,113 @@
1
+ module Dodopayments
2
+ module Models
3
+ type abandoned_checkout_detected_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::type_
9
+ }
10
+
11
+ class AbandonedCheckoutDetectedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::type_
32
+ }
33
+
34
+ type data =
35
+ {
36
+ abandoned_at: Time,
37
+ abandonment_reason: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::abandonment_reason,
38
+ customer_id: String,
39
+ payment_id: String,
40
+ status: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::status,
41
+ recovered_payment_id: String?
42
+ }
43
+
44
+ class Data < Dodopayments::Internal::Type::BaseModel
45
+ attr_accessor abandoned_at: Time
46
+
47
+ attr_accessor abandonment_reason: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::abandonment_reason
48
+
49
+ attr_accessor customer_id: String
50
+
51
+ attr_accessor payment_id: String
52
+
53
+ attr_accessor status: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::status
54
+
55
+ attr_accessor recovered_payment_id: String?
56
+
57
+ def initialize: (
58
+ abandoned_at: Time,
59
+ abandonment_reason: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::abandonment_reason,
60
+ customer_id: String,
61
+ payment_id: String,
62
+ status: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::status,
63
+ ?recovered_payment_id: String?
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ abandoned_at: Time,
68
+ abandonment_reason: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::abandonment_reason,
69
+ customer_id: String,
70
+ payment_id: String,
71
+ status: Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::status,
72
+ recovered_payment_id: String?
73
+ }
74
+
75
+ type abandonment_reason = :payment_failed | :checkout_incomplete
76
+
77
+ module AbandonmentReason
78
+ extend Dodopayments::Internal::Type::Enum
79
+
80
+ PAYMENT_FAILED: :payment_failed
81
+ CHECKOUT_INCOMPLETE: :checkout_incomplete
82
+
83
+ def self?.values: -> ::Array[Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::abandonment_reason]
84
+ end
85
+
86
+ type status =
87
+ :abandoned | :recovering | :recovered | :exhausted | :opted_out
88
+
89
+ module Status
90
+ extend Dodopayments::Internal::Type::Enum
91
+
92
+ ABANDONED: :abandoned
93
+ RECOVERING: :recovering
94
+ RECOVERED: :recovered
95
+ EXHAUSTED: :exhausted
96
+ OPTED_OUT: :opted_out
97
+
98
+ def self?.values: -> ::Array[Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::status]
99
+ end
100
+ end
101
+
102
+ type type_ = :"abandoned_checkout.detected"
103
+
104
+ module Type
105
+ extend Dodopayments::Internal::Type::Enum
106
+
107
+ ABANDONED_CHECKOUT_DETECTED: :"abandoned_checkout.detected"
108
+
109
+ def self?.values: -> ::Array[Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::type_]
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,113 @@
1
+ module Dodopayments
2
+ module Models
3
+ type abandoned_checkout_recovered_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::type_
9
+ }
10
+
11
+ class AbandonedCheckoutRecoveredWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::type_
32
+ }
33
+
34
+ type data =
35
+ {
36
+ abandoned_at: Time,
37
+ abandonment_reason: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::abandonment_reason,
38
+ customer_id: String,
39
+ payment_id: String,
40
+ status: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::status,
41
+ recovered_payment_id: String?
42
+ }
43
+
44
+ class Data < Dodopayments::Internal::Type::BaseModel
45
+ attr_accessor abandoned_at: Time
46
+
47
+ attr_accessor abandonment_reason: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::abandonment_reason
48
+
49
+ attr_accessor customer_id: String
50
+
51
+ attr_accessor payment_id: String
52
+
53
+ attr_accessor status: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::status
54
+
55
+ attr_accessor recovered_payment_id: String?
56
+
57
+ def initialize: (
58
+ abandoned_at: Time,
59
+ abandonment_reason: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::abandonment_reason,
60
+ customer_id: String,
61
+ payment_id: String,
62
+ status: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::status,
63
+ ?recovered_payment_id: String?
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ abandoned_at: Time,
68
+ abandonment_reason: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::abandonment_reason,
69
+ customer_id: String,
70
+ payment_id: String,
71
+ status: Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::status,
72
+ recovered_payment_id: String?
73
+ }
74
+
75
+ type abandonment_reason = :payment_failed | :checkout_incomplete
76
+
77
+ module AbandonmentReason
78
+ extend Dodopayments::Internal::Type::Enum
79
+
80
+ PAYMENT_FAILED: :payment_failed
81
+ CHECKOUT_INCOMPLETE: :checkout_incomplete
82
+
83
+ def self?.values: -> ::Array[Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::abandonment_reason]
84
+ end
85
+
86
+ type status =
87
+ :abandoned | :recovering | :recovered | :exhausted | :opted_out
88
+
89
+ module Status
90
+ extend Dodopayments::Internal::Type::Enum
91
+
92
+ ABANDONED: :abandoned
93
+ RECOVERING: :recovering
94
+ RECOVERED: :recovered
95
+ EXHAUSTED: :exhausted
96
+ OPTED_OUT: :opted_out
97
+
98
+ def self?.values: -> ::Array[Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::status]
99
+ end
100
+ end
101
+
102
+ type type_ = :"abandoned_checkout.recovered"
103
+
104
+ module Type
105
+ extend Dodopayments::Internal::Type::Enum
106
+
107
+ ABANDONED_CHECKOUT_RECOVERED: :"abandoned_checkout.recovered"
108
+
109
+ def self?.values: -> ::Array[Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::type_]
110
+ end
111
+ end
112
+ end
113
+ end
@@ -90,6 +90,8 @@ module Dodopayments
90
90
  | :dodo_credits
91
91
  | :adjustment
92
92
  | :currency_conversion
93
+ | :abandoned_cart_recovery_fee
94
+ | :dunning_fees
93
95
 
94
96
  module EventType
95
97
  extend Dodopayments::Internal::Type::Enum
@@ -112,6 +114,8 @@ module Dodopayments
112
114
  DODO_CREDITS: :dodo_credits
113
115
  ADJUSTMENT: :adjustment
114
116
  CURRENCY_CONVERSION: :currency_conversion
117
+ ABANDONED_CART_RECOVERY_FEE: :abandoned_cart_recovery_fee
118
+ DUNNING_FEES: :dunning_fees
115
119
 
116
120
  def self?.values: -> ::Array[Dodopayments::Models::BalanceLedgerEntry::event_type]
117
121
  end
@@ -395,6 +395,8 @@ module Dodopayments
395
395
  | :dodo_credits
396
396
  | :adjustment
397
397
  | :currency_conversion
398
+ | :abandoned_cart_recovery_fee
399
+ | :dunning_fees
398
400
 
399
401
  module EventType
400
402
  extend Dodopayments::Internal::Type::Enum
@@ -417,6 +419,8 @@ module Dodopayments
417
419
  DODO_CREDITS: :dodo_credits
418
420
  ADJUSTMENT: :adjustment
419
421
  CURRENCY_CONVERSION: :currency_conversion
422
+ ABANDONED_CART_RECOVERY_FEE: :abandoned_cart_recovery_fee
423
+ DUNNING_FEES: :dunning_fees
420
424
 
421
425
  def self?.values: -> ::Array[Dodopayments::Models::BalanceRetrieveLedgerParams::event_type]
422
426
  end
@@ -7,6 +7,7 @@ module Dodopayments
7
7
  code: String,
8
8
  created_at: Time,
9
9
  discount_id: String,
10
+ metadata: ::Hash[Symbol, String],
10
11
  preserve_on_plan_change: bool,
11
12
  restricted_to: ::Array[String],
12
13
  times_used: Integer,
@@ -28,6 +29,8 @@ module Dodopayments
28
29
 
29
30
  attr_accessor discount_id: String
30
31
 
32
+ attr_accessor metadata: ::Hash[Symbol, String]
33
+
31
34
  attr_accessor preserve_on_plan_change: bool
32
35
 
33
36
  attr_accessor restricted_to: ::Array[String]
@@ -50,6 +53,7 @@ module Dodopayments
50
53
  code: String,
51
54
  created_at: Time,
52
55
  discount_id: String,
56
+ metadata: ::Hash[Symbol, String],
53
57
  preserve_on_plan_change: bool,
54
58
  restricted_to: ::Array[String],
55
59
  times_used: Integer,
@@ -66,6 +70,7 @@ module Dodopayments
66
70
  code: String,
67
71
  created_at: Time,
68
72
  discount_id: String,
73
+ metadata: ::Hash[Symbol, String],
69
74
  preserve_on_plan_change: bool,
70
75
  restricted_to: ::Array[String],
71
76
  times_used: Integer,
@@ -6,6 +6,7 @@ module Dodopayments
6
6
  type: Dodopayments::Models::discount_type,
7
7
  code: String?,
8
8
  expires_at: Time?,
9
+ metadata: ::Hash[Symbol, String],
9
10
  name: String?,
10
11
  preserve_on_plan_change: bool,
11
12
  restricted_to: ::Array[String]?,
@@ -26,6 +27,10 @@ module Dodopayments
26
27
 
27
28
  attr_accessor expires_at: Time?
28
29
 
30
+ attr_reader metadata: ::Hash[Symbol, String]?
31
+
32
+ def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
33
+
29
34
  attr_accessor name: String?
30
35
 
31
36
  attr_reader preserve_on_plan_change: bool?
@@ -43,6 +48,7 @@ module Dodopayments
43
48
  type: Dodopayments::Models::discount_type,
44
49
  ?code: String?,
45
50
  ?expires_at: Time?,
51
+ ?metadata: ::Hash[Symbol, String],
46
52
  ?name: String?,
47
53
  ?preserve_on_plan_change: bool,
48
54
  ?restricted_to: ::Array[String]?,
@@ -56,6 +62,7 @@ module Dodopayments
56
62
  type: Dodopayments::Models::discount_type,
57
63
  code: String?,
58
64
  expires_at: Time?,
65
+ metadata: ::Hash[Symbol, String],
59
66
  name: String?,
60
67
  preserve_on_plan_change: bool,
61
68
  restricted_to: ::Array[String]?,
@@ -6,6 +6,7 @@ module Dodopayments
6
6
  amount: Integer?,
7
7
  code: String?,
8
8
  expires_at: Time?,
9
+ metadata: ::Hash[Symbol, String]?,
9
10
  name: String?,
10
11
  preserve_on_plan_change: bool?,
11
12
  restricted_to: ::Array[String]?,
@@ -27,6 +28,8 @@ module Dodopayments
27
28
 
28
29
  attr_accessor expires_at: Time?
29
30
 
31
+ attr_accessor metadata: ::Hash[Symbol, String]?
32
+
30
33
  attr_accessor name: String?
31
34
 
32
35
  attr_accessor preserve_on_plan_change: bool?
@@ -44,6 +47,7 @@ module Dodopayments
44
47
  ?amount: Integer?,
45
48
  ?code: String?,
46
49
  ?expires_at: Time?,
50
+ ?metadata: ::Hash[Symbol, String]?,
47
51
  ?name: String?,
48
52
  ?preserve_on_plan_change: bool?,
49
53
  ?restricted_to: ::Array[String]?,
@@ -58,6 +62,7 @@ module Dodopayments
58
62
  amount: Integer?,
59
63
  code: String?,
60
64
  expires_at: Time?,
65
+ metadata: ::Hash[Symbol, String]?,
61
66
  name: String?,
62
67
  preserve_on_plan_change: bool?,
63
68
  restricted_to: ::Array[String]?,
@@ -0,0 +1,110 @@
1
+ module Dodopayments
2
+ module Models
3
+ type dunning_recovered_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::DunningRecoveredWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::DunningRecoveredWebhookEvent::type_
9
+ }
10
+
11
+ class DunningRecoveredWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::DunningRecoveredWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::DunningRecoveredWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::DunningRecoveredWebhookEvent::Data,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::DunningRecoveredWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::DunningRecoveredWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::DunningRecoveredWebhookEvent::type_
32
+ }
33
+
34
+ type data =
35
+ {
36
+ created_at: Time,
37
+ customer_id: String,
38
+ status: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::status,
39
+ subscription_id: String,
40
+ trigger_state: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::trigger_state,
41
+ payment_id: String?
42
+ }
43
+
44
+ class Data < Dodopayments::Internal::Type::BaseModel
45
+ attr_accessor created_at: Time
46
+
47
+ attr_accessor customer_id: String
48
+
49
+ attr_accessor status: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::status
50
+
51
+ attr_accessor subscription_id: String
52
+
53
+ attr_accessor trigger_state: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::trigger_state
54
+
55
+ attr_accessor payment_id: String?
56
+
57
+ def initialize: (
58
+ created_at: Time,
59
+ customer_id: String,
60
+ status: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::status,
61
+ subscription_id: String,
62
+ trigger_state: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::trigger_state,
63
+ ?payment_id: String?
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ created_at: Time,
68
+ customer_id: String,
69
+ status: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::status,
70
+ subscription_id: String,
71
+ trigger_state: Dodopayments::Models::DunningRecoveredWebhookEvent::Data::trigger_state,
72
+ payment_id: String?
73
+ }
74
+
75
+ type status = :recovering | :recovered | :exhausted
76
+
77
+ module Status
78
+ extend Dodopayments::Internal::Type::Enum
79
+
80
+ RECOVERING: :recovering
81
+ RECOVERED: :recovered
82
+ EXHAUSTED: :exhausted
83
+
84
+ def self?.values: -> ::Array[Dodopayments::Models::DunningRecoveredWebhookEvent::Data::status]
85
+ end
86
+
87
+ type trigger_state = :on_hold | :cancelled
88
+
89
+ module TriggerState
90
+ extend Dodopayments::Internal::Type::Enum
91
+
92
+ ON_HOLD: :on_hold
93
+ CANCELLED: :cancelled
94
+
95
+ def self?.values: -> ::Array[Dodopayments::Models::DunningRecoveredWebhookEvent::Data::trigger_state]
96
+ end
97
+ end
98
+
99
+ type type_ = :"dunning.recovered"
100
+
101
+ module Type
102
+ extend Dodopayments::Internal::Type::Enum
103
+
104
+ DUNNING_RECOVERED: :"dunning.recovered"
105
+
106
+ def self?.values: -> ::Array[Dodopayments::Models::DunningRecoveredWebhookEvent::type_]
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ module Dodopayments
2
+ module Models
3
+ type dunning_started_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::DunningStartedWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::DunningStartedWebhookEvent::type_
9
+ }
10
+
11
+ class DunningStartedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::DunningStartedWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::DunningStartedWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::DunningStartedWebhookEvent::Data,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::DunningStartedWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::DunningStartedWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::DunningStartedWebhookEvent::type_
32
+ }
33
+
34
+ type data =
35
+ {
36
+ created_at: Time,
37
+ customer_id: String,
38
+ status: Dodopayments::Models::DunningStartedWebhookEvent::Data::status,
39
+ subscription_id: String,
40
+ trigger_state: Dodopayments::Models::DunningStartedWebhookEvent::Data::trigger_state,
41
+ payment_id: String?
42
+ }
43
+
44
+ class Data < Dodopayments::Internal::Type::BaseModel
45
+ attr_accessor created_at: Time
46
+
47
+ attr_accessor customer_id: String
48
+
49
+ attr_accessor status: Dodopayments::Models::DunningStartedWebhookEvent::Data::status
50
+
51
+ attr_accessor subscription_id: String
52
+
53
+ attr_accessor trigger_state: Dodopayments::Models::DunningStartedWebhookEvent::Data::trigger_state
54
+
55
+ attr_accessor payment_id: String?
56
+
57
+ def initialize: (
58
+ created_at: Time,
59
+ customer_id: String,
60
+ status: Dodopayments::Models::DunningStartedWebhookEvent::Data::status,
61
+ subscription_id: String,
62
+ trigger_state: Dodopayments::Models::DunningStartedWebhookEvent::Data::trigger_state,
63
+ ?payment_id: String?
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ created_at: Time,
68
+ customer_id: String,
69
+ status: Dodopayments::Models::DunningStartedWebhookEvent::Data::status,
70
+ subscription_id: String,
71
+ trigger_state: Dodopayments::Models::DunningStartedWebhookEvent::Data::trigger_state,
72
+ payment_id: String?
73
+ }
74
+
75
+ type status = :recovering | :recovered | :exhausted
76
+
77
+ module Status
78
+ extend Dodopayments::Internal::Type::Enum
79
+
80
+ RECOVERING: :recovering
81
+ RECOVERED: :recovered
82
+ EXHAUSTED: :exhausted
83
+
84
+ def self?.values: -> ::Array[Dodopayments::Models::DunningStartedWebhookEvent::Data::status]
85
+ end
86
+
87
+ type trigger_state = :on_hold | :cancelled
88
+
89
+ module TriggerState
90
+ extend Dodopayments::Internal::Type::Enum
91
+
92
+ ON_HOLD: :on_hold
93
+ CANCELLED: :cancelled
94
+
95
+ def self?.values: -> ::Array[Dodopayments::Models::DunningStartedWebhookEvent::Data::trigger_state]
96
+ end
97
+ end
98
+
99
+ type type_ = :"dunning.started"
100
+
101
+ module Type
102
+ extend Dodopayments::Internal::Type::Enum
103
+
104
+ DUNNING_STARTED: :"dunning.started"
105
+
106
+ def self?.values: -> ::Array[Dodopayments::Models::DunningStartedWebhookEvent::type_]
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,28 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Payouts
4
+ module Breakup
5
+ type detail_download_csv_params =
6
+ { payout_id: String }
7
+ & Dodopayments::Internal::Type::request_parameters
8
+
9
+ class DetailDownloadCsvParams < Dodopayments::Internal::Type::BaseModel
10
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
11
+ include Dodopayments::Internal::Type::RequestParameters
12
+
13
+ attr_accessor payout_id: String
14
+
15
+ def initialize: (
16
+ payout_id: String,
17
+ ?request_options: Dodopayments::request_opts
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ payout_id: String,
22
+ request_options: Dodopayments::RequestOptions
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,40 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Payouts
4
+ module Breakup
5
+ type detail_list_params =
6
+ { payout_id: String, page_number: Integer, page_size: Integer }
7
+ & Dodopayments::Internal::Type::request_parameters
8
+
9
+ class DetailListParams < Dodopayments::Internal::Type::BaseModel
10
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
11
+ include Dodopayments::Internal::Type::RequestParameters
12
+
13
+ attr_accessor payout_id: String
14
+
15
+ attr_reader page_number: Integer?
16
+
17
+ def page_number=: (Integer) -> Integer
18
+
19
+ attr_reader page_size: Integer?
20
+
21
+ def page_size=: (Integer) -> Integer
22
+
23
+ def initialize: (
24
+ payout_id: String,
25
+ ?page_number: Integer,
26
+ ?page_size: Integer,
27
+ ?request_options: Dodopayments::request_opts
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ payout_id: String,
32
+ page_number: Integer,
33
+ page_size: Integer,
34
+ request_options: Dodopayments::RequestOptions
35
+ }
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end