dodopayments 2.20.1 → 2.22.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/models/checkout_session_preview_response.rb +30 -4
  5. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +4 -2
  6. data/lib/dodopayments/models/discount.rb +95 -3
  7. data/lib/dodopayments/models/discount_create_params.rb +110 -3
  8. data/lib/dodopayments/models/discount_list_params.rb +7 -2
  9. data/lib/dodopayments/models/discount_type.rb +1 -0
  10. data/lib/dodopayments/models/discount_update_params.rb +108 -3
  11. data/lib/dodopayments/models/payment.rb +4 -2
  12. data/lib/dodopayments/models/payment_list_params.rb +169 -3
  13. data/lib/dodopayments/models/payment_method_types.rb +0 -1
  14. data/lib/dodopayments/models/payout_created_webhook_event.rb +188 -0
  15. data/lib/dodopayments/models/payout_failed_webhook_event.rb +188 -0
  16. data/lib/dodopayments/models/payout_in_progress_webhook_event.rb +188 -0
  17. data/lib/dodopayments/models/payout_on_hold_webhook_event.rb +188 -0
  18. data/lib/dodopayments/models/payout_success_webhook_event.rb +188 -0
  19. data/lib/dodopayments/models/price.rb +19 -1
  20. data/lib/dodopayments/models/subscription.rb +11 -1
  21. data/lib/dodopayments/models/subscription_create_response.rb +10 -1
  22. data/lib/dodopayments/models/subscription_list_response.rb +11 -1
  23. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +11 -1
  24. data/lib/dodopayments/models/unwrap_webhook_event.rb +11 -1
  25. data/lib/dodopayments/models/webhook_event_type.rb +1 -1
  26. data/lib/dodopayments/models/webhook_payload.rb +160 -3
  27. data/lib/dodopayments/models.rb +10 -0
  28. data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -1
  29. data/lib/dodopayments/resources/discounts.rb +24 -5
  30. data/lib/dodopayments/resources/payments.rb +7 -2
  31. data/lib/dodopayments/resources/webhooks.rb +2 -2
  32. data/lib/dodopayments/version.rb +1 -1
  33. data/lib/dodopayments.rb +5 -0
  34. data/rbi/dodopayments/models/checkout_session_preview_response.rbi +33 -5
  35. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +6 -2
  36. data/rbi/dodopayments/models/discount.rbi +151 -2
  37. data/rbi/dodopayments/models/discount_create_params.rbi +197 -2
  38. data/rbi/dodopayments/models/discount_list_params.rbi +6 -2
  39. data/rbi/dodopayments/models/discount_type.rbi +1 -0
  40. data/rbi/dodopayments/models/discount_update_params.rbi +193 -2
  41. data/rbi/dodopayments/models/payment.rbi +6 -2
  42. data/rbi/dodopayments/models/payment_list_params.rbi +331 -2
  43. data/rbi/dodopayments/models/payment_method_types.rbi +0 -1
  44. data/rbi/dodopayments/models/payout_created_webhook_event.rbi +270 -0
  45. data/rbi/dodopayments/models/payout_failed_webhook_event.rbi +270 -0
  46. data/rbi/dodopayments/models/payout_in_progress_webhook_event.rbi +272 -0
  47. data/rbi/dodopayments/models/payout_on_hold_webhook_event.rbi +270 -0
  48. data/rbi/dodopayments/models/payout_success_webhook_event.rbi +270 -0
  49. data/rbi/dodopayments/models/price.rbi +20 -0
  50. data/rbi/dodopayments/models/subscription.rbi +15 -3
  51. data/rbi/dodopayments/models/subscription_create_response.rbi +13 -3
  52. data/rbi/dodopayments/models/subscription_list_response.rbi +15 -3
  53. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +5 -0
  54. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +5 -0
  55. data/rbi/dodopayments/models/webhook_event_type.rbi +2 -5
  56. data/rbi/dodopayments/models/webhook_payload.rbi +213 -0
  57. data/rbi/dodopayments/models.rbi +11 -0
  58. data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +3 -1
  59. data/rbi/dodopayments/resources/discounts.rbi +57 -3
  60. data/rbi/dodopayments/resources/payments.rbi +5 -1
  61. data/rbi/dodopayments/resources/webhooks.rbi +10 -0
  62. data/sig/dodopayments/models/checkout_session_preview_response.rbs +13 -3
  63. data/sig/dodopayments/models/discount.rbs +69 -0
  64. data/sig/dodopayments/models/discount_create_params.rbs +69 -0
  65. data/sig/dodopayments/models/discount_type.rbs +2 -1
  66. data/sig/dodopayments/models/discount_update_params.rbs +69 -0
  67. data/sig/dodopayments/models/payment_list_params.rbs +308 -0
  68. data/sig/dodopayments/models/payment_method_types.rbs +0 -2
  69. data/sig/dodopayments/models/payout_created_webhook_event.rbs +137 -0
  70. data/sig/dodopayments/models/payout_failed_webhook_event.rbs +137 -0
  71. data/sig/dodopayments/models/payout_in_progress_webhook_event.rbs +137 -0
  72. data/sig/dodopayments/models/payout_on_hold_webhook_event.rbs +137 -0
  73. data/sig/dodopayments/models/payout_success_webhook_event.rbs +137 -0
  74. data/sig/dodopayments/models/price.rbs +10 -0
  75. data/sig/dodopayments/models/subscription.rbs +8 -3
  76. data/sig/dodopayments/models/subscription_create_response.rbs +8 -3
  77. data/sig/dodopayments/models/subscription_list_response.rbs +8 -3
  78. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -0
  79. data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -0
  80. data/sig/dodopayments/models/webhook_event_type.rbs +2 -2
  81. data/sig/dodopayments/models/webhook_payload.rbs +108 -0
  82. data/sig/dodopayments/models.rbs +10 -0
  83. data/sig/dodopayments/resources/discounts.rbs +8 -0
  84. data/sig/dodopayments/resources/payments.rbs +1 -0
  85. data/sig/dodopayments/resources/webhooks.rbs +10 -0
  86. metadata +17 -2
