dodopayments 2.26.0 → 2.28.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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/internal/type/union.rb +15 -5
  6. data/lib/dodopayments/models/balance_ledger_entry.rb +9 -1
  7. data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
  8. data/lib/dodopayments/models/blocklist/block_by_customer_id.rb +18 -0
  9. data/lib/dodopayments/models/blocklist/block_by_email.rb +18 -0
  10. data/lib/dodopayments/models/blocklist/block_identifier.rb +21 -0
  11. data/lib/dodopayments/models/blocklist/blocked_customer.rb +128 -0
  12. data/lib/dodopayments/models/blocklist/blocked_customer_source.rb +22 -0
  13. data/lib/dodopayments/models/blocklist/create_blocked_customer_request.rb +66 -0
  14. data/lib/dodopayments/models/blocklist/customer_create_params.rb +16 -0
  15. data/lib/dodopayments/models/blocklist/customer_delete_params.rb +22 -0
  16. data/lib/dodopayments/models/blocklist/customer_list_params.rb +64 -0
  17. data/lib/dodopayments/models/blocklist/customer_retrieve_params.rb +22 -0
  18. data/lib/dodopayments/models/blocklist/customers/blocked_customer_note.rb +44 -0
  19. data/lib/dodopayments/models/blocklist/customers/note_create_params.rb +24 -0
  20. data/lib/dodopayments/models/blocklist/customers/note_request.rb +19 -0
  21. data/lib/dodopayments/models/blocklist/customers/note_update_params.rb +30 -0
  22. data/lib/dodopayments/models/checkout_session_preview_response.rb +10 -1
  23. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +1 -1
  24. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rb +21 -1
  25. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +2 -7
  26. data/lib/dodopayments/models/customer.rb +22 -1
  27. data/lib/dodopayments/models/customers/email_body.rb +57 -0
  28. data/lib/dodopayments/models/customers/email_failure_code.rb +27 -0
  29. data/lib/dodopayments/models/customers/email_list_params.rb +39 -0
  30. data/lib/dodopayments/models/customers/email_log_item.rb +121 -0
  31. data/lib/dodopayments/models/customers/email_log_status.rb +24 -0
  32. data/lib/dodopayments/models/customers/email_policies.rb +45 -0
  33. data/lib/dodopayments/models/customers/email_retrieve_body_params.rb +28 -0
  34. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +1 -0
  35. data/lib/dodopayments/models/dunning_started_webhook_event.rb +1 -0
  36. data/lib/dodopayments/models/manual_retry.rb +76 -0
  37. data/lib/dodopayments/models/manual_retry_state.rb +50 -0
  38. data/lib/dodopayments/models/payment_retrieve_retry_state_params.rb +20 -0
  39. data/lib/dodopayments/models/payment_retry_params.rb +20 -0
  40. data/lib/dodopayments/models/price.rb +95 -27
  41. data/lib/dodopayments/models/subscription.rb +10 -1
  42. data/lib/dodopayments/models/subscription_active_webhook_event.rb +32 -4
  43. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +33 -4
  44. data/lib/dodopayments/models/subscription_create_response.rb +10 -1
  45. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +32 -4
  46. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +32 -4
  47. data/lib/dodopayments/models/subscription_list_params.rb +1 -0
  48. data/lib/dodopayments/models/subscription_list_response.rb +10 -1
  49. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +32 -4
  50. data/lib/dodopayments/models/subscription_past_due_webhook_event.rb +68 -0
  51. data/lib/dodopayments/models/subscription_paused_webhook_event.rb +32 -4
  52. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +33 -4
  53. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +32 -4
  54. data/lib/dodopayments/models/subscription_status.rb +1 -0
  55. data/lib/dodopayments/models/subscription_unpaused_webhook_event.rb +32 -4
  56. data/lib/dodopayments/models/subscription_update_params.rb +1 -0
  57. data/lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb +34 -4
  58. data/lib/dodopayments/models/subscription_updated_webhook_event.rb +32 -4
  59. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +3 -1
  60. data/lib/dodopayments/models/unwrap_webhook_event.rb +3 -1
  61. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  62. data/lib/dodopayments/models/webhook_payload.rb +19 -1
  63. data/lib/dodopayments/models.rb +12 -0
  64. data/lib/dodopayments/resources/blocklist/customers/notes.rb +68 -0
  65. data/lib/dodopayments/resources/blocklist/customers.rb +107 -0
  66. data/lib/dodopayments/resources/blocklist.rb +18 -0
  67. data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -0
  68. data/lib/dodopayments/resources/customers/emails.rb +76 -0
  69. data/lib/dodopayments/resources/customers.rb +4 -0
  70. data/lib/dodopayments/resources/payments.rb +36 -0
  71. data/lib/dodopayments/resources/webhooks.rb +2 -2
  72. data/lib/dodopayments/version.rb +1 -1
  73. data/lib/dodopayments.rb +31 -1
  74. data/rbi/dodopayments/client.rbi +3 -0
  75. data/rbi/dodopayments/models/balance_ledger_entry.rbi +16 -0
  76. data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
  77. data/rbi/dodopayments/models/blocklist/block_by_customer_id.rbi +32 -0
  78. data/rbi/dodopayments/models/blocklist/block_by_email.rbi +32 -0
  79. data/rbi/dodopayments/models/blocklist/block_identifier.rbi +30 -0
  80. data/rbi/dodopayments/models/blocklist/blocked_customer.rbi +161 -0
  81. data/rbi/dodopayments/models/blocklist/blocked_customer_source.rbi +55 -0
  82. data/rbi/dodopayments/models/blocklist/create_blocked_customer_request.rbi +143 -0
  83. data/rbi/dodopayments/models/blocklist/customer_create_params.rbi +34 -0
  84. data/rbi/dodopayments/models/blocklist/customer_delete_params.rbi +40 -0
  85. data/rbi/dodopayments/models/blocklist/customer_list_params.rbi +88 -0
  86. data/rbi/dodopayments/models/blocklist/customer_retrieve_params.rbi +40 -0
  87. data/rbi/dodopayments/models/blocklist/customers/blocked_customer_note.rbi +66 -0
  88. data/rbi/dodopayments/models/blocklist/customers/note_create_params.rbi +45 -0
  89. data/rbi/dodopayments/models/blocklist/customers/note_request.rbi +30 -0
  90. data/rbi/dodopayments/models/blocklist/customers/note_update_params.rbi +50 -0
  91. data/rbi/dodopayments/models/checkout_session_preview_response.rbi +10 -0
  92. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +2 -2
  93. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rbi +8 -0
  94. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +2 -6
  95. data/rbi/dodopayments/models/customer.rbi +20 -0
  96. data/rbi/dodopayments/models/customers/email_body.rbi +88 -0
  97. data/rbi/dodopayments/models/customers/email_failure_code.rbi +70 -0
  98. data/rbi/dodopayments/models/customers/email_list_params.rbi +68 -0
  99. data/rbi/dodopayments/models/customers/email_log_item.rbi +157 -0
  100. data/rbi/dodopayments/models/customers/email_log_status.rbi +46 -0
  101. data/rbi/dodopayments/models/customers/email_policies.rbi +68 -0
  102. data/rbi/dodopayments/models/customers/email_retrieve_body_params.rbi +48 -0
  103. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +5 -0
  104. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +5 -0
  105. data/rbi/dodopayments/models/manual_retry.rbi +93 -0
  106. data/rbi/dodopayments/models/manual_retry_state.rbi +65 -0
  107. data/rbi/dodopayments/models/payment_retrieve_retry_state_params.rbi +38 -0
  108. data/rbi/dodopayments/models/payment_retry_params.rbi +38 -0
  109. data/rbi/dodopayments/models/price.rbi +124 -25
  110. data/rbi/dodopayments/models/subscription.rbi +10 -0
  111. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +53 -6
  112. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +53 -6
  113. data/rbi/dodopayments/models/subscription_create_response.rbi +10 -0
  114. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +53 -6
  115. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +53 -6
  116. data/rbi/dodopayments/models/subscription_list_params.rbi +5 -0
  117. data/rbi/dodopayments/models/subscription_list_response.rbi +10 -0
  118. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +53 -6
  119. data/rbi/dodopayments/models/subscription_past_due_webhook_event.rbi +114 -0
  120. data/rbi/dodopayments/models/subscription_paused_webhook_event.rbi +53 -6
  121. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +53 -6
  122. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +53 -6
  123. data/rbi/dodopayments/models/subscription_status.rbi +2 -0
  124. data/rbi/dodopayments/models/subscription_unpaused_webhook_event.rbi +53 -6
  125. data/rbi/dodopayments/models/subscription_update_params.rbi +5 -0
  126. data/rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi +58 -6
  127. data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +53 -6
  128. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +1 -0
  129. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +1 -0
  130. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  131. data/rbi/dodopayments/models/webhook_payload.rbi +37 -3
  132. data/rbi/dodopayments/models.rbi +14 -0
  133. data/rbi/dodopayments/resources/blocklist/customers/notes.rbi +50 -0
  134. data/rbi/dodopayments/resources/blocklist/customers.rbi +88 -0
  135. data/rbi/dodopayments/resources/blocklist.rbi +15 -0
  136. data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +2 -1
  137. data/rbi/dodopayments/resources/customers/emails.rbi +60 -0
  138. data/rbi/dodopayments/resources/customers.rbi +3 -0
  139. data/rbi/dodopayments/resources/payments.rbi +26 -0
  140. data/rbi/dodopayments/resources/webhooks.rbi +2 -0
  141. data/sig/dodopayments/client.rbs +2 -0
  142. data/sig/dodopayments/models/balance_ledger_entry.rbs +9 -0
  143. data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
  144. data/sig/dodopayments/models/blocklist/block_by_customer_id.rbs +15 -0
  145. data/sig/dodopayments/models/blocklist/block_by_email.rbs +15 -0
  146. data/sig/dodopayments/models/blocklist/block_identifier.rbs +15 -0
  147. data/sig/dodopayments/models/blocklist/blocked_customer.rbs +87 -0
  148. data/sig/dodopayments/models/blocklist/blocked_customer_source.rbs +20 -0
  149. data/sig/dodopayments/models/blocklist/create_blocked_customer_request.rbs +71 -0
  150. data/sig/dodopayments/models/blocklist/customer_create_params.rbs +17 -0
  151. data/sig/dodopayments/models/blocklist/customer_delete_params.rbs +25 -0
  152. data/sig/dodopayments/models/blocklist/customer_list_params.rbs +53 -0
  153. data/sig/dodopayments/models/blocklist/customer_retrieve_params.rbs +25 -0
  154. data/sig/dodopayments/models/blocklist/customers/blocked_customer_note.rbs +44 -0
  155. data/sig/dodopayments/models/blocklist/customers/note_create_params.rbs +30 -0
  156. data/sig/dodopayments/models/blocklist/customers/note_request.rbs +17 -0
  157. data/sig/dodopayments/models/blocklist/customers/note_update_params.rbs +36 -0
  158. data/sig/dodopayments/models/checkout_session_preview_response.rbs +5 -0
  159. data/sig/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rbs +5 -0
  160. data/sig/dodopayments/models/customer.rbs +10 -0
  161. data/sig/dodopayments/models/customers/email_body.rbs +42 -0
  162. data/sig/dodopayments/models/customers/email_failure_code.rbs +30 -0
  163. data/sig/dodopayments/models/customers/email_list_params.rbs +38 -0
  164. data/sig/dodopayments/models/customers/email_log_item.rbs +82 -0
  165. data/sig/dodopayments/models/customers/email_log_status.rbs +20 -0
  166. data/sig/dodopayments/models/customers/email_policies.rbs +37 -0
  167. data/sig/dodopayments/models/customers/email_retrieve_body_params.rbs +30 -0
  168. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +2 -1
  169. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +2 -1
  170. data/sig/dodopayments/models/manual_retry.rbs +55 -0
  171. data/sig/dodopayments/models/manual_retry_state.rbs +40 -0
  172. data/sig/dodopayments/models/payment_retrieve_retry_state_params.rbs +23 -0
  173. data/sig/dodopayments/models/payment_retry_params.rbs +23 -0
  174. data/sig/dodopayments/models/price.rbs +52 -17
  175. data/sig/dodopayments/models/subscription.rbs +5 -0
  176. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +16 -4
  177. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +16 -4
  178. data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
  179. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +16 -4
  180. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +16 -4
  181. data/sig/dodopayments/models/subscription_list_params.rbs +2 -0
  182. data/sig/dodopayments/models/subscription_list_response.rbs +5 -0
  183. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +16 -4
  184. data/sig/dodopayments/models/subscription_past_due_webhook_event.rbs +47 -0
  185. data/sig/dodopayments/models/subscription_paused_webhook_event.rbs +16 -4
  186. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +16 -4
  187. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +16 -4
  188. data/sig/dodopayments/models/subscription_status.rbs +9 -1
  189. data/sig/dodopayments/models/subscription_unpaused_webhook_event.rbs +16 -4
  190. data/sig/dodopayments/models/subscription_update_params.rbs +2 -0
  191. data/sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs +16 -4
  192. data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +16 -4
  193. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +1 -0
  194. data/sig/dodopayments/models/unwrap_webhook_event.rbs +1 -0
  195. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  196. data/sig/dodopayments/models/webhook_payload.rbs +16 -4
  197. data/sig/dodopayments/models.rbs +12 -0
  198. data/sig/dodopayments/resources/blocklist/customers/notes.rbs +24 -0
  199. data/sig/dodopayments/resources/blocklist/customers.rbs +36 -0
  200. data/sig/dodopayments/resources/blocklist.rbs +9 -0
  201. data/sig/dodopayments/resources/customers/emails.rbs +22 -0
  202. data/sig/dodopayments/resources/customers.rbs +2 -0
  203. data/sig/dodopayments/resources/payments.rbs +10 -0
  204. data/sig/dodopayments/resources/webhooks.rbs +2 -0
  205. metadata +92 -2
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class SubscriptionPastDueWebhookEvent < 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
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
15
+ #
16
+ # @return [Dodopayments::Models::SubscriptionPastDueWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionPastDueWebhookEvent::Data }
18
+
19
+ # @!attribute timestamp
20
+ # The timestamp of when the event occurred
21
+ #
22
+ # @return [Time]
23
+ required :timestamp, Time
24
+
25
+ # @!attribute type
26
+ # The event type
27
+ #
28
+ # @return [Symbol, :"subscription.past_due"]
29
+ required :type, const: :"subscription.past_due"
30
+
31
+ # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.past_due")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionPastDueWebhookEvent} for more details.
34
+ #
35
+ # @param business_id [String] The business identifier
36
+ #
37
+ # @param data [Dodopayments::Models::SubscriptionPastDueWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
38
+ #
39
+ # @param timestamp [Time] The timestamp of when the event occurred
40
+ #
41
+ # @param type [Symbol, :"subscription.past_due"] The event type
42
+
43
+ # @see Dodopayments::Models::SubscriptionPastDueWebhookEvent#data
44
+ class Data < Dodopayments::Models::Subscription
45
+ # @!attribute past_due_ends_at
46
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
47
+ # `cancelled` at this time.
48
+ #
49
+ # Read in the same query as the rest of the payload, so it always comes from the
50
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
51
+ # a window at that moment. A delayed event of another type therefore carries the
52
+ # deadline too, next to a `past_due` status.
53
+ #
54
+ # @return [Time, nil]
55
+ optional :past_due_ends_at, Time, nil?: true
56
+
57
+ # @!method initialize(past_due_ends_at: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Dodopayments::Models::SubscriptionPastDueWebhookEvent::Data} for more details.
60
+ #
61
+ # Subscription payload sent on a webhook. It carries every field of
62
+ # `SubscriptionResponse`, plus the grace-period deadline.
63
+ #
64
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
65
+ end
66
+ end
67
+ end
68
+ end
@@ -10,10 +10,11 @@ module Dodopayments
10
10
  required :business_id, String
