dodopayments 2.26.0 → 2.27.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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/models/balance_ledger_entry.rb +7 -1
  6. data/lib/dodopayments/models/blocklist/block_by_customer_id.rb +18 -0
  7. data/lib/dodopayments/models/blocklist/block_by_email.rb +18 -0
  8. data/lib/dodopayments/models/blocklist/block_identifier.rb +21 -0
  9. data/lib/dodopayments/models/blocklist/blocked_customer.rb +128 -0
  10. data/lib/dodopayments/models/blocklist/blocked_customer_source.rb +22 -0
  11. data/lib/dodopayments/models/blocklist/create_blocked_customer_request.rb +66 -0
  12. data/lib/dodopayments/models/blocklist/customer_create_params.rb +16 -0
  13. data/lib/dodopayments/models/blocklist/customer_delete_params.rb +22 -0
  14. data/lib/dodopayments/models/blocklist/customer_list_params.rb +64 -0
  15. data/lib/dodopayments/models/blocklist/customer_retrieve_params.rb +22 -0
  16. data/lib/dodopayments/models/blocklist/customers/blocked_customer_note.rb +44 -0
  17. data/lib/dodopayments/models/blocklist/customers/note_create_params.rb +24 -0
  18. data/lib/dodopayments/models/blocklist/customers/note_request.rb +19 -0
  19. data/lib/dodopayments/models/blocklist/customers/note_update_params.rb +30 -0
  20. data/lib/dodopayments/models/customer.rb +22 -1
  21. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +1 -0
  22. data/lib/dodopayments/models/dunning_started_webhook_event.rb +1 -0
  23. data/lib/dodopayments/models/manual_retry.rb +76 -0
  24. data/lib/dodopayments/models/manual_retry_state.rb +50 -0
  25. data/lib/dodopayments/models/payment_retrieve_retry_state_params.rb +20 -0
  26. data/lib/dodopayments/models/payment_retry_params.rb +20 -0
  27. data/lib/dodopayments/models/subscription_active_webhook_event.rb +32 -4
  28. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +33 -4
  29. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +32 -4
  30. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +32 -4
  31. data/lib/dodopayments/models/subscription_list_params.rb +1 -0
  32. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +32 -4
  33. data/lib/dodopayments/models/subscription_past_due_webhook_event.rb +68 -0
  34. data/lib/dodopayments/models/subscription_paused_webhook_event.rb +32 -4
  35. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +33 -4
  36. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +32 -4
  37. data/lib/dodopayments/models/subscription_status.rb +1 -0
  38. data/lib/dodopayments/models/subscription_unpaused_webhook_event.rb +32 -4
  39. data/lib/dodopayments/models/subscription_update_params.rb +1 -0
  40. data/lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb +34 -4
  41. data/lib/dodopayments/models/subscription_updated_webhook_event.rb +32 -4
  42. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +3 -1
  43. data/lib/dodopayments/models/unwrap_webhook_event.rb +3 -1
  44. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  45. data/lib/dodopayments/models/webhook_payload.rb +19 -1
  46. data/lib/dodopayments/models.rb +12 -0
  47. data/lib/dodopayments/resources/blocklist/customers/notes.rb +68 -0
  48. data/lib/dodopayments/resources/blocklist/customers.rb +107 -0
  49. data/lib/dodopayments/resources/blocklist.rb +18 -0
  50. data/lib/dodopayments/resources/payments.rb +36 -0
  51. data/lib/dodopayments/resources/webhooks.rb +2 -2
  52. data/lib/dodopayments/version.rb +1 -1
  53. data/lib/dodopayments.rb +23 -1
  54. data/rbi/dodopayments/client.rbi +3 -0
  55. data/rbi/dodopayments/models/balance_ledger_entry.rbi +6 -0
  56. data/rbi/dodopayments/models/blocklist/block_by_customer_id.rbi +32 -0
  57. data/rbi/dodopayments/models/blocklist/block_by_email.rbi +32 -0
  58. data/rbi/dodopayments/models/blocklist/block_identifier.rbi +30 -0
  59. data/rbi/dodopayments/models/blocklist/blocked_customer.rbi +161 -0
  60. data/rbi/dodopayments/models/blocklist/blocked_customer_source.rbi +55 -0
  61. data/rbi/dodopayments/models/blocklist/create_blocked_customer_request.rbi +143 -0
  62. data/rbi/dodopayments/models/blocklist/customer_create_params.rbi +34 -0
  63. data/rbi/dodopayments/models/blocklist/customer_delete_params.rbi +40 -0
  64. data/rbi/dodopayments/models/blocklist/customer_list_params.rbi +88 -0
  65. data/rbi/dodopayments/models/blocklist/customer_retrieve_params.rbi +40 -0
  66. data/rbi/dodopayments/models/blocklist/customers/blocked_customer_note.rbi +66 -0
  67. data/rbi/dodopayments/models/blocklist/customers/note_create_params.rbi +45 -0
  68. data/rbi/dodopayments/models/blocklist/customers/note_request.rbi +30 -0
  69. data/rbi/dodopayments/models/blocklist/customers/note_update_params.rbi +50 -0
  70. data/rbi/dodopayments/models/customer.rbi +20 -0
  71. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +5 -0
  72. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +5 -0
  73. data/rbi/dodopayments/models/manual_retry.rbi +93 -0
  74. data/rbi/dodopayments/models/manual_retry_state.rbi +65 -0
  75. data/rbi/dodopayments/models/payment_retrieve_retry_state_params.rbi +38 -0
  76. data/rbi/dodopayments/models/payment_retry_params.rbi +38 -0
  77. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +53 -6
  78. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +53 -6
  79. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +53 -6
  80. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +53 -6
  81. data/rbi/dodopayments/models/subscription_list_params.rbi +5 -0
  82. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +53 -6
  83. data/rbi/dodopayments/models/subscription_past_due_webhook_event.rbi +114 -0
  84. data/rbi/dodopayments/models/subscription_paused_webhook_event.rbi +53 -6
  85. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +53 -6
  86. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +53 -6
  87. data/rbi/dodopayments/models/subscription_status.rbi +2 -0
  88. data/rbi/dodopayments/models/subscription_unpaused_webhook_event.rbi +53 -6
  89. data/rbi/dodopayments/models/subscription_update_params.rbi +5 -0
  90. data/rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi +58 -6
  91. data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +53 -6
  92. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +1 -0
  93. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +1 -0
  94. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  95. data/rbi/dodopayments/models/webhook_payload.rbi +37 -3
  96. data/rbi/dodopayments/models.rbi +14 -0
  97. data/rbi/dodopayments/resources/blocklist/customers/notes.rbi +50 -0
  98. data/rbi/dodopayments/resources/blocklist/customers.rbi +88 -0
  99. data/rbi/dodopayments/resources/blocklist.rbi +15 -0
  100. data/rbi/dodopayments/resources/payments.rbi +26 -0
  101. data/rbi/dodopayments/resources/webhooks.rbi +2 -0
  102. data/sig/dodopayments/client.rbs +2 -0
  103. data/sig/dodopayments/models/balance_ledger_entry.rbs +5 -0
  104. data/sig/dodopayments/models/blocklist/block_by_customer_id.rbs +15 -0
  105. data/sig/dodopayments/models/blocklist/block_by_email.rbs +15 -0
  106. data/sig/dodopayments/models/blocklist/block_identifier.rbs +15 -0
  107. data/sig/dodopayments/models/blocklist/blocked_customer.rbs +87 -0
  108. data/sig/dodopayments/models/blocklist/blocked_customer_source.rbs +20 -0
  109. data/sig/dodopayments/models/blocklist/create_blocked_customer_request.rbs +71 -0
  110. data/sig/dodopayments/models/blocklist/customer_create_params.rbs +17 -0
  111. data/sig/dodopayments/models/blocklist/customer_delete_params.rbs +25 -0
  112. data/sig/dodopayments/models/blocklist/customer_list_params.rbs +53 -0
  113. data/sig/dodopayments/models/blocklist/customer_retrieve_params.rbs +25 -0
  114. data/sig/dodopayments/models/blocklist/customers/blocked_customer_note.rbs +44 -0
  115. data/sig/dodopayments/models/blocklist/customers/note_create_params.rbs +30 -0
  116. data/sig/dodopayments/models/blocklist/customers/note_request.rbs +17 -0
  117. data/sig/dodopayments/models/blocklist/customers/note_update_params.rbs +36 -0
  118. data/sig/dodopayments/models/customer.rbs +10 -0
  119. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +2 -1
  120. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +2 -1
  121. data/sig/dodopayments/models/manual_retry.rbs +55 -0
  122. data/sig/dodopayments/models/manual_retry_state.rbs +40 -0
  123. data/sig/dodopayments/models/payment_retrieve_retry_state_params.rbs +23 -0
  124. data/sig/dodopayments/models/payment_retry_params.rbs +23 -0
  125. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +16 -4
  126. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +16 -4
  127. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +16 -4
  128. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +16 -4
  129. data/sig/dodopayments/models/subscription_list_params.rbs +2 -0
  130. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +16 -4
  131. data/sig/dodopayments/models/subscription_past_due_webhook_event.rbs +47 -0
  132. data/sig/dodopayments/models/subscription_paused_webhook_event.rbs +16 -4
  133. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +16 -4
  134. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +16 -4
  135. data/sig/dodopayments/models/subscription_status.rbs +9 -1
  136. data/sig/dodopayments/models/subscription_unpaused_webhook_event.rbs +16 -4
  137. data/sig/dodopayments/models/subscription_update_params.rbs +2 -0
  138. data/sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs +16 -4
  139. data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +16 -4
  140. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +1 -0
  141. data/sig/dodopayments/models/unwrap_webhook_event.rbs +1 -0
  142. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  143. data/sig/dodopayments/models/webhook_payload.rbs +16 -4
  144. data/sig/dodopayments/models.rbs +12 -0
  145. data/sig/dodopayments/resources/blocklist/customers/notes.rbs +24 -0
  146. data/sig/dodopayments/resources/blocklist/customers.rbs +36 -0
  147. data/sig/dodopayments/resources/blocklist.rbs +9 -0
  148. data/sig/dodopayments/resources/payments.rbs +10 -0
  149. data/sig/dodopayments/resources/webhooks.rbs +2 -0
  150. metadata +68 -2