@@ -65,6 +65,16 @@ module Dodopayments
65
65
 
66
66
  variant :"payment.succeeded", -> { Dodopayments::PaymentSucceededWebhookEvent }
67
67
 
68
+ variant :"payout.created", -> { Dodopayments::PayoutCreatedWebhookEvent }
69
+
70
+ variant :"payout.failed", -> { Dodopayments::PayoutFailedWebhookEvent }
71
+
72
+ variant :"payout.in_progress", -> { Dodopayments::PayoutInProgressWebhookEvent }
73
+
74
+ variant :"payout.on_hold", -> { Dodopayments::PayoutOnHoldWebhookEvent }
75
+
76
+ variant :"payout.success", -> { Dodopayments::PayoutSuccessWebhookEvent }
77
+
68
78
  variant :"refund.failed", -> { Dodopayments::RefundFailedWebhookEvent }
69
79
 
70
80
  variant :"refund.succeeded", -> { Dodopayments::RefundSucceededWebhookEvent }
@@ -89,7 +99,7 @@ module Dodopayments
89
99
  variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
90
100
 
91
101
  # @!method self.variants
92
- # @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
102
+ # @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::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
93
103
  end
94
104
  end
95
105
  end
@@ -65,6 +65,16 @@ module Dodopayments
65
65
 
66
66
  variant :"payment.succeeded", -> { Dodopayments::PaymentSucceededWebhookEvent }
67
67
 
68
+ variant :"payout.created", -> { Dodopayments::PayoutCreatedWebhookEvent }
69
+
70
+ variant :"payout.failed", -> { Dodopayments::PayoutFailedWebhookEvent }
71
+
72
+ variant :"payout.in_progress", -> { Dodopayments::PayoutInProgressWebhookEvent }
73
+
74
+ variant :"payout.on_hold", -> { Dodopayments::PayoutOnHoldWebhookEvent }
75
+
76
+ variant :"payout.success", -> { Dodopayments::PayoutSuccessWebhookEvent }
77
+
68
78
  variant :"refund.failed", -> { Dodopayments::RefundFailedWebhookEvent }
69
79
 
70
80
  variant :"refund.succeeded", -> { Dodopayments::RefundSucceededWebhookEvent }
@@ -89,7 +99,7 @@ module Dodopayments
89
99
  variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
90
100
 
91
101
  # @!method self.variants
92
- # @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
102
+ # @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::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
93
103
  end
94
104
  end
95
105
  end
@@ -30,7 +30,7 @@ module Dodopayments
30
30
  SUBSCRIPTION_UPDATED = :"subscription.updated"
31
31
  SUBSCRIPTION_UPDATE_PAYMENT_METHOD = :"subscription.update_payment_method"
32
32
  LICENSE_KEY_CREATED = :"license_key.created"
