dodopayments 2.8.1 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/models/attach_product_entitlement.rb +22 -0
  6. data/lib/dodopayments/models/cancellation_feedback.rb +21 -0
  7. data/lib/dodopayments/models/checkout_session_flags.rb +12 -1
  8. data/lib/dodopayments/models/checkout_session_request.rb +14 -1
  9. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +1 -0
  10. data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +52 -0
  11. data/lib/dodopayments/models/customer_list_entitlements_params.rb +20 -0
  12. data/lib/dodopayments/models/customer_list_entitlements_response.rb +105 -0
  13. data/lib/dodopayments/models/digital_product_delivery.rb +19 -14
  14. data/lib/dodopayments/models/digital_product_delivery_file.rb +40 -9
  15. data/lib/dodopayments/models/entitlement.rb +97 -0
  16. data/lib/dodopayments/models/entitlement_create_params.rb +54 -0
  17. data/lib/dodopayments/models/entitlement_delete_params.rb +20 -0
  18. data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +56 -0
  19. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +56 -0
  20. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +56 -0
  21. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +56 -0
  22. data/lib/dodopayments/models/entitlement_integration_type.rb +21 -0
  23. data/lib/dodopayments/models/entitlement_list_params.rb +55 -0
  24. data/lib/dodopayments/models/entitlement_retrieve_params.rb +20 -0
  25. data/lib/dodopayments/models/entitlement_update_params.rb +54 -0
  26. data/lib/dodopayments/models/entitlements/entitlement_grant.rb +190 -0
  27. data/lib/dodopayments/models/entitlements/file_delete_params.rb +28 -0
  28. data/lib/dodopayments/models/entitlements/file_upload_params.rb +22 -0
  29. data/lib/dodopayments/models/entitlements/file_upload_response.rb +23 -0
  30. data/lib/dodopayments/models/entitlements/grant_list_params.rb +68 -0
  31. data/lib/dodopayments/models/entitlements/grant_revoke_params.rb +28 -0
  32. data/lib/dodopayments/models/entitlements/license_key_grant.rb +45 -0
  33. data/lib/dodopayments/models/integration_config.rb +217 -0
  34. data/lib/dodopayments/models/integration_config_response.rb +278 -0
  35. data/lib/dodopayments/models/license_key_instance_list_params.rb +9 -1
  36. data/lib/dodopayments/models/one_time_product_cart_item.rb +15 -1
  37. data/lib/dodopayments/models/payment.rb +19 -3
  38. data/lib/dodopayments/models/payment_create_params.rb +23 -35
  39. data/lib/dodopayments/models/payment_create_response.rb +3 -33
  40. data/lib/dodopayments/models/product.rb +10 -217
  41. data/lib/dodopayments/models/product_create_params.rb +25 -6
  42. data/lib/dodopayments/models/product_entitlement_summary.rb +57 -0
  43. data/lib/dodopayments/models/product_list_response.rb +3 -218
  44. data/lib/dodopayments/models/product_update_params.rb +21 -7
  45. data/lib/dodopayments/models/scheduled_plan_change.rb +99 -0
  46. data/lib/dodopayments/models/subscription.rb +20 -102
  47. data/lib/dodopayments/models/subscription_create_params.rb +27 -37
  48. data/lib/dodopayments/models/subscription_create_response.rb +19 -3
  49. data/lib/dodopayments/models/subscription_list_response.rb +3 -103
  50. data/lib/dodopayments/models/subscription_update_params.rb +23 -1
  51. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +11 -1
  52. data/lib/dodopayments/models/unwrap_webhook_event.rb +11 -1
  53. data/lib/dodopayments/models/update_subscription_plan_req.rb +10 -1
  54. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  55. data/lib/dodopayments/models/webhook_payload.rb +6 -153
  56. data/lib/dodopayments/models.rb +40 -0
  57. data/lib/dodopayments/resources/checkout_sessions.rb +6 -2
  58. data/lib/dodopayments/resources/customers.rb +20 -0
  59. data/lib/dodopayments/resources/entitlements/files.rb +63 -0
  60. data/lib/dodopayments/resources/entitlements/grants.rb +76 -0
  61. data/lib/dodopayments/resources/entitlements.rb +153 -0
  62. data/lib/dodopayments/resources/license_key_instances.rb +3 -1
  63. data/lib/dodopayments/resources/payments.rb +6 -2
  64. data/lib/dodopayments/resources/products.rb +4 -4
  65. data/lib/dodopayments/resources/subscriptions.rb +20 -5
  66. data/lib/dodopayments/resources/webhooks.rb +2 -2
  67. data/lib/dodopayments/version.rb +1 -1
  68. data/lib/dodopayments.rb +30 -0
  69. data/rbi/dodopayments/client.rbi +3 -0
  70. data/rbi/dodopayments/models/attach_product_entitlement.rbi +35 -0
  71. data/rbi/dodopayments/models/cancellation_feedback.rbi +45 -0
  72. data/rbi/dodopayments/models/checkout_session_flags.rbi +20 -3
  73. data/rbi/dodopayments/models/checkout_session_request.rbi +18 -0
  74. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +5 -0
  75. data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +103 -0
  76. data/rbi/dodopayments/models/customer_list_entitlements_params.rbi +38 -0
  77. data/rbi/dodopayments/models/customer_list_entitlements_response.rbi +189 -0
  78. data/rbi/dodopayments/models/digital_product_delivery.rbi +16 -18
  79. data/rbi/dodopayments/models/digital_product_delivery_file.rbi +51 -8
  80. data/rbi/dodopayments/models/entitlement.rbi +127 -0
  81. data/rbi/dodopayments/models/entitlement_create_params.rbi +115 -0
  82. data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
  83. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +107 -0
  84. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +107 -0
  85. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +106 -0
  86. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +107 -0
  87. data/rbi/dodopayments/models/entitlement_integration_type.rbi +44 -0
  88. data/rbi/dodopayments/models/entitlement_list_params.rbi +146 -0
  89. data/rbi/dodopayments/models/entitlement_retrieve_params.rbi +38 -0
  90. data/rbi/dodopayments/models/entitlement_update_params.rbi +111 -0
  91. data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +269 -0
  92. data/rbi/dodopayments/models/entitlements/file_delete_params.rbi +48 -0
  93. data/rbi/dodopayments/models/entitlements/file_upload_params.rbi +40 -0
  94. data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +34 -0
  95. data/rbi/dodopayments/models/entitlements/grant_list_params.rbi +145 -0
  96. data/rbi/dodopayments/models/entitlements/grant_revoke_params.rbi +48 -0
  97. data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +68 -0
  98. data/rbi/dodopayments/models/integration_config.rbi +411 -0
  99. data/rbi/dodopayments/models/integration_config_response.rbi +531 -0
  100. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +8 -0
  101. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +24 -3
  102. data/rbi/dodopayments/models/payment.rbi +31 -3
  103. data/rbi/dodopayments/models/payment_create_params.rbi +28 -56
  104. data/rbi/dodopayments/models/payment_create_response.rbi +3 -68
  105. data/rbi/dodopayments/models/product.rbi +8 -420
  106. data/rbi/dodopayments/models/product_create_params.rbi +43 -7
  107. data/rbi/dodopayments/models/product_entitlement_summary.rbi +88 -0
  108. data/rbi/dodopayments/models/product_list_response.rbi +3 -430
  109. data/rbi/dodopayments/models/product_update_params.rbi +35 -9
  110. data/rbi/dodopayments/models/scheduled_plan_change.rbi +141 -0
  111. data/rbi/dodopayments/models/subscription.rbi +24 -149
  112. data/rbi/dodopayments/models/subscription_create_params.rbi +36 -68
  113. data/rbi/dodopayments/models/subscription_create_response.rbi +47 -3
  114. data/rbi/dodopayments/models/subscription_list_response.rbi +4 -167
  115. data/rbi/dodopayments/models/subscription_update_params.rbi +27 -0
  116. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +5 -0
  117. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +5 -0
  118. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +10 -0
  119. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  120. data/rbi/dodopayments/models/webhook_payload.rbi +6 -197
  121. data/rbi/dodopayments/models.rbi +46 -0
  122. data/rbi/dodopayments/resources/checkout_sessions.rbi +16 -0
  123. data/rbi/dodopayments/resources/customers.rbi +14 -0
  124. data/rbi/dodopayments/resources/entitlements/files.rbi +45 -0
  125. data/rbi/dodopayments/resources/entitlements/grants.rbi +63 -0
  126. data/rbi/dodopayments/resources/entitlements.rbi +143 -0
  127. data/rbi/dodopayments/resources/license_key_instances.rbi +3 -0
  128. data/rbi/dodopayments/resources/payments.rbi +10 -2
  129. data/rbi/dodopayments/resources/products.rbi +34 -7
  130. data/rbi/dodopayments/resources/subscriptions.rbi +31 -5
  131. data/rbi/dodopayments/resources/webhooks.rbi +10 -0
  132. data/sig/dodopayments/client.rbs +2 -0
  133. data/sig/dodopayments/models/attach_product_entitlement.rbs +13 -0
  134. data/sig/dodopayments/models/cancellation_feedback.rbs +28 -0
  135. data/sig/dodopayments/models/checkout_session_flags.rbs +10 -3
  136. data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
  137. data/sig/dodopayments/models/credit_entitlements/credit_ledger_entry.rbs +2 -0
  138. data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +45 -0
  139. data/sig/dodopayments/models/customer_list_entitlements_params.rbs +23 -0
  140. data/sig/dodopayments/models/customer_list_entitlements_response.rbs +95 -0
  141. data/sig/dodopayments/models/digital_product_delivery.rbs +5 -5
  142. data/sig/dodopayments/models/digital_product_delivery_file.rbs +32 -5
  143. data/sig/dodopayments/models/entitlement.rbs +65 -0
  144. data/sig/dodopayments/models/entitlement_create_params.rbs +48 -0
  145. data/sig/dodopayments/models/entitlement_delete_params.rbs +23 -0
  146. data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +45 -0
  147. data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +45 -0
  148. data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +45 -0
  149. data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +45 -0
  150. data/sig/dodopayments/models/entitlement_integration_type.rbs +28 -0
  151. data/sig/dodopayments/models/entitlement_list_params.rbs +69 -0
  152. data/sig/dodopayments/models/entitlement_retrieve_params.rbs +23 -0
  153. data/sig/dodopayments/models/entitlement_update_params.rbs +46 -0
  154. data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +127 -0
  155. data/sig/dodopayments/models/entitlements/file_delete_params.rbs +30 -0
  156. data/sig/dodopayments/models/entitlements/file_upload_params.rbs +25 -0
  157. data/sig/dodopayments/models/entitlements/file_upload_response.rbs +15 -0
  158. data/sig/dodopayments/models/entitlements/grant_list_params.rbs +71 -0
  159. data/sig/dodopayments/models/entitlements/grant_revoke_params.rbs +30 -0
  160. data/sig/dodopayments/models/entitlements/license_key_grant.rbs +37 -0
  161. data/sig/dodopayments/models/integration_config.rbs +171 -0
  162. data/sig/dodopayments/models/integration_config_response.rbs +225 -0
  163. data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -1
  164. data/sig/dodopayments/models/one_time_product_cart_item.rbs +14 -3
  165. data/sig/dodopayments/models/payment.rbs +16 -4
  166. data/sig/dodopayments/models/payment_create_params.rbs +16 -27
  167. data/sig/dodopayments/models/payment_create_response.rbs +4 -27
  168. data/sig/dodopayments/models/product.rbs +4 -205
  169. data/sig/dodopayments/models/product_create_params.rbs +4 -4
  170. data/sig/dodopayments/models/product_entitlement_summary.rbs +40 -0
  171. data/sig/dodopayments/models/product_list_response.rbs +4 -205
  172. data/sig/dodopayments/models/product_update_params.rbs +4 -4
  173. data/sig/dodopayments/models/scheduled_plan_change.rbs +73 -0
  174. data/sig/dodopayments/models/subscription.rbs +14 -74
  175. data/sig/dodopayments/models/subscription_create_params.rbs +16 -27
  176. data/sig/dodopayments/models/subscription_create_response.rbs +16 -4
  177. data/sig/dodopayments/models/subscription_list_response.rbs +4 -74
  178. data/sig/dodopayments/models/subscription_update_params.rbs +12 -0
  179. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -0
  180. data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -0
  181. data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
  182. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  183. data/sig/dodopayments/models/webhook_payload.rbs +8 -134
  184. data/sig/dodopayments/models.rbs +40 -0
  185. data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
  186. data/sig/dodopayments/resources/customers.rbs +5 -0
  187. data/sig/dodopayments/resources/entitlements/files.rbs +20 -0
  188. data/sig/dodopayments/resources/entitlements/grants.rbs +24 -0
  189. data/sig/dodopayments/resources/entitlements.rbs +46 -0
  190. data/sig/dodopayments/resources/license_key_instances.rbs +1 -0
  191. data/sig/dodopayments/resources/payments.rbs +3 -1
  192. data/sig/dodopayments/resources/products.rbs +2 -2
  193. data/sig/dodopayments/resources/subscriptions.rbs +7 -1
  194. data/sig/dodopayments/resources/webhooks.rbs +10 -0
  195. metadata +92 -2