@@ -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
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Blocklist
6
+ class Customers
7
+ # @return [Dodopayments::Resources::Blocklist::Customers::Notes]
8
+ attr_reader :notes
9
+
10
+ # @overload create(create_blocked_customer_request:, request_options: {})
11
+ #
12
+ # @param create_blocked_customer_request [Dodopayments::Models::Blocklist::CreateBlockedCustomerRequest::BlocklistCustomersBlockByCustomerID, Dodopayments::Models::Blocklist::CreateBlockedCustomerRequest::BlocklistCustomersBlockByEmail]
13
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
14
+ #
15
+ # @return [Dodopayments::Models::Blocklist::BlockedCustomer]
16
+ #
17
+ # @see Dodopayments::Models::Blocklist::CustomerCreateParams
18
+ def create(params)
19
+ parsed, options = Dodopayments::Blocklist::CustomerCreateParams.dump_request(params)
20
+ @client.request(
21
+ method: :post,
22
+ path: "blocklist/customers",
23
+ body: parsed[:create_blocked_customer_request],
24
+ model: Dodopayments::Blocklist::BlockedCustomer,
25
+ options: options
26
+ )
27
+ end
28
+
29
+ # @overload retrieve(entry_id, request_options: {})
30
+ #
31
+ # @param entry_id [String] Blocklist entry id
32
+ #
33
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
34
+ #
35
+ # @return [Dodopayments::Models::Blocklist::BlockedCustomer]
36
+ #
37
+ # @see Dodopayments::Models::Blocklist::CustomerRetrieveParams
38
+ def retrieve(entry_id, params = {})
39
+ @client.request(
40
+ method: :get,
41
+ path: ["blocklist/customers/%1$s", entry_id],
42
+ model: Dodopayments::Blocklist::BlockedCustomer,
43
+ options: params[:request_options]
44
+ )
45
+ end
46
+
47
+ # @overload list(blocked_by_email: nil, created_at_gte: nil, created_at_lte: nil, identifier: nil, page_number: nil, page_size: nil, request_options: {})
48
+ #
49
+ # @param blocked_by_email [String, nil] Filter by the dashboard user who blocked the customer.
50
+ #
51
+ # @param created_at_gte [Time, nil] Blocked on or after this time.
52
+ #
53
+ # @param created_at_lte [Time, nil] Blocked on or before this time.
54
+ #
55
+ # @param identifier [String, nil] Partial, case-insensitive match on the email and on the customer id.
56
+ #
57
+ # @param page_number [Integer, nil] Page number. Default 0.
58
+ #
59
+ # @param page_size [Integer, nil] Page size. Default 10, maximum 100.
60
+ #
61
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
62
+ #
63
+ # @return [Dodopayments::Internal::DefaultPageNumberPagination<Dodopayments::Models::Blocklist::BlockedCustomer>]
64
+ #
65
+ # @see Dodopayments::Models::Blocklist::CustomerListParams
66
+ def list(params = {})
67
+ parsed, options = Dodopayments::Blocklist::CustomerListParams.dump_request(params)
68
+ query = Dodopayments::Internal::Util.encode_query_params(parsed)
69
+ @client.request(
70
+ method: :get,
71
+ path: "blocklist/customers",
72
+ query: query,
73
+ page: Dodopayments::Internal::DefaultPageNumberPagination,
74
+ model: Dodopayments::Blocklist::BlockedCustomer,
75
+ options: options
76
+ )
77
+ end
78
+
79
+ # @overload delete(entry_id, request_options: {})
80
+ #
81
+ # @param entry_id [String] Blocklist entry id
82
+ #
83
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
84
+ #
85
+ # @return [nil]
86
+ #
87
+ # @see Dodopayments::Models::Blocklist::CustomerDeleteParams
88
+ def delete(entry_id, params = {})
89
+ @client.request(
90
+ method: :delete,
91
+ path: ["blocklist/customers/%1$s", entry_id],
92
+ model: NilClass,
93
+ options: params[:request_options]
94
+ )
95
+ end
96
+
97
+ # @api private
98
+ #
99
+ # @param client [Dodopayments::Client]
100
+ def initialize(client:)
101
+ @client = client
102
+ @notes = Dodopayments::Resources::Blocklist::Customers::Notes.new(client: client)
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Blocklist
6
+ # @return [Dodopayments::Resources::Blocklist::Customers]
7
+ attr_reader :customers
8
+
9
+ # @api private
10
+ #
11
+ # @param client [Dodopayments::Client]
12
+ def initialize(client:)
13
+ @client = client
14
+ @customers = Dodopayments::Resources::Blocklist::Customers.new(client: client)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -143,6 +143,42 @@ module Dodopayments
143
143
  )