33
- PAYOUT_NOT_INITIATED = :"payout.not_initiated"
33
+ PAYOUT_CREATED = :"payout.created"
34
34
  PAYOUT_ON_HOLD = :"payout.on_hold"
35
35
  PAYOUT_IN_PROGRESS = :"payout.in_progress"
36
36
  PAYOUT_FAILED = :"payout.failed"
@@ -11,7 +11,7 @@ module Dodopayments
11
11
  # @!attribute data
12
12
  # The latest data at the time of delivery attempt
13
13
  #
14
- # @return [Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey, Dodopayments::Models::WebhookPayload::Data::CreditLedgerEntry, Dodopayments::Models::WebhookPayload::Data::CreditBalanceLow, Dodopayments::Models::WebhookPayload::Data::AbandonedCheckout, Dodopayments::Models::WebhookPayload::Data::DunningAttempt, Dodopayments::Models::WebhookPayload::Data::EntitlementGrant]
14
+ # @return [Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey, Dodopayments::Models::WebhookPayload::Data::Payout, Dodopayments::Models::WebhookPayload::Data::CreditLedgerEntry, Dodopayments::Models::WebhookPayload::Data::CreditBalanceLow, Dodopayments::Models::WebhookPayload::Data::AbandonedCheckout, Dodopayments::Models::WebhookPayload::Data::DunningAttempt, Dodopayments::Models::WebhookPayload::Data::EntitlementGrant]
15
15
  required :data, union: -> { Dodopayments::WebhookPayload::Data }
16
16
 
17
17
  # @!attribute timestamp
@@ -33,7 +33,7 @@ module Dodopayments
33
33
  #
34
34
  # @param business_id [String]
35
35
  #
36
- # @param data [Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey, Dodopayments::Models::WebhookPayload::Data::CreditLedgerEntry, Dodopayments::Models::WebhookPayload::Data::CreditBalanceLow, Dodopayments::Models::WebhookPayload::Data::AbandonedCheckout, Dodopayments::Models::WebhookPayload::Data::DunningAttempt, Dodopayments::Models::WebhookPayload::Data::EntitlementGrant] The latest data at the time of delivery attempt
36
+ # @param data [Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey, Dodopayments::Models::WebhookPayload::Data::Payout, Dodopayments::Models::WebhookPayload::Data::CreditLedgerEntry, Dodopayments::Models::WebhookPayload::Data::CreditBalanceLow, Dodopayments::Models::WebhookPayload::Data::AbandonedCheckout, Dodopayments::Models::WebhookPayload::Data::DunningAttempt, Dodopayments::Models::WebhookPayload::Data::EntitlementGrant] The latest data at the time of delivery attempt
37
37
  #
38
38
  # @param timestamp [Time] The timestamp of when the event occurred (not necessarily the same of when it wa
39
39
  #
@@ -58,6 +58,8 @@ module Dodopayments
58
58
 
59
59
  variant :LicenseKey, -> { Dodopayments::WebhookPayload::Data::LicenseKey }
60
60
 
61
+ variant :Payout, -> { Dodopayments::WebhookPayload::Data::Payout }
62
+
61
63
  # Response for a ledger entry
62
64
  variant :CreditLedgerEntry, -> { Dodopayments::WebhookPayload::Data::CreditLedgerEntry }
63
65
 
@@ -123,6 +125,161 @@ module Dodopayments
123
125
  # @param payload_type [Symbol, :LicenseKey]
124
126
  end
125
127
 