@@ -65,6 +65,8 @@ module Dodopayments
65
65
 
66
66
  AttachExistingCustomer = Dodopayments::Models::AttachExistingCustomer
67
67
 
68
+ AttachProductEntitlement = Dodopayments::Models::AttachProductEntitlement
69
+
68
70
  BalanceLedgerEntry = Dodopayments::Models::BalanceLedgerEntry
69
71
 
70
72
  BalanceRetrieveLedgerParams = Dodopayments::Models::BalanceRetrieveLedgerParams
@@ -83,6 +85,8 @@ module Dodopayments
83
85
 
84
86
  BrandUpdateParams = Dodopayments::Models::BrandUpdateParams
85
87
 
88
+ CancellationFeedback = Dodopayments::Models::CancellationFeedback
89
+
86
90
  CbbOverageBehavior = Dodopayments::Models::CbbOverageBehavior
87
91
 
88
92
  CbbProrationBehavior = Dodopayments::Models::CbbProrationBehavior
@@ -143,6 +147,8 @@ module Dodopayments
143
147
 
144
148
  CreditOverageChargedWebhookEvent = Dodopayments::Models::CreditOverageChargedWebhookEvent
145
149
 
150
+ CreditOverageResetWebhookEvent = Dodopayments::Models::CreditOverageResetWebhookEvent
151
+
146
152
  CreditRolledOverWebhookEvent = Dodopayments::Models::CreditRolledOverWebhookEvent