11
11
 
12
12
  # @!attribute data
13
- # Response struct representing subscription details
13
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
14
15
  #
15
- # @return [Dodopayments::Models::Subscription]
16
- required :data, -> { Dodopayments::Subscription }
16
+ # @return [Dodopayments::Models::SubscriptionPausedWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionPausedWebhookEvent::Data }
17
18
 
18
19
  # @!attribute timestamp
19
20
  # The timestamp of when the event occurred
@@ -28,13 +29,40 @@ module Dodopayments
28
29
  required :type, const: :"subscription.paused"
29
30
 
30
31
  # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.paused")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionPausedWebhookEvent} for more details.
34
+ #
31
35
  # @param business_id [String] The business identifier
32
36
  #
33
- # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
37
+ # @param data [Dodopayments::Models::SubscriptionPausedWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
34
38
  #
35
39
  # @param timestamp [Time] The timestamp of when the event occurred
36
40
  #
37
41
  # @param type [Symbol, :"subscription.paused"] The event type
42
+
43
+ # @see Dodopayments::Models::SubscriptionPausedWebhookEvent#data
44
+ class Data < Dodopayments::Models::Subscription
45
+ # @!attribute past_due_ends_at
46
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
47
+ # `cancelled` at this time.
48
+ #
49
+ # Read in the same query as the rest of the payload, so it always comes from the
50
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
51
+ # a window at that moment. A delayed event of another type therefore carries the
52
+ # deadline too, next to a `past_due` status.
53
+ #
54
+ # @return [Time, nil]
55
+ optional :past_due_ends_at, Time, nil?: true
56
+
57
+ # @!method initialize(past_due_ends_at: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Dodopayments::Models::SubscriptionPausedWebhookEvent::Data} for more details.
60
+ #
61
+ # Subscription payload sent on a webhook. It carries every field of
62
+ # `SubscriptionResponse`, plus the grace-period deadline.
63
+ #
64
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
65
+ end
38
66
  end