128
+ class Payout < Dodopayments::Internal::Type::BaseModel
129
+ # @!attribute amount
130
+ # The total amount of the payout.
131
+ #
132
+ # @return [Integer]
133
+ required :amount, Integer
134
+
135
+ # @!attribute business_id
136
+ # The unique identifier of the business associated with the payout.
137
+ #
138
+ # @return [String]
139
+ required :business_id, String
140
+
141
+ # @!attribute chargebacks
142
+ # @deprecated Use the v3 payout breakup endpoints instead. Will be removed in a future
143
+ # release.
144
+ #
145
+ # The total value of chargebacks associated with the payout.
146
+ #
147
+ # @return [Integer]
148
+ required :chargebacks, Integer
149
+
150
+ # @!attribute created_at
151
+ # The timestamp when the payout was created, in UTC.
152
+ #
153
+ # @return [Time]
154
+ required :created_at, Time
155
+
156
+ # @!attribute currency
157
+ # The currency of the payout, represented as an ISO 4217 currency code.
158
+ #
159
+ # @return [Symbol, Dodopayments::Models::Currency]
160
+ required :currency, enum: -> { Dodopayments::Currency }
161
+
162
+ # @!attribute fee
163
+ # The fee charged for processing the payout.
164
+ #
165
+ # @return [Integer]
166
+ required :fee, Integer
167
+
168
+ # @!attribute payload_type
169
+ #
170
+ # @return [Symbol, :Payout]
171
+ required :payload_type, const: :Payout
172
+
173
+ # @!attribute payment_method
174
+ # The payment method used for the payout (e.g., bank transfer, card, etc.).
175
+ #
176
+ # @return [String]
177
+ required :payment_method, String
178
+
179
+ # @!attribute payout_id
180
+ # The unique identifier of the payout.
181
+ #
182
+ # @return [String]
183
+ required :payout_id, String
184
+
185
+ # @!attribute refunds
186
+ # @deprecated Use the v3 payout breakup endpoints instead. Will be removed in a future
187
+ # release.
188
+ #
189
+ # The total value of refunds associated with the payout.
190
+ #
191
+ # @return [Integer]
192
+ required :refunds, Integer
193
+
194
+ # @!attribute status
195
+ # The current status of the payout.
196
+ #
197
+ # @return [Symbol, Dodopayments::Models::WebhookPayload::Data::Payout::Status]
198
+ required :status, enum: -> { Dodopayments::WebhookPayload::Data::Payout::Status }
199
+
200
+ # @!attribute tax
201
+ # @deprecated Use the v3 payout breakup endpoints instead. Will be removed in a future
202
+ # release.
203
+ #
204
+ # The tax applied to the payout.
205
+ #
206
+ # @return [Integer]
207
+ required :tax, Integer
208
+
209
+ # @!attribute updated_at
210
+ # The timestamp when the payout was last updated, in UTC.
211
+ #
212
+ # @return [Time]
213
+ required :updated_at, Time
214
+
215
+ # @!attribute name
216
+ # The name of the payout recipient or purpose.
217
+ #
218
+ # @return [String, nil]
219
+ optional :name, String, nil?: true
220
+
221
+ # @!attribute payout_document_url
222
+ # The URL of the document associated with the payout.
223
+ #
224
+ # @return [String, nil]
225
+ optional :payout_document_url, String, nil?: true
226
+
227
+ # @!attribute remarks
228
+ # Any additional remarks or notes associated with the payout.
229
+ #
230
+ # @return [String, nil]
231
+ optional :remarks, String, nil?: true
232
+
233
+ # @!method initialize(amount:, business_id:, chargebacks:, created_at:, currency:, fee:, payment_method:, payout_id:, refunds:, status:, tax:, updated_at:, name: nil, payout_document_url: nil, remarks: nil, payload_type: :Payout)
234
+ # @param amount [Integer] The total amount of the payout.
235
+ #
236
+ # @param business_id [String] The unique identifier of the business associated with the payout.
237
+ #
238
+ # @param chargebacks [Integer] The total value of chargebacks associated with the payout.
239
+ #
240
+ # @param created_at [Time] The timestamp when the payout was created, in UTC.
241
+ #
242
+ # @param currency [Symbol, Dodopayments::Models::Currency] The currency of the payout, represented as an ISO 4217 currency code.
243
+ #
244
+ # @param fee [Integer] The fee charged for processing the payout.
245
+ #
246
+ # @param payment_method [String] The payment method used for the payout (e.g., bank transfer, card, etc.).
247
+ #
248
+ # @param payout_id [String] The unique identifier of the payout.
249
+ #
250
+ # @param refunds [Integer] The total value of refunds associated with the payout.
251
+ #
252
+ # @param status [Symbol, Dodopayments::Models::WebhookPayload::Data::Payout::Status] The current status of the payout.
253
+ #
254
+ # @param tax [Integer] The tax applied to the payout.
255
+ #
256
+ # @param updated_at [Time] The timestamp when the payout was last updated, in UTC.
257
+ #
258
+ # @param name [String, nil] The name of the payout recipient or purpose.
259
+ #
260
+ # @param payout_document_url [String, nil] The URL of the document associated with the payout.
261
+ #
262
+ # @param remarks [String, nil] Any additional remarks or notes associated with the payout.
263
+ #
264
+ # @param payload_type [Symbol, :Payout]
265
+
266
+ # The current status of the payout.
267
+ #
268
+ # @see Dodopayments::Models::WebhookPayload::Data::Payout#status
269
+ module Status
270
+ extend Dodopayments::Internal::Type::Enum
271
+
272
+ NOT_INITIATED = :not_initiated
273
+ IN_PROGRESS = :in_progress
274
+ ON_HOLD = :on_hold
275
+ FAILED = :failed
276
+ SUCCESS = :success
277
+
278
+ # @!method self.values
279
+ # @return [Array<Symbol>]
280
+ end
281
+ end
282
+
126
283
  class CreditLedgerEntry < Dodopayments::Models::CreditEntitlements::CreditLedgerEntry