147
153
 
148
154
  CreditRolloverForfeitedWebhookEvent = Dodopayments::Models::CreditRolloverForfeitedWebhookEvent
@@ -159,6 +165,8 @@ module Dodopayments
159
165
 
160
166
  CustomerListCreditEntitlementsParams = Dodopayments::Models::CustomerListCreditEntitlementsParams
161
167
 
168
+ CustomerListEntitlementsParams = Dodopayments::Models::CustomerListEntitlementsParams
169
+
162
170
  CustomerListParams = Dodopayments::Models::CustomerListParams
163
171
 
164
172
  CustomerPortalSession = Dodopayments::Models::CustomerPortalSession
@@ -225,6 +233,30 @@ module Dodopayments
225
233
 
226
234
  DunningStartedWebhookEvent = Dodopayments::Models::DunningStartedWebhookEvent
227
235
 
236
+ Entitlement = Dodopayments::Models::Entitlement
237
+
238
+ EntitlementCreateParams = Dodopayments::Models::EntitlementCreateParams
239
+
240
+ EntitlementDeleteParams = Dodopayments::Models::EntitlementDeleteParams
241
+
242
+ EntitlementGrantCreatedWebhookEvent = Dodopayments::Models::EntitlementGrantCreatedWebhookEvent
243
+
244
+ EntitlementGrantDeliveredWebhookEvent = Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent
245
+
246
+ EntitlementGrantFailedWebhookEvent = Dodopayments::Models::EntitlementGrantFailedWebhookEvent
247
+
248
+ EntitlementGrantRevokedWebhookEvent = Dodopayments::Models::EntitlementGrantRevokedWebhookEvent
249
+
250
+ EntitlementIntegrationType = Dodopayments::Models::EntitlementIntegrationType
251
+
252
+ EntitlementListParams = Dodopayments::Models::EntitlementListParams
253
+
254
+ EntitlementRetrieveParams = Dodopayments::Models::EntitlementRetrieveParams
255
+
256
+ Entitlements = Dodopayments::Models::Entitlements
257
+
258
+ EntitlementUpdateParams = Dodopayments::Models::EntitlementUpdateParams
259
+
228
260
  Event = Dodopayments::Models::Event
229
261
 
230
262
  EventInput = Dodopayments::Models::EventInput
@@ -233,6 +265,10 @@ module Dodopayments
233
265
 
234
266
  GetDispute = Dodopayments::Models::GetDispute
235
267
 
268
+ IntegrationConfig = Dodopayments::Models::IntegrationConfig
269
+
270
+ IntegrationConfigResponse = Dodopayments::Models::IntegrationConfigResponse
271
+
236
272
  IntentStatus = Dodopayments::Models::IntentStatus