39
67
  end
40
68
  end
@@ -10,10 +10,11 @@ module Dodopayments
10
10
  required :business_id, String
11
11
 
12
12
  # @!attribute data
13
- # Response struct representing subscription details
13
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
14
15
  #
15
- # @return [Dodopayments::Models::Subscription]
16
- required :data, -> { Dodopayments::Subscription }
16
+ # @return [Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionPlanChangedWebhookEvent::Data }
17
18
 
18
19
  # @!attribute timestamp
19
20
  # The timestamp of when the event occurred
@@ -28,13 +29,41 @@ module Dodopayments
28
29
  required :type, const: :"subscription.plan_changed"
29
30
 
30
31
  # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.plan_changed")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionPlanChangedWebhookEvent} for more details.
34
+ #
31
35
  # @param business_id [String] The business identifier
32
36
  #
33
- # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
37
+ # @param data [Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
34
38
  #
35
39
  # @param timestamp [Time] The timestamp of when the event occurred
36
40
  #
37
41
  # @param type [Symbol, :"subscription.plan_changed"] The event type
42
+
43
+ # @see Dodopayments::Models::SubscriptionPlanChangedWebhookEvent#data
44
+ class Data < Dodopayments::Models::Subscription
45
+ # @!attribute past_due_ends_at
46
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
47
+ # `cancelled` at this time.
48
+ #
49
+ # Read in the same query as the rest of the payload, so it always comes from the
50
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
51
+ # a window at that moment. A delayed event of another type therefore carries the
52
+ # deadline too, next to a `past_due` status.
53
+ #
54
+ # @return [Time, nil]
55
+ optional :past_due_ends_at, Time, nil?: true
56
+
57
+ # @!method initialize(past_due_ends_at: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::Data} for more
60
+ # details.
61
+ #
62
+ # Subscription payload sent on a webhook. It carries every field of
63
+ # `SubscriptionResponse`, plus the grace-period deadline.
64
+ #
65
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
66
+ end
38
67
  end