144
144
  end
145
145
 
146
+ # @overload retrieve_retry_state(payment_id, request_options: {})
147
+ #
148
+ # @param payment_id [String] Id of the failed payment
149
+ #
150
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
151
+ #
152
+ # @return [Dodopayments::Models::ManualRetryState]
153
+ #
154
+ # @see Dodopayments::Models::PaymentRetrieveRetryStateParams
155
+ def retrieve_retry_state(payment_id, params = {})
156
+ @client.request(
157
+ method: :get,
158
+ path: ["payments/%1$s/retry", payment_id],
159
+ model: Dodopayments::ManualRetryState,
160
+ options: params[:request_options]
161
+ )
162
+ end
163
+
164
+ # @overload retry_(payment_id, request_options: {})
165
+ #
166
+ # @param payment_id [String] Id of the failed payment
167
+ #
168
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
169
+ #
170
+ # @return [Dodopayments::Models::ManualRetry]
171
+ #
172
+ # @see Dodopayments::Models::PaymentRetryParams
173
+ def retry_(payment_id, params = {})
174
+ @client.request(
175
+ method: :post,
176
+ path: ["payments/%1$s/retry", payment_id],
177
+ model: Dodopayments::ManualRetry,
178
+ options: params[:request_options]
179
+ )
180
+ end
181
+
146
182
  # @api private
147
183
  #
148
184
  # @param client [Dodopayments::Client]