237
273
 
238
274
  Invoices = Dodopayments::Models::Invoices
@@ -329,6 +365,8 @@ module Dodopayments
329
365
 
330
366
  ProductCreateParams = Dodopayments::Models::ProductCreateParams
331
367
 
368
+ ProductEntitlementSummary = Dodopayments::Models::ProductEntitlementSummary
369
+
332
370
  ProductItemReq = Dodopayments::Models::ProductItemReq
333
371
 
334
372
  ProductListParams = Dodopayments::Models::ProductListParams
@@ -359,6 +397,8 @@ module Dodopayments
359
397
 
360
398
  RefundSucceededWebhookEvent = Dodopayments::Models::RefundSucceededWebhookEvent
361
399
 
400
+ ScheduledPlanChange = Dodopayments::Models::ScheduledPlanChange
401
+
362
402
  Subscription = Dodopayments::Models::Subscription
363
403
 
364
404
  SubscriptionActiveWebhookEvent = Dodopayments::Models::SubscriptionActiveWebhookEvent
@@ -6,7 +6,7 @@ module Dodopayments
6
6
  # Some parameter documentations has been truncated, see
7
7
  # {Dodopayments::Models::CheckoutSessionCreateParams} for more details.
8
8
  #
9
- # @overload create(product_cart:, allowed_payment_method_types: nil, billing_address: nil, billing_currency: nil, cancel_url: nil, confirm: nil, custom_fields: nil, customer: nil, customization: nil, discount_code: nil, feature_flags: nil, force_3ds: nil, metadata: nil, minimal_address: nil, payment_method_id: nil, product_collection_id: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, subscription_data: nil, tax_id: nil, request_options: {})
9
+ # @overload create(product_cart:, allowed_payment_method_types: nil, billing_address: nil, billing_currency: nil, cancel_url: nil, confirm: nil, custom_fields: nil, customer: nil, customization: nil, discount_code: nil, feature_flags: nil, force_3ds: nil, mandate_min_amount_inr_paise: nil, metadata: nil, minimal_address: nil, payment_method_id: nil, product_collection_id: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, subscription_data: nil, tax_id: nil, request_options: {})
10
10
  #
11
11
  # @param product_cart [Array<Dodopayments::Models::ProductItemReq>]
12
12
  #
@@ -32,6 +32,8 @@ module Dodopayments
32
32
  #
33
33
  # @param force_3ds [Boolean, nil] Override merchant default 3DS behaviour for this session
34
34
  #
35
+ # @param mandate_min_amount_inr_paise [Integer, nil] Override the merchant-level mandate floor (in INR paise) for INR
36
+ #
35
37
  # @param metadata [Hash{Symbol=>String}, nil] Additional metadata associated with the payment. Defaults to empty if not provid
36
38
  #
37
39
  # @param minimal_address [Boolean] If true, only zipcode is required when confirm is true; other address fields rem
@@ -86,7 +88,7 @@ module Dodopayments
86
88
  # Some parameter documentations has been truncated, see
87
89
  # {Dodopayments::Models::CheckoutSessionPreviewParams} for more details.
88
90
  #
89
- # @overload preview(product_cart:, allowed_payment_method_types: nil, billing_address: nil, billing_currency: nil, cancel_url: nil, confirm: nil, custom_fields: nil, customer: nil, customization: nil, discount_code: nil, feature_flags: nil, force_3ds: nil, metadata: nil, minimal_address: nil, payment_method_id: nil, product_collection_id: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, subscription_data: nil, tax_id: nil, request_options: {})
91
+ # @overload preview(product_cart:, allowed_payment_method_types: nil, billing_address: nil, billing_currency: nil, cancel_url: nil, confirm: nil, custom_fields: nil, customer: nil, customization: nil, discount_code: nil, feature_flags: nil, force_3ds: nil, mandate_min_amount_inr_paise: nil, metadata: nil, minimal_address: nil, payment_method_id: nil, product_collection_id: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, subscription_data: nil, tax_id: nil, request_options: {})
90
92
  #
91
93
  # @param product_cart [Array<Dodopayments::Models::ProductItemReq>]
92
94
  #
@@ -112,6 +114,8 @@ module Dodopayments
112
114
  #
113
115
  # @param force_3ds [Boolean, nil] Override merchant default 3DS behaviour for this session
114
116
  #
117
+ # @param mandate_min_amount_inr_paise [Integer, nil] Override the merchant-level mandate floor (in INR paise) for INR
118
+ #
115
119
  # @param metadata [Hash{Symbol=>String}, nil] Additional metadata associated with the payment. Defaults to empty if not provid
116
120
  #
117
121
  # @param minimal_address [Boolean] If true, only zipcode is required when confirm is true; other address fields rem
@@ -158,6 +158,26 @@ module Dodopayments
158
158
  )
159
159
  end
160
160
 
161
+ # List all entitlement grants delivered (or in flight) to a customer.
162
+ #
163
+ # @overload list_entitlements(customer_id, request_options: {})
164
+ #
165
+ # @param customer_id [String] Customer ID
166
+ #
167
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
168
+ #
169
+ # @return [Dodopayments::Models::CustomerListEntitlementsResponse]
170
+ #
171
+ # @see Dodopayments::Models::CustomerListEntitlementsParams
172
+ def list_entitlements(customer_id, params = {})
173
+ @client.request(
174
+ method: :get,
175
+ path: ["customers/%1$s/entitlements", customer_id],
176
+ model: Dodopayments::Models::CustomerListEntitlementsResponse,
177
+ options: params[:request_options]
178
+ )
179
+ end
180
+
161
181
  # @overload retrieve_payment_methods(customer_id, request_options: {})
162
182
  #