127
284
  # @!attribute payload_type
128
285
  #
@@ -392,7 +549,7 @@ module Dodopayments
392
549
  end
393
550
 
394
551
  # @!method self.variants
395
- # @return [Array(Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey, Dodopayments::Models::WebhookPayload::Data::CreditLedgerEntry, Dodopayments::Models::WebhookPayload::Data::CreditBalanceLow, Dodopayments::Models::WebhookPayload::Data::AbandonedCheckout, Dodopayments::Models::WebhookPayload::Data::DunningAttempt, Dodopayments::Models::WebhookPayload::Data::EntitlementGrant)]
552
+ # @return [Array(Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey, Dodopayments::Models::WebhookPayload::Data::Payout, Dodopayments::Models::WebhookPayload::Data::CreditLedgerEntry, Dodopayments::Models::WebhookPayload::Data::CreditBalanceLow, Dodopayments::Models::WebhookPayload::Data::AbandonedCheckout, Dodopayments::Models::WebhookPayload::Data::DunningAttempt, Dodopayments::Models::WebhookPayload::Data::EntitlementGrant)]
396
553
  end
397
554
  end
398
555
  end
@@ -370,10 +370,20 @@ module Dodopayments
370
370
 
371
371
  PaymentSucceededWebhookEvent = Dodopayments::Models::PaymentSucceededWebhookEvent
372
372
 
373
+ PayoutCreatedWebhookEvent = Dodopayments::Models::PayoutCreatedWebhookEvent
374
+
375
+ PayoutFailedWebhookEvent = Dodopayments::Models::PayoutFailedWebhookEvent
376
+
377
+ PayoutInProgressWebhookEvent = Dodopayments::Models::PayoutInProgressWebhookEvent
378
+
373
379
  PayoutListParams = Dodopayments::Models::PayoutListParams
374
380
 
381
+ PayoutOnHoldWebhookEvent = Dodopayments::Models::PayoutOnHoldWebhookEvent
382
+
375
383
  Payouts = Dodopayments::Models::Payouts
376
384
 
385
+ PayoutSuccessWebhookEvent = Dodopayments::Models::PayoutSuccessWebhookEvent
386
+
377
387
  Price = Dodopayments::Models::Price
378
388
 
379
389
  Product = Dodopayments::Models::Product
@@ -136,7 +136,7 @@ module Dodopayments
136
136
  #
137
137
  # @param credit_entitlement_id [String] Path param: Credit Entitlement ID
138
138
  #
139
- # @param amount [String] Body param: Amount to credit or debit
139
+ # @param amount [String] Body param: Amount to credit or debit. Bounded to a `NUMERIC(38,28)` column, so
140
140
  #
141
141
  # @param entry_type [Symbol, Dodopayments::Models::CreditEntitlements::LedgerEntryType] Body param: Entry type: credit or debit
142
142
  #
@@ -9,24 +9,32 @@ module Dodopayments
9
9
  # POST /discounts If `code` is omitted or empty, a random 16-char uppercase code
10
10
  # is generated.
11
11
  #
12
- # @overload create(amount:, type:, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
12
+ # @overload create(amount:, type:, code: nil, currency_options: nil, customer_eligibility: nil, expires_at: nil, metadata: nil, name: nil, per_customer_usage_limit: nil, preserve_on_plan_change: nil, restricted_to: nil, starts_at: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
13
13
  #
14
14
  # @param amount [Integer] The discount amount in **basis points** (e.g. `540` means `5.4%`, `10000` means
15
15
  #
16
- # @param type [Symbol, Dodopayments::Models::DiscountType] The discount type. Currently only `percentage` is supported.
16
+ # @param type [Symbol, Dodopayments::Models::DiscountType] The discount type: `percentage` or `flat` (`flat_per_unit` stays blocked).
17
17
  #
18
18
  # @param code [String, nil] Optionally supply a code (will be uppercased).
19
19
  #