39
68
  end
40
69
  end
@@ -10,10 +10,11 @@ module Dodopayments
10
10
  required :business_id, String
11
11
 
12
12
  # @!attribute data
13
- # Response struct representing subscription details
13
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
14
15
  #
15
- # @return [Dodopayments::Models::Subscription]
16
- required :data, -> { Dodopayments::Subscription }
16
+ # @return [Dodopayments::Models::SubscriptionRenewedWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionRenewedWebhookEvent::Data }
17
18
 
18
19
  # @!attribute timestamp
19
20
  # The timestamp of when the event occurred
@@ -28,13 +29,40 @@ module Dodopayments
28
29
  required :type, const: :"subscription.renewed"
29
30
 
30
31
  # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.renewed")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionRenewedWebhookEvent} for more details.
34
+ #
31
35
  # @param business_id [String] The business identifier
32
36
  #
33
- # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
37
+ # @param data [Dodopayments::Models::SubscriptionRenewedWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
34
38
  #
35
39
  # @param timestamp [Time] The timestamp of when the event occurred
36
40
  #
37
41
  # @param type [Symbol, :"subscription.renewed"] The event type
42
+
43
+ # @see Dodopayments::Models::SubscriptionRenewedWebhookEvent#data
44
+ class Data < Dodopayments::Models::Subscription
45
+ # @!attribute past_due_ends_at
46
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
47
+ # `cancelled` at this time.
48
+ #
49
+ # Read in the same query as the rest of the payload, so it always comes from the
50
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
51
+ # a window at that moment. A delayed event of another type therefore carries the
52
+ # deadline too, next to a `past_due` status.
53
+ #
54
+ # @return [Time, nil]
55
+ optional :past_due_ends_at, Time, nil?: true
56
+
57
+ # @!method initialize(past_due_ends_at: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Dodopayments::Models::SubscriptionRenewedWebhookEvent::Data} for more details.
60
+ #
61
+ # Subscription payload sent on a webhook. It carries every field of
62
+ # `SubscriptionResponse`, plus the grace-period deadline.
63
+ #
64
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
65
+ end
38
66
  end