163
183
  # @param customer_id [String] Customer Id
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Entitlements
6
+ class Files
7
+ # Detach a previously-attached file from a `digital_files` entitlement.
8
+ #
9
+ # @overload delete(file_id, id:, request_options: {})
10
+ #
11
+ # @param file_id [String] Identifier of the attached file
12
+ #
13
+ # @param id [String] Entitlement Id
14
+ #
15
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [nil]
18
+ #
19
+ # @see Dodopayments::Models::Entitlements::FileDeleteParams
20
+ def delete(file_id, params)
21
+ parsed, options = Dodopayments::Entitlements::FileDeleteParams.dump_request(params)
22
+ id =
23
+ parsed.delete(:id) do
24
+ raise ArgumentError.new("missing required path argument #{_1}")
25
+ end
26
+ @client.request(
27
+ method: :delete,
28
+ path: ["entitlements/%1$s/files/%2$s", id, file_id],
29
+ model: NilClass,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Attach a file to a `digital_files` entitlement. Per-file size cap: 500 MiB.
35
+ #
36
+ # @overload upload(id, request_options: {})
37
+ #
38
+ # @param id [String] Entitlement Id
39
+ #
40
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
41
+ #
42
+ # @return [Dodopayments::Models::Entitlements::FileUploadResponse]
43
+ #
44
+ # @see Dodopayments::Models::Entitlements::FileUploadParams
45
+ def upload(id, params = {})
46
+ @client.request(
47
+ method: :post,
48
+ path: ["entitlements/%1$s/files", id],
49
+ model: Dodopayments::Models::Entitlements::FileUploadResponse,
50
+ options: params[:request_options]
51
+ )
52
+ end
53
+
54
+ # @api private
55
+ #
56
+ # @param client [Dodopayments::Client]
57
+ def initialize(client:)
58
+ @client = client
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Entitlements
6
+ class Grants
7
+ # GET /entitlements/{id}/grants (public API)
8
+ #
9
+ # @overload list(id, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
10
+ #
11
+ # @param id [String] Entitlement ID
12
+ #
13
+ # @param customer_id [String] Filter by customer ID
14
+ #
15
+ # @param page_number [Integer] Page number (default 0)
16
+ #
17
+ # @param page_size [Integer] Page size (default 10, max 100)
18
+ #
19
+ # @param status [Symbol, Dodopayments::Models::Entitlements::GrantListParams::Status] Filter by grant status
20
+ #
21
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Dodopayments::Internal::DefaultPageNumberPagination<Dodopayments::Models::Entitlements::EntitlementGrant>]
24
+ #
25
+ # @see Dodopayments::Models::Entitlements::GrantListParams
26
+ def list(id, params = {})
27
+ parsed, options = Dodopayments::Entitlements::GrantListParams.dump_request(params)
28
+ query = Dodopayments::Internal::Util.encode_query_params(parsed)
29
+ @client.request(
30
+ method: :get,
31
+ path: ["entitlements/%1$s/grants", id],
32
+ query: query,
33
+ page: Dodopayments::Internal::DefaultPageNumberPagination,
34
+ model: Dodopayments::Entitlements::EntitlementGrant,
35
+ options: options
36
+ )
37
+ end
38
+
39
+ # Revoke a single grant. Idempotent: re-revoking an already-revoked grant returns
40
+ # the grant in its current state.
41
+ #
42
+ # @overload revoke(grant_id, id:, request_options: {})
43
+ #
44
+ # @param grant_id [String] Grant ID
45
+ #
46
+ # @param id [String] Entitlement ID
47
+ #
48
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
49
+ #
50
+ # @return [Dodopayments::Models::Entitlements::EntitlementGrant]
51
+ #
52
+ # @see Dodopayments::Models::Entitlements::GrantRevokeParams
53
+ def revoke(grant_id, params)
54
+ parsed, options = Dodopayments::Entitlements::GrantRevokeParams.dump_request(params)
55
+ id =
56
+ parsed.delete(:id) do
57
+ raise ArgumentError.new("missing required path argument #{_1}")
58
+ end
59
+ @client.request(
60
+ method: :delete,
61
+ path: ["entitlements/%1$s/grants/%2$s", id, grant_id],
62
+ model: Dodopayments::Entitlements::EntitlementGrant,
63
+ options: options
64
+ )
65
+ end
66
+
67
+ # @api private
68
+ #
69
+ # @param client [Dodopayments::Client]
70
+ def initialize(client:)
71
+ @client = client
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,153 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Entitlements
6
+ # @return [Dodopayments::Resources::Entitlements::Files]
7
+ attr_reader :files
8
+
9
+ # @return [Dodopayments::Resources::Entitlements::Grants]
10
+ attr_reader :grants
11
+
12
+ # POST /entitlements
13
+ #
14
+ # @overload create(integration_config:, integration_type:, name:, description: nil, metadata: nil, request_options: {})
15
+ #
16
+ # @param integration_config [Dodopayments::Models::IntegrationConfig::GitHubConfig, Dodopayments::Models::IntegrationConfig::DiscordConfig, Dodopayments::Models::IntegrationConfig::TelegramConfig, Dodopayments::Models::IntegrationConfig::FigmaConfig, Dodopayments::Models::IntegrationConfig::FramerConfig, Dodopayments::Models::IntegrationConfig::NotionConfig, Dodopayments::Models::IntegrationConfig::DigitalFilesConfig, Dodopayments::Models::IntegrationConfig::LicenseKeyConfig] Platform-specific configuration (validated per integration_type)
17
+ #
18
+ # @param integration_type [Symbol, Dodopayments::Models::EntitlementIntegrationType] Which platform integration this entitlement uses
19
+ #
20
+ # @param name [String] Display name for this entitlement
21
+ #
22
+ # @param description [String, nil] Optional description
23
+ #
24
+ # @param metadata [Hash{Symbol=>String}] Additional metadata for the entitlement
25
+ #
26
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
27
+ #
28
+ # @return [Dodopayments::Models::Entitlement]
29
+ #
30
+ # @see Dodopayments::Models::EntitlementCreateParams
31
+ def create(params)
32
+ parsed, options = Dodopayments::EntitlementCreateParams.dump_request(params)
33
+ @client.request(
34
+ method: :post,
35
+ path: "entitlements",
36
+ body: parsed,
37
+ model: Dodopayments::Entitlement,
38
+ options: options
39
+ )
40
+ end
41
+
42
+ # GET /entitlements/{id}
43
+ #
44
+ # @overload retrieve(id, request_options: {})
45
+ #
46
+ # @param id [String] Entitlement ID
47
+ #
48
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
49
+ #
50
+ # @return [Dodopayments::Models::Entitlement]
51
+ #
52
+ # @see Dodopayments::Models::EntitlementRetrieveParams
53
+ def retrieve(id, params = {})
54
+ @client.request(
55
+ method: :get,
56
+ path: ["entitlements/%1$s", id],
57
+ model: Dodopayments::Entitlement,
58
+ options: params[:request_options]
59
+ )
60
+ end
61
+
62
+ # Some parameter documentations has been truncated, see
63
+ # {Dodopayments::Models::EntitlementUpdateParams} for more details.
64
+ #
65
+ # PATCH /entitlements/{id}
66
+ #
67
+ # @overload update(id, description: nil, integration_config: nil, metadata: nil, name: nil, request_options: {})
68
+ #
69
+ # @param id [String] Entitlement ID
70
+ #
71
+ # @param description [String, nil]
72
+ #
73
+ # @param integration_config [Dodopayments::Models::IntegrationConfig::GitHubConfig, Dodopayments::Models::IntegrationConfig::DiscordConfig, Dodopayments::Models::IntegrationConfig::TelegramConfig, Dodopayments::Models::IntegrationConfig::FigmaConfig, Dodopayments::Models::IntegrationConfig::FramerConfig, Dodopayments::Models::IntegrationConfig::NotionConfig, Dodopayments::Models::IntegrationConfig::DigitalFilesConfig, Dodopayments::Models::IntegrationConfig::LicenseKeyConfig, nil] Integration-specific configuration supplied when creating or updating
74
+ #
75
+ # @param metadata [Hash{Symbol=>String}, nil]
76
+ #
77
+ # @param name [String, nil]
78
+ #
79
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
80
+ #
81
+ # @return [Dodopayments::Models::Entitlement]
82
+ #
83
+ # @see Dodopayments::Models::EntitlementUpdateParams
84
+ def update(id, params = {})
85
+ parsed, options = Dodopayments::EntitlementUpdateParams.dump_request(params)
86
+ @client.request(
87
+ method: :patch,
88
+ path: ["entitlements/%1$s", id],
89
+ body: parsed,
90
+ model: Dodopayments::Entitlement,
91
+ options: options
92
+ )
93
+ end
94
+
95
+ # GET /entitlements
96
+ #
97
+ # @overload list(integration_type: nil, page_number: nil, page_size: nil, request_options: {})
98
+ #
99
+ # @param integration_type [Symbol, Dodopayments::Models::EntitlementListParams::IntegrationType] Filter by integration type
100
+ #
101
+ # @param page_number [Integer] Page number (default 0)
102
+ #
103
+ # @param page_size [Integer] Page size (default 10, max 100)
104
+ #
105
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
106
+ #
107
+ # @return [Dodopayments::Internal::DefaultPageNumberPagination<Dodopayments::Models::Entitlement>]
108
+ #
109
+ # @see Dodopayments::Models::EntitlementListParams
110
+ def list(params = {})
111
+ parsed, options = Dodopayments::EntitlementListParams.dump_request(params)
112
+ query = Dodopayments::Internal::Util.encode_query_params(parsed)
113
+ @client.request(
114
+ method: :get,
115
+ path: "entitlements",
116
+ query: query,
117
+ page: Dodopayments::Internal::DefaultPageNumberPagination,
118
+ model: Dodopayments::Entitlement,
119
+ options: options
120
+ )
121
+ end
122
+
123
+ # DELETE /entitlements/{id} (soft-delete)
124
+ #
125
+ # @overload delete(id, request_options: {})
126
+ #
127
+ # @param id [String] Entitlement ID
128
+ #
129
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
130
+ #
131
+ # @return [nil]
132
+ #
133
+ # @see Dodopayments::Models::EntitlementDeleteParams
134
+ def delete(id, params = {})
135
+ @client.request(
136
+ method: :delete,
137
+ path: ["entitlements/%1$s", id],
138
+ model: NilClass,
139
+ options: params[:request_options]
140
+ )
141
+ end
142
+
143
+ # @api private
144
+ #
145
+ # @param client [Dodopayments::Client]
146
+ def initialize(client:)
147
+ @client = client
148
+ @files = Dodopayments::Resources::Entitlements::Files.new(client: client)
149
+ @grants = Dodopayments::Resources::Entitlements::Grants.new(client: client)
150
+ end
151
+ end
152
+ end
153
+ end
@@ -43,7 +43,9 @@ module Dodopayments
43
43
  )