20
+ # @param currency_options [Array<Dodopayments::Models::DiscountCreateParams::CurrencyOption>, nil] Per-currency options (flat deduction / percentage cap + minimum subtotal).
21
+ #
22
+ # @param customer_eligibility [Symbol, Dodopayments::Models::DiscountCreateParams::CustomerEligibility, nil] Who may redeem this discount code. Defaults to `any` (unrestricted).
23
+ #
20
24
  # @param expires_at [Time, nil] When the discount expires, if ever.
21
25
  #
22
26
  # @param metadata [Hash{Symbol=>String, Float, Boolean}] Additional metadata for the discount
23
27
  #
24
28
  # @param name [String, nil]
25
29
  #
30
+ # @param per_customer_usage_limit [Integer, nil] Maximum number of times a single customer may redeem this discount.
31
+ #
26
32
  # @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
27
33
  #
28
34
  # @param restricted_to [Array<String>, nil] List of product IDs to restrict usage (if any).
29
35
  #
36
+ # @param starts_at [Time, nil] When the discount becomes active, if scheduled for the future.
37
+ #
30
38
  # @param subscription_cycles [Integer, nil] Number of subscription billing cycles this discount is valid for.
31
39
  #
32
40
  # @param usage_limit [Integer, nil] How many times this discount can be used (if any).
@@ -72,7 +80,7 @@ module Dodopayments
72
80
  #
73
81
  # PATCH /discounts/{discount_id}
74
82
  #
75
- # @overload update(discount_id, amount: nil, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
83
+ # @overload update(discount_id, amount: nil, code: nil, currency_options: nil, customer_eligibility: nil, expires_at: nil, metadata: nil, name: nil, per_customer_usage_limit: nil, preserve_on_plan_change: nil, restricted_to: nil, starts_at: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
76
84
  #
77
85
  # @param discount_id [String] Discount Id
78
86
  #
@@ -80,19 +88,27 @@ module Dodopayments
80
88
  #
81
89
  # @param code [String, nil] If present, update the discount code (uppercase).
82
90
  #
91
+ # @param currency_options [Array<Dodopayments::Models::DiscountUpdateParams::CurrencyOption>, nil] If present, fully replaces the discount's currency options (replace-set
92
+ #
93
+ # @param customer_eligibility [Symbol, Dodopayments::Models::DiscountUpdateParams::CustomerEligibility, nil] If present, update who may redeem this discount. Plain field (not
94
+ #
83
95
  # @param expires_at [Time, nil]
84
96
  #
85
97
  # @param metadata [Hash{Symbol=>String, Float, Boolean}, nil] Additional metadata for the discount
86
98
  #
87
99
  # @param name [String, nil]
88
100
  #
101
+ # @param per_customer_usage_limit [Integer, nil] If present, update the per-customer usage limit (double-option: send
102
+ #
89
103
  # @param preserve_on_plan_change [Boolean, nil] Whether this discount should be preserved when a subscription changes plans.
90
104
  #
91
105
  # @param restricted_to [Array<String>, nil] If present, replaces all restricted product IDs with this new set.
92
106
  #
107
+ # @param starts_at [Time, nil] If present, update `starts_at` (double-option: send `null` to clear it).
108
+ #
93
109
  # @param subscription_cycles [Integer, nil] Number of subscription billing cycles this discount is valid for.
94
110
  #
95
- # @param type [Symbol, Dodopayments::Models::DiscountType, nil] If present, update the discount type. Currently only `percentage` is supported.
111
+ # @param type [Symbol, Dodopayments::Models::DiscountType, nil] If present, update the discount type (`percentage` or `flat`).
96
112
  #
97
113
  # @param usage_limit [Integer, nil]
98
114
  #
@@ -112,11 +128,14 @@ module Dodopayments
112
128
  )
113
129
  end
114
130
 
131
+ # Some parameter documentations has been truncated, see
132
+ # {Dodopayments::Models::DiscountListParams} for more details.
133
+ #
115
134
  # GET /discounts
116
135
  #
117
136
  # @overload list(active: nil, code: nil, discount_type: nil, page_number: nil, page_size: nil, product_id: nil, request_options: {})
118
137
  #
119
- # @param active [Boolean] Filter by active status (true = not expired, false = expired)
138
+ # @param active [Boolean] Filter by active status. `true` = currently redeemable (started, not
120
139
  #
121
140
  # @param code [String] Filter by discount code (partial match, case-insensitive)
122
141
  #
@@ -82,7 +82,10 @@ module Dodopayments
82
82
  )