39
67
  end
40
68
  end
@@ -12,6 +12,7 @@ module Dodopayments
12
12
  CANCELLED = :cancelled
13
13
  FAILED = :failed
14
14
  EXPIRED = :expired
15
+ PAST_DUE = :past_due
15
16
 
16
17
  # @!method self.values
17
18
  # @return [Array<Symbol>]
@@ -10,10 +10,11 @@ module Dodopayments
10
10
  required :business_id, String
11
11
 
12
12
  # @!attribute data
13
- # Response struct representing subscription details
13
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
14
15
  #
15
- # @return [Dodopayments::Models::Subscription]
16
- required :data, -> { Dodopayments::Subscription }
16
+ # @return [Dodopayments::Models::SubscriptionUnpausedWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionUnpausedWebhookEvent::Data }
17
18
 
18
19
  # @!attribute timestamp
19
20
  # The timestamp of when the event occurred
@@ -28,13 +29,40 @@ module Dodopayments
28
29
  required :type, const: :"subscription.unpaused"
29
30
 
30
31
  # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.unpaused")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionUnpausedWebhookEvent} for more details.
34
+ #
31
35
  # @param business_id [String] The business identifier
32
36
  #
33
- # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
37
+ # @param data [Dodopayments::Models::SubscriptionUnpausedWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
34
38
  #
35
39
  # @param timestamp [Time] The timestamp of when the event occurred
36
40
  #
37
41
  # @param type [Symbol, :"subscription.unpaused"] The event type
