dodopayments 2.8.1 → 2.9.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -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 +13 -15
  14. data/lib/dodopayments/models/digital_product_delivery_file.rb +32 -8
  15. data/lib/dodopayments/models/entitlement.rb +86 -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 +51 -0
  19. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +51 -0
  20. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +51 -0
  21. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +51 -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 +172 -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 +40 -0
  33. data/lib/dodopayments/models/integration_config.rb +174 -0
  34. data/lib/dodopayments/models/integration_config_response.rb +238 -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 +12 -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 +2 -154
  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 +70 -0
  60. data/lib/dodopayments/resources/entitlements/grants.rb +78 -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 +10 -22
  79. data/rbi/dodopayments/models/digital_product_delivery_file.rbi +40 -8
  80. data/rbi/dodopayments/models/entitlement.rbi +112 -0
  81. data/rbi/dodopayments/models/entitlement_create_params.rbi +112 -0
  82. data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
  83. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +103 -0
  84. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +103 -0
  85. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +102 -0
  86. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +103 -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 +235 -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 +62 -0
  98. data/rbi/dodopayments/models/integration_config.rbi +296 -0
  99. data/rbi/dodopayments/models/integration_config_response.rbi +416 -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 +12 -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 +4 -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 +52 -0
  125. data/rbi/dodopayments/resources/entitlements/grants.rbi +65 -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 +67 -0
  144. data/sig/dodopayments/models/entitlement_create_params.rbs +46 -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 +134 -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 +147 -0
  162. data/sig/dodopayments/models/integration_config_response.rbs +206 -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,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Entitlements
6
+ class Files
7
+ # Companion to `post_entitlement_file`. Deletes the file from the Entitlements
8
+ # Engine (force=true) and atomically removes the `file_id` from the entitlement's
9
+ # `integration_config.digital_file_ids` JSONB array. EE delete happens first; if
10
+ # it fails we surface the error and leave local state untouched.
11
+ #
12
+ # @overload delete(file_id, id:, request_options: {})
13
+ #
14
+ # @param file_id [String] Digital file Id from EE
15
+ #
16
+ # @param id [String] Entitlement Id
17
+ #
18
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [nil]
21
+ #
22
+ # @see Dodopayments::Models::Entitlements::FileDeleteParams
23
+ def delete(file_id, params)
24
+ parsed, options = Dodopayments::Entitlements::FileDeleteParams.dump_request(params)
25
+ id =
26
+ parsed.delete(:id) do
27
+ raise ArgumentError.new("missing required path argument #{_1}")
28
+ end
29
+ @client.request(
30
+ method: :delete,
31
+ path: ["entitlements/%1$s/files/%2$s", id, file_id],
32
+ model: NilClass,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # Streams a multipart/form-data body to the Entitlements Engine
38
+ # (`POST /api/digital-files/dodo/files/upload`) and appends the returned `file_id`
39
+ # to the entitlement's `integration_config.digital_file_ids` using a JSONB array
40
+ # append. Compensates EE-side on local DB write failure (best-effort delete of the
41
+ # just-uploaded file).
42
+ #
43
+ # @overload upload(id, request_options: {})
44
+ #
45
+ # @param id [String] Entitlement Id
46
+ #
47
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
48
+ #
49
+ # @return [Dodopayments::Models::Entitlements::FileUploadResponse]
50
+ #
51
+ # @see Dodopayments::Models::Entitlements::FileUploadParams
52
+ def upload(id, params = {})
53
+ @client.request(
54
+ method: :post,
55
+ path: ["entitlements/%1$s/files", id],
56
+ model: Dodopayments::Models::Entitlements::FileUploadResponse,
57
+ options: params[:request_options]
58
+ )
59
+ end
60
+
61
+ # @api private
62
+ #
63
+ # @param client [Dodopayments::Client]
64
+ def initialize(client:)
65
+ @client = client
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,78 @@
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
+ # Revokes a single entitlement grant for the caller's business. For LicenseKey
40
+ # integrations, also disables the backing license key. Idempotent: re-revoking an
41
+ # already-revoked grant returns 200 with current state. The revocation reason is
42
+ # always set to "manual" for API-initiated revocations.
43
+ #
44
+ # @overload revoke(grant_id, id:, request_options: {})
45
+ #
46
+ # @param grant_id [String] Grant ID
47
+ #
48
+ # @param id [String] Entitlement ID
49
+ #
50
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
51
+ #
52
+ # @return [Dodopayments::Models::Entitlements::EntitlementGrant]
53
+ #
54
+ # @see Dodopayments::Models::Entitlements::GrantRevokeParams
55
+ def revoke(grant_id, params)
56
+ parsed, options = Dodopayments::Entitlements::GrantRevokeParams.dump_request(params)
57
+ id =
58
+ parsed.delete(:id) do
59
+ raise ArgumentError.new("missing required path argument #{_1}")
60
+ end
61
+ @client.request(
62
+ method: :delete,
63
+ path: ["entitlements/%1$s/grants/%2$s", id, grant_id],
64
+ model: Dodopayments::Entitlements::EntitlementGrant,
65
+ options: options
66
+ )
67
+ end
68
+
69
+ # @api private
70
+ #
71
+ # @param client [Dodopayments::Client]
72
+ def initialize(client:)
73
+ @client = client
74
+ end
75
+ end
76
+ end
77
+ end
78
+ 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}, nil] Optional user-facing metadata
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] Platform-specific configuration for an entitlement.
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")