83
83
  end
84
84
 
85
- # @overload list(brand_id: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, subscription_id: nil, request_options: {})
85
+ # Some parameter documentations has been truncated, see
86
+ # {Dodopayments::Models::PaymentListParams} for more details.
87
+ #
88
+ # @overload list(brand_id: nil, created_at_gte: nil, created_at_lte: nil, currency: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, subscription_id: nil, request_options: {})
86
89
  #
87
90
  # @param brand_id [String] filter by Brand id
88
91
  #
@@ -90,9 +93,11 @@ module Dodopayments
90
93
  #
91
94
  # @param created_at_lte [Time] Get events created before this time
92
95
  #
96
+ # @param currency [Symbol, Dodopayments::Models::PaymentListParams::Currency] Filter by currency
97
+ #
93
98
  # @param customer_id [String] Filter by customer id
94
99
  #
95
- # @param page_number [Integer] Page number default is 0
100
+ # @param page_number [Integer] Page number default is 0. Capped to bound OFFSET-based deep pagination,
96
101
  #
97
102
  # @param page_size [Integer] Page size default is 10 max is 100
98
103
  #
@@ -170,7 +170,7 @@ module Dodopayments
170
170
 
171
171
  # @param payload [String] The raw webhook payload as a string
172
172
  #
173
- # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
173
+ # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::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::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
174
174
  def unsafe_unwrap(payload)
175
175
  parsed = JSON.parse(payload, symbolize_names: true)
176
176
  Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnsafeUnwrapWebhookEvent, parsed)
@@ -182,7 +182,7 @@ module Dodopayments
182
182
  #
183
183
  # @param key [String, nil] The webhook signing key
184
184
  #
185
- # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
185
+ # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::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::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
186
186
  def unwrap(payload, headers:, key: @client.webhook_key)
187
187
  if key.nil?
188
188
  raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dodopayments
4
- VERSION = "2.20.1"
4
+ VERSION = "2.22.0"
5
5
  end
data/lib/dodopayments.rb CHANGED
@@ -261,13 +261,18 @@ require_relative "dodopayments/models/payment_retrieve_line_items_params"
261
261
  require_relative "dodopayments/models/payment_retrieve_line_items_response"
262
262
  require_relative "dodopayments/models/payment_retrieve_params"
263
263
  require_relative "dodopayments/models/payment_succeeded_webhook_event"
264
+ require_relative "dodopayments/models/payout_created_webhook_event"
265
+ require_relative "dodopayments/models/payout_failed_webhook_event"
266
+ require_relative "dodopayments/models/payout_in_progress_webhook_event"
264
267
  require_relative "dodopayments/models/payout_list_params"
265
268
  require_relative "dodopayments/models/payout_list_response"
269
+ require_relative "dodopayments/models/payout_on_hold_webhook_event"
266
270
  require_relative "dodopayments/models/payouts/breakup/detail_download_csv_params"
267
271
  require_relative "dodopayments/models/payouts/breakup/detail_list_params"
268
272
  require_relative "dodopayments/models/payouts/breakup/detail_list_response"
269
273
  require_relative "dodopayments/models/payouts/breakup_retrieve_params"
270
274
  require_relative "dodopayments/models/payouts/breakup_retrieve_response"
275
+ require_relative "dodopayments/models/payout_success_webhook_event"
271
276
  require_relative "dodopayments/models/price"
272
277
  require_relative "dodopayments/models/product"
273
278
  require_relative "dodopayments/models/product_archive_params"
@@ -99,6 +99,17 @@ module Dodopayments
99
99
  sig { returns(T.nilable(Integer)) }
100
100
  attr_accessor :total_tax
101
101
 
102
+ # Per-unit trial amount after discounts, in the price currency's minor units
103
+ # (pre-quantity, pre-tax; see `current_breakup` for the taxed total due today).
104
+ # Only present for a paid trial; `None` for a free trial or no trial.
105
+ sig { returns(T.nilable(Integer)) }
106
+ attr_accessor :trial_amount
107
+
108
+ # Effective trial duration in days for the subscription line, when there's a trial
109
+ # (free or paid). `None` if no subscription or no trial.
110
+ sig { returns(T.nilable(Integer)) }
111
+ attr_accessor :trial_period_days
112
+
102
113
  # Data returned by the calculate checkout session API
103
114
  sig do