42
+
43
+ # @see Dodopayments::Models::SubscriptionUnpausedWebhookEvent#data
44
+ class Data < Dodopayments::Models::Subscription
45
+ # @!attribute past_due_ends_at
46
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
47
+ # `cancelled` at this time.
48
+ #
49
+ # Read in the same query as the rest of the payload, so it always comes from the
50
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
51
+ # a window at that moment. A delayed event of another type therefore carries the
52
+ # deadline too, next to a `past_due` status.
53
+ #
54
+ # @return [Time, nil]
55
+ optional :past_due_ends_at, Time, nil?: true
56
+
57
+ # @!method initialize(past_due_ends_at: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Dodopayments::Models::SubscriptionUnpausedWebhookEvent::Data} for more details.
60
+ #
61
+ # Subscription payload sent on a webhook. It carries every field of
62
+ # `SubscriptionResponse`, plus the grace-period deadline.
63
+ #
64
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
65
+ end
38
66
  end
39
67
  end
40
68
  end
@@ -176,6 +176,7 @@ module Dodopayments
176
176
  CANCELLED_BY_CUSTOMER = :cancelled_by_customer
177
177
  CANCELLED_BY_MERCHANT = :cancelled_by_merchant
178
178
  CANCELLED_BY_MERCHANT_SEND_DUNNING = :cancelled_by_merchant_send_dunning
179
+ CANCELLED_BY_MERCHANT_GRACE_PERIOD_EXPIRED = :cancelled_by_merchant_grace_period_expired
179
180
  DODO_TEAM = :dodo_team
180
181
 
181
182
  # @!method self.values
@@ -10,10 +10,11 @@ module Dodopayments
10
10
  required :business_id, String
11
11
 
12
12
  # @!attribute data
13
- # Response struct representing subscription details
13
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
14
15
  #
15
- # @return [Dodopayments::Models::Subscription]
16
- required :data, -> { Dodopayments::Subscription }
16
+ # @return [Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent::Data }
17
18
 
18
19
  # @!attribute timestamp
19
20
  # The timestamp of when the event occurred
@@ -28,13 +29,42 @@ module Dodopayments
28
29
  required :type, const: :"subscription.update_payment_method"
29
30
 
30
31
  # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.update_payment_method")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent} for more
34
+ # details.
35
+ #
31
36
  # @param business_id [String] The business identifier
32
37
  #
33
- # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
38
+ # @param data [Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
34
39
  #
35
40
  # @param timestamp [Time] The timestamp of when the event occurred
36
41
  #
37
42
  # @param type [Symbol, :"subscription.update_payment_method"] The event type
43
+
44
+ # @see Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent#data
45
+ class Data < Dodopayments::Models::Subscription
46
+ # @!attribute past_due_ends_at
47
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
48
+ # `cancelled` at this time.
49
+ #
50
+ # Read in the same query as the rest of the payload, so it always comes from the
51
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
52
+ # a window at that moment. A delayed event of another type therefore carries the
53
+ # deadline too, next to a `past_due` status.
54
+ #
55
+ # @return [Time, nil]
56
+ optional :past_due_ends_at, Time, nil?: true
57
+
58
+ # @!method initialize(past_due_ends_at: nil)
59
+ # Some parameter documentations has been truncated, see
60
+ # {Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent::Data} for
61
+ # more details.
62
+ #
63
+ # Subscription payload sent on a webhook. It carries every field of
64
+ # `SubscriptionResponse`, plus the grace-period deadline.
65
+ #
66
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
67
+ end
38
68
  end
39
69
  end
40
70
  end
@@ -10,10 +10,11 @@ module Dodopayments
10
10
  required :business_id, String
11
11
 
12
12
  # @!attribute data
13
- # Response struct representing subscription details
13
+ # Subscription payload sent on a webhook. It carries every field of
14
+ # `SubscriptionResponse`, plus the grace-period deadline.
14
15
  #
15
- # @return [Dodopayments::Models::Subscription]
16
- required :data, -> { Dodopayments::Subscription }
16
+ # @return [Dodopayments::Models::SubscriptionUpdatedWebhookEvent::Data]
17
+ required :data, -> { Dodopayments::SubscriptionUpdatedWebhookEvent::Data }
17
18
 
18
19
  # @!attribute timestamp
19
20
  # The timestamp of when the event occurred
@@ -28,13 +29,40 @@ module Dodopayments
28
29
  required :type, const: :"subscription.updated"
29
30
 
30
31
  # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.updated")
32
+ # Some parameter documentations has been truncated, see
33
+ # {Dodopayments::Models::SubscriptionUpdatedWebhookEvent} for more details.
34
+ #
31
35
  # @param business_id [String] The business identifier
32
36
  #
33
- # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
37
+ # @param data [Dodopayments::Models::SubscriptionUpdatedWebhookEvent::Data] Subscription payload sent on a webhook. It carries every field of
34
38
  #
35
39
  # @param timestamp [Time] The timestamp of when the event occurred