44
44
  end
45
45
 
46
- # @overload list(license_key_id: nil, page_number: nil, page_size: nil, request_options: {})
46
+ # @overload list(grant_id: nil, license_key_id: nil, page_number: nil, page_size: nil, request_options: {})
47
+ #
48
+ # @param grant_id [String, nil] Filter instances by entitlement grant ID
47
49
  #
48
50
  # @param license_key_id [String, nil] Filter by license key ID
49
51
  #
@@ -8,13 +8,15 @@ module Dodopayments
8
8
  # Some parameter documentations has been truncated, see
9
9
  # {Dodopayments::Models::PaymentCreateParams} for more details.
10
10
  #
11
- # @overload create(billing:, customer:, product_cart:, allowed_payment_method_types: nil, billing_currency: nil, discount_code: nil, force_3ds: nil, metadata: nil, payment_link: nil, payment_method_id: nil, redirect_immediately: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, tax_id: nil, request_options: {})
11
+ # @overload create(billing:, customer:, product_cart:, adaptive_currency_fees_inclusive: nil, allowed_payment_method_types: nil, billing_currency: nil, discount_code: nil, force_3ds: nil, metadata: nil, payment_link: nil, payment_method_id: nil, redirect_immediately: nil, require_phone_number: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, tax_id: nil, request_options: {})
12
12
  #