104
115
  params(
@@ -120,7 +131,9 @@ module Dodopayments
120
131
  tax_id_business_name: T.nilable(String),
121
132
  tax_id_err_msg: T.nilable(String),
122
133
  tax_id_format_name: T.nilable(String),
123
- total_tax: T.nilable(Integer)
134
+ total_tax: T.nilable(Integer),
135
+ trial_amount: T.nilable(Integer),
136
+ trial_period_days: T.nilable(Integer)
124
137
  ).returns(T.attached_class)
125
138
  end
126
139
  def self.new(
@@ -153,7 +166,14 @@ module Dodopayments
153
166
  # The matched tax ID notation (e.g. "VAT Number", "GSTIN") when valid
154
167
  tax_id_format_name: nil,
155
168
  # Total tax
156
- total_tax: nil
169
+ total_tax: nil,
170
+ # Per-unit trial amount after discounts, in the price currency's minor units
171
+ # (pre-quantity, pre-tax; see `current_breakup` for the taxed total due today).
172
+ # Only present for a paid trial; `None` for a free trial or no trial.
173
+ trial_amount: nil,
174
+ # Effective trial duration in days for the subscription line, when there's a trial
175
+ # (free or paid). `None` if no subscription or no trial.
176
+ trial_period_days: nil
157
177
  )
158
178
  end
159
179
 
@@ -178,7 +198,9 @@ module Dodopayments
178
198
  tax_id_business_name: T.nilable(String),
179
199
  tax_id_err_msg: T.nilable(String),
180
200
  tax_id_format_name: T.nilable(String),
181
- total_tax: T.nilable(Integer)
201
+ total_tax: T.nilable(Integer),
202
+ trial_amount: T.nilable(Integer),
203
+ trial_period_days: T.nilable(Integer)
182
204
  }
183
205
  )
184
206
  end
@@ -330,7 +352,8 @@ module Dodopayments
330
352
  sig { returns(T.nilable(String)) }
331
353
  attr_accessor :description
332
354
 
333
- # discount percentage
355
+ # Percentage rate (basis points) of the applicable percentage code; null for flat
356
+ # codes (their deduction is `og_price - discounted_price`).
334
357
  sig { returns(T.nilable(Integer)) }
335
358
  attr_accessor :discount_amount
336
359
 
@@ -407,7 +430,8 @@ module Dodopayments
407
430
  tax_rate:,
408
431
  addons: nil,
409
432
  description: nil,
410
- # discount percentage
433
+ # Percentage rate (basis points) of the applicable percentage code; null for flat
434
+ # codes (their deduction is `og_price - discounted_price`).
411
435
  discount_amount: nil,
412
436
  # number of cycles the discount will apply
413
437
  discount_cycle: nil,
@@ -619,6 +643,8 @@ module Dodopayments
619
643
  sig { returns(T.nilable(String)) }
620
644
  attr_accessor :description
621
645
 
646
+ # Percentage rate (basis points) of the applicable percentage code; null for flat
647
+ # codes (their deduction is `og_price - discounted_price`).
622
648
  sig { returns(T.nilable(Integer)) }
623
649
  attr_accessor :discount_amount
624
650
 
@@ -656,6 +682,8 @@ module Dodopayments
656
682
  tax_inclusive:,
657
683
  tax_rate:,
658
684
  description: nil,
685
+ # Percentage rate (basis points) of the applicable percentage code; null for flat
686
+ # codes (their deduction is `og_price - discounted_price`).
659
687
  discount_amount: nil,
660
688
  tax: nil
661
689
  )
@@ -21,7 +21,9 @@ module Dodopayments
21
21
  sig { returns(String) }
22
22
  attr_accessor :customer_id
23
23
 
24
- # Amount to credit or debit
24
+ # Amount to credit or debit. Bounded to a `NUMERIC(38,28)` column, so the integer
25
+ # part must have fewer than 10 digits (< 10^10); larger values previously reached
26
+ # the DB and failed with a 22003 overflow surfaced as a 500.
25
27
  sig { returns(String) }
26
28
  attr_accessor :amount
27
29
 
@@ -70,7 +72,9 @@ module Dodopayments
70
72
  def self.new(
71
73
  credit_entitlement_id:,
72
74
  customer_id:,
73
- # Amount to credit or debit
75
+ # Amount to credit or debit. Bounded to a `NUMERIC(38,28)` column, so the integer
76
+ # part must have fewer than 10 digits (< 10^10); larger values previously reached
77
+ # the DB and failed with a 22003 overflow surfaced as a 500.
74
78
  amount:,
75
79
  # Entry type: credit or debit
76
80
  entry_type:,