36
40
  #
37
41
  # @param type [Symbol, :"subscription.updated"] The event type
42
+
43
+ # @see Dodopayments::Models::SubscriptionUpdatedWebhookEvent#data
44
+ class Data < Dodopayments::Models::Subscription
45
+ # @!attribute past_due_ends_at
46
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
47
+ # `cancelled` at this time.
48
+ #
49
+ # Read in the same query as the rest of the payload, so it always comes from the
50
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
51
+ # a window at that moment. A delayed event of another type therefore carries the
52
+ # deadline too, next to a `past_due` status.
53
+ #
54
+ # @return [Time, nil]
55
+ optional :past_due_ends_at, Time, nil?: true
56
+
57
+ # @!method initialize(past_due_ends_at: nil)
58
+ # Some parameter documentations has been truncated, see
59
+ # {Dodopayments::Models::SubscriptionUpdatedWebhookEvent::Data} for more details.
60
+ #
61
+ # Subscription payload sent on a webhook. It carries every field of
62
+ # `SubscriptionResponse`, plus the grace-period deadline.
63
+ #
64
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
65
+ end
38
66
  end
39
67
  end
40
68
  end
@@ -89,6 +89,8 @@ module Dodopayments
89
89
 
90
90
  variant :"subscription.on_hold", -> { Dodopayments::SubscriptionOnHoldWebhookEvent }
91
91
 
92
+ variant :"subscription.past_due", -> { Dodopayments::SubscriptionPastDueWebhookEvent }
93
+
92
94
  variant :"subscription.paused", -> { Dodopayments::SubscriptionPausedWebhookEvent }
93
95
 
94
96
  variant :"subscription.plan_changed", -> { Dodopayments::SubscriptionPlanChangedWebhookEvent }
@@ -103,7 +105,7 @@ module Dodopayments
103
105
  variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
104
106
 
105
107
  # @!method self.variants
106
- # @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::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
108
+ # @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::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPastDueWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
107
109
  end
108
110
  end
109
111
  end
@@ -89,6 +89,8 @@ module Dodopayments
89
89
 
90
90
  variant :"subscription.on_hold", -> { Dodopayments::SubscriptionOnHoldWebhookEvent }
91
91
 
92
+ variant :"subscription.past_due", -> { Dodopayments::SubscriptionPastDueWebhookEvent }
93
+
92
94
  variant :"subscription.paused", -> { Dodopayments::SubscriptionPausedWebhookEvent }
93
95
 
94
96
  variant :"subscription.plan_changed", -> { Dodopayments::SubscriptionPlanChangedWebhookEvent }
@@ -103,7 +105,7 @@ module Dodopayments
103
105
  variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
104
106
 
105
107
  # @!method self.variants
106
- # @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::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
108
+ # @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::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPastDueWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
107
109
  end
108
110
  end
109
111
  end
@@ -22,6 +22,7 @@ module Dodopayments
22
22
  SUBSCRIPTION_ACTIVE = :"subscription.active"
23
23
  SUBSCRIPTION_RENEWED = :"subscription.renewed"
24
24
  SUBSCRIPTION_ON_HOLD = :"subscription.on_hold"
25
+ SUBSCRIPTION_PAST_DUE = :"subscription.past_due"
25
26
  SUBSCRIPTION_PAUSED = :"subscription.paused"
26
27
  SUBSCRIPTION_UNPAUSED = :"subscription.unpaused"
27
28
  SUBSCRIPTION_CANCELLED = :"subscription.cancelled"
@@ -89,9 +89,26 @@ module Dodopayments
89
89
  # @return [Symbol, :Subscription]
90
90
  required :payload_type, const: :Subscription
91
91
 
92
- # @!method initialize(payload_type: :Subscription)
92
+ # @!attribute past_due_ends_at
93
+ # Time when the grace period ends. The subscription moves to `on_hold` or to
94
+ # `cancelled` at this time.
95
+ #
96
+ # Read in the same query as the rest of the payload, so it always comes from the
97
+ # row snapshot that produced `status`. It is set whenever the subscription sits in
98
+ # a window at that moment. A delayed event of another type therefore carries the
99
+ # deadline too, next to a `past_due` status.
100
+ #
101
+ # @return [Time, nil]
102
+ optional :past_due_ends_at, Time, nil?: true
103
+
104
+ # @!method initialize(past_due_ends_at: nil, payload_type: :Subscription)
105
+ # Some parameter documentations has been truncated, see
106
+ # {Dodopayments::Models::WebhookPayload::Data::Subscription} for more details.
107
+ #
93
108
  # Response struct representing subscription details
94
109
  #
110
+ # @param past_due_ends_at [Time, nil] Time when the grace period ends. The subscription moves to `on_hold` or
111
+ #
95
112
  # @param payload_type [Symbol, :Subscription]