13
13
  # @param billing [Dodopayments::Models::BillingAddress] Billing address details for the payment
14
14
  #
15
15
  # @param customer [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::NewCustomer] Customer information for the payment
16
16
  #
17
- # @param product_cart [Array<Dodopayments::Models::PaymentCreateParams::ProductCart>] List of products in the cart. Must contain at least 1 and at most 100 items.
17
+ # @param product_cart [Array<Dodopayments::Models::OneTimeProductCartItem>] List of products in the cart. Must contain at least 1 and at most 100 items.
18
+ #
19
+ # @param adaptive_currency_fees_inclusive [Boolean, nil] Whether adaptive currency fees should be included in the price (true) or added o
18
20
  #
19
21
  # @param allowed_payment_method_types [Array<Symbol, Dodopayments::Models::PaymentMethodTypes>, nil] List of payment methods allowed during checkout.
20
22
  #
@@ -32,6 +34,8 @@ module Dodopayments
32
34
  #
33
35
  # @param redirect_immediately [Boolean] If true, redirects the customer immediately after payment completion
34
36
  #
37
+ # @param require_phone_number [Boolean] If true, the customer's phone number is required to create this payment.
38
+ #
35
39
  # @param return_url [String, nil] Optional URL to redirect the customer after payment.
36
40
  #
37
41
  # @param short_link [Boolean, nil] If true, returns a shortened payment link.
@@ -12,7 +12,7 @@ module Dodopayments
12
12
  # Some parameter documentations has been truncated, see
13
13
  # {Dodopayments::Models::ProductCreateParams} for more details.
14
14
  #
15
- # @overload create(name:, price:, tax_category:, addons: nil, brand_id: nil, credit_entitlements: nil, description: nil, digital_product_delivery: nil, entitlement_ids: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, metadata: nil, request_options: {})
15
+ # @overload create(name:, price:, tax_category:, addons: nil, brand_id: nil, credit_entitlements: nil, description: nil, digital_product_delivery: nil, entitlements: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, metadata: nil, request_options: {})
16
16
  #
17
17
  # @param name [String] Name of the product
18
18
  #
@@ -30,7 +30,7 @@ module Dodopayments
30
30
  #
31
31
  # @param digital_product_delivery [Dodopayments::Models::ProductCreateParams::DigitalProductDelivery, nil] Choose how you would like you digital product delivered
32
32
  #
33
- # @param entitlement_ids [Array<String>, nil] Optional entitlement IDs to attach to this product (max 20)
33
+ # @param entitlements [Array<Dodopayments::Models::AttachProductEntitlement>, nil] Optional entitlements to attach to this product (max 20)
34
34
  #
35
35
  # @param license_key_activation_message [String, nil] Optional message displayed during license key activation
36
36
  #
@@ -79,7 +79,7 @@ module Dodopayments
79
79
  # Some parameter documentations has been truncated, see
80
80
  # {Dodopayments::Models::ProductUpdateParams} for more details.
81
81
  #
82
- # @overload update(id, addons: nil, brand_id: nil, credit_entitlements: nil, description: nil, digital_product_delivery: nil, entitlement_ids: nil, image_id: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, metadata: nil, name: nil, price: nil, tax_category: nil, request_options: {})
82
+ # @overload update(id, addons: nil, brand_id: nil, credit_entitlements: nil, description: nil, digital_product_delivery: nil, entitlements: nil, image_id: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, metadata: nil, name: nil, price: nil, tax_category: nil, request_options: {})
83
83
  #
84
84
  # @param id [String]
85
85
  #
@@ -93,7 +93,7 @@ module Dodopayments
93
93
  #
94
94
  # @param digital_product_delivery [Dodopayments::Models::ProductUpdateParams::DigitalProductDelivery, nil] Choose how you would like you digital product delivered
95
95
  #
96
- # @param entitlement_ids [Array<String>, nil] Entitlement IDs to attach (replaces all existing when present)
96
+ # @param entitlements [Array<Dodopayments::Models::AttachProductEntitlement>, nil] Entitlements to attach (replaces all existing when present)
97
97
  #
98
98
  # @param image_id [String, nil] Product image id after its uploaded to S3
99
99
  #
@@ -8,7 +8,7 @@ module Dodopayments
8
8
  # Some parameter documentations has been truncated, see
9
9
  # {Dodopayments::Models::SubscriptionCreateParams} for more details.
10
10
  #
11
- # @overload create(billing:, customer:, product_id:, quantity:, addons: nil, allowed_payment_method_types: nil, billing_currency: nil, discount_code: nil, force_3ds: nil, metadata: nil, on_demand: nil, one_time_product_cart: nil, payment_link: nil, payment_method_id: nil, redirect_immediately: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, tax_id: nil, trial_period_days: nil, request_options: {})
11
+ # @overload create(billing:, customer:, product_id:, quantity:, addons: nil, allowed_payment_method_types: nil, billing_currency: nil, discount_code: nil, force_3ds: nil, mandate_min_amount_inr_paise: nil, metadata: nil, on_demand: nil, one_time_product_cart: nil, payment_link: nil, payment_method_id: nil, redirect_immediately: nil, require_phone_number: nil, return_url: nil, short_link: nil, show_saved_payment_methods: nil, tax_id: nil, trial_period_days: nil, request_options: {})
12
12
  #
13
13
  # @param billing [Dodopayments::Models::BillingAddress] Billing address information for the subscription
14
14
  #
@@ -28,11 +28,13 @@ module Dodopayments
28
28
  #
29
29
  # @param force_3ds [Boolean, nil] Override merchant default 3DS behaviour for this subscription
30
30
  #
31
+ # @param mandate_min_amount_inr_paise [Integer, nil] Override the merchant-level mandate floor (in INR paise) for INR
32
+ #
31
33
  # @param metadata [Hash{Symbol=>String}] Additional metadata for the subscription
32
34
  #
33
35
  # @param on_demand [Dodopayments::Models::OnDemandSubscription, nil]
34
36
  #
35
- # @param one_time_product_cart [Array<Dodopayments::Models::SubscriptionCreateParams::OneTimeProductCart>, nil] List of one time products that will be bundled with the first payment for this s
37
+ # @param one_time_product_cart [Array<Dodopayments::Models::OneTimeProductCartItem>, nil] List of one time products that will be bundled with the first payment for this s
36
38
  #
37
39
  # @param payment_link [Boolean, nil] If true, generates a payment link.
38
40
  #
@@ -40,6 +42,8 @@ module Dodopayments
40
42
  #
41
43
  # @param redirect_immediately [Boolean] If true, redirects the customer immediately after payment completion
42
44
  #
45
+ # @param require_phone_number [Boolean] If true, the customer's phone number is required to create this subscription.
46
+ #
43
47
  # @param return_url [String, nil] Optional URL to redirect after successful subscription creation
44
48
  #
45
49
  # @param short_link [Boolean, nil] If true, returns a shortened payment link.
@@ -84,7 +88,10 @@ module Dodopayments
84
88
  )
85
89
  end
86
90
 
87
- # @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, credit_entitlement_cart: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, tax_id: nil, request_options: {})
91
+ # Some parameter documentations has been truncated, see
92
+ # {Dodopayments::Models::SubscriptionUpdateParams} for more details.
93
+ #
94
+ # @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, tax_id: nil, request_options: {})
88
95
  #
89
96
  # @param subscription_id [String] Subscription Id
90
97
  #
@@ -94,6 +101,10 @@ module Dodopayments
94
101
  #
95
102
  # @param cancel_reason [Symbol, Dodopayments::Models::SubscriptionUpdateParams::CancelReason, nil]
96
103
  #
104
+ # @param cancellation_comment [String, nil] Free-text cancellation comment (only valid when cancelling or scheduling cancell
105
+ #
106
+ # @param cancellation_feedback [Symbol, Dodopayments::Models::CancellationFeedback, nil] Customer-supplied churn reason (only valid when cancelling or scheduling cancell
107
+ #
97
108
  # @param credit_entitlement_cart [Array<Dodopayments::Models::SubscriptionUpdateParams::CreditEntitlementCart>, nil] Update credit entitlement cart settings
98
109
  #
99
110
  # @param customer_name [String, nil]
@@ -181,7 +192,7 @@ module Dodopayments
181
192
  # Some parameter documentations has been truncated, see
182
193
  # {Dodopayments::Models::SubscriptionChangePlanParams} for more details.
183
194
  #
184
- # @overload change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, discount_code: nil, effective_at: nil, metadata: nil, on_payment_failure: nil, request_options: {})
195
+ # @overload change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, adaptive_currency_fees_inclusive: nil, addons: nil, discount_code: nil, effective_at: nil, metadata: nil, on_payment_failure: nil, request_options: {})
185
196
  #
186
197
  # @param subscription_id [String] Subscription Id
187
198
  #
@@ -191,6 +202,8 @@ module Dodopayments
191
202
  #
192
203
  # @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
193
204
  #
205
+ # @param adaptive_currency_fees_inclusive [Boolean, nil] Whether adaptive currency fees should be included in the price (true) or added o
206
+ #
194
207
  # @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
195
208
  #
196
209
  # @param discount_code [String, nil] Optional discount code to apply to the new plan.
@@ -255,7 +268,7 @@ module Dodopayments
255
268
  # Some parameter documentations has been truncated, see
256
269
  # {Dodopayments::Models::SubscriptionPreviewChangePlanParams} for more details.
257
270
  #
258
- # @overload preview_change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, discount_code: nil, effective_at: nil, metadata: nil, on_payment_failure: nil, request_options: {})
271
+ # @overload preview_change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, adaptive_currency_fees_inclusive: nil, addons: nil, discount_code: nil, effective_at: nil, metadata: nil, on_payment_failure: nil, request_options: {})
259
272
  #
260
273
  # @param subscription_id [String] Subscription Id
261
274
  #
@@ -265,6 +278,8 @@ module Dodopayments
265
278
  #
266
279
  # @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
267
280
  #
281
+ # @param adaptive_currency_fees_inclusive [Boolean, nil] Whether adaptive currency fees should be included in the price (true) or added o
282
+ #
268
283
  # @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
269
284
  #
270
285
  # @param discount_code [String, nil] Optional discount code to apply to the new plan.
@@ -167,7 +167,7 @@ module Dodopayments
167
167
 
168
168
  # @param payload [String] The raw webhook payload as a string
169
169
  #
170
- # @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::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::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
170
+ # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
171
171
  def unsafe_unwrap(payload)
172
172
  parsed = JSON.parse(payload, symbolize_names: true)
173
173
  Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnsafeUnwrapWebhookEvent, parsed)
@@ -179,7 +179,7 @@ module Dodopayments
179
179
  #
180
180
  # @param key [String, nil] The webhook signing key
181
181
  #
182
- # @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::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::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
182
+ # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
183
183
  def unwrap(payload, headers:, key: @client.webhook_key)
184
184
  if key.nil?
185
185
  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.8.1"
4
+ VERSION = "2.9.1"
5
5
  end