96
113
  end
97
114
 
@@ -529,6 +546,7 @@ module Dodopayments
529
546
 
530
547
  ON_HOLD = :on_hold
531
548
  CANCELLED = :cancelled
549
+ PAST_DUE = :past_due
532
550
 
533
551
  # @!method self.values
534
552
  # @return [Array<Symbol>]
@@ -73,6 +73,8 @@ module Dodopayments
73
73
 
74
74
  BillingAddress = Dodopayments::Models::BillingAddress
75
75
 
76
+ Blocklist = Dodopayments::Models::Blocklist
77
+
76
78
  Brand = Dodopayments::Models::Brand
77
79
 
78
80
  BrandArchiveParams = Dodopayments::Models::BrandArchiveParams
@@ -317,6 +319,10 @@ module Dodopayments
317
319
 
318
320
  LicenseValidateParams = Dodopayments::Models::LicenseValidateParams
319
321
 
322
+ ManualRetry = Dodopayments::Models::ManualRetry
323
+
324
+ ManualRetryState = Dodopayments::Models::ManualRetryState
325
+
320
326
  # @type [Dodopayments::Internal::Type::Converter]
321
327
  Metadata = Dodopayments::Models::Metadata
322
328
 
@@ -370,6 +376,10 @@ module Dodopayments
370
376
 
371
377
  PaymentRetrieveParams = Dodopayments::Models::PaymentRetrieveParams
372
378
 
379
+ PaymentRetrieveRetryStateParams = Dodopayments::Models::PaymentRetrieveRetryStateParams
380
+
381
+ PaymentRetryParams = Dodopayments::Models::PaymentRetryParams
382
+
373
383
  PaymentSucceededWebhookEvent = Dodopayments::Models::PaymentSucceededWebhookEvent
374
384
 
375
385
  PayoutCreatedWebhookEvent = Dodopayments::Models::PayoutCreatedWebhookEvent
@@ -470,6 +480,8 @@ module Dodopayments
470
480
 
471
481
  SubscriptionOnHoldWebhookEvent = Dodopayments::Models::SubscriptionOnHoldWebhookEvent
472
482
 
483
+ SubscriptionPastDueWebhookEvent = Dodopayments::Models::SubscriptionPastDueWebhookEvent
484
+
473
485
  SubscriptionPausedWebhookEvent = Dodopayments::Models::SubscriptionPausedWebhookEvent
474
486
 
475
487
  SubscriptionPlanChangedWebhookEvent = Dodopayments::Models::SubscriptionPlanChangedWebhookEvent
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Blocklist
6
+ class Customers
7
+ class Notes
8
+ # @overload create(entry_id, note:, request_options: {})
9
+ #
10
+ # @param entry_id [String] Blocklist entry id
11
+ #
12
+ # @param note [String]
13
+ #
14
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
15
+ #
16
+ # @return [Dodopayments::Models::Blocklist::Customers::BlockedCustomerNote]
17
+ #
18
+ # @see Dodopayments::Models::Blocklist::Customers::NoteCreateParams
19
+ def create(entry_id, params)
20
+ parsed, options = Dodopayments::Blocklist::Customers::NoteCreateParams.dump_request(params)
21
+ @client.request(
22
+ method: :post,
23
+ path: ["blocklist/customers/%1$s/notes", entry_id],
24
+ body: parsed,
25
+ model: Dodopayments::Blocklist::Customers::BlockedCustomerNote,
26
+ options: options
27
+ )
28
+ end
29
+
30
+ # @overload update(note_id, entry_id:, note:, request_options: {})
31
+ #
32
+ # @param note_id [String] Path param: Note id
33
+ #
34
+ # @param entry_id [String] Path param: Blocklist entry id
35
+ #
36
+ # @param note [String] Body param
37
+ #
38
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
39
+ #
40
+ # @return [Dodopayments::Models::Blocklist::Customers::BlockedCustomerNote]
41
+ #
42
+ # @see Dodopayments::Models::Blocklist::Customers::NoteUpdateParams
43
+ def update(note_id, params)
44
+ parsed, options = Dodopayments::Blocklist::Customers::NoteUpdateParams.dump_request(params)
45
+ entry_id =
46
+ parsed.delete(:entry_id) do
47
+ raise ArgumentError.new("missing required path argument #{_1}")
48
+ end
49
+ @client.request(
50
+ method: :patch,
51
+ path: ["blocklist/customers/%1$s/notes/%2$s", entry_id, note_id],
52
+ body: parsed,
53
+ model: Dodopayments::Blocklist::Customers::BlockedCustomerNote,
54
+ options: options
55
+ )
56
+ end
57
+
58
+ # @api private
59
+ #
60
+ # @param client [Dodopayments::Client]
61
+ def initialize(client:)
62
+ @client = client
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end