dodopayments 2.8.0 → 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 +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 +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
@@ -15,7 +15,8 @@ module Dodopayments
15
15
  allow_phone_number_collection: bool,
16
16
  allow_tax_id: bool,
17
17
  always_create_new_customer: bool,
18
- redirect_immediately: bool
18
+ redirect_immediately: bool,
19
+ require_phone_number: bool
19
20
  }
20
21
 
21
22
  class CheckoutSessionFlags < Dodopayments::Internal::Type::BaseModel
@@ -75,6 +76,10 @@ module Dodopayments
75
76
 
76
77
  def redirect_immediately=: (bool) -> bool
77
78
 
79
+ attr_reader require_phone_number: bool?
80
+
81
+ def require_phone_number=: (bool) -> bool
82
+
78
83
  def initialize: (
79
84
  ?allow_currency_selection: bool,
80
85
  ?allow_customer_editing_city: bool,
@@ -89,7 +94,8 @@ module Dodopayments
89
94
  ?allow_phone_number_collection: bool,
90
95
  ?allow_tax_id: bool,
91
96
  ?always_create_new_customer: bool,
92
- ?redirect_immediately: bool
97
+ ?redirect_immediately: bool,
98
+ ?require_phone_number: bool
93
99
  ) -> void
94
100
 
95
101
  def to_hash: -> {
@@ -106,7 +112,8 @@ module Dodopayments
106
112
  allow_phone_number_collection: bool,
107
113
  allow_tax_id: bool,
108
114
  always_create_new_customer: bool,
109
- redirect_immediately: bool
115
+ redirect_immediately: bool,
116
+ require_phone_number: bool
110
117
  }
111
118
  end
112
119
  end
@@ -14,6 +14,7 @@ module Dodopayments
14
14
  discount_code: String?,
15
15
  feature_flags: Dodopayments::CheckoutSessionFlags,
16
16
  :force_3ds => bool?,
17
+ mandate_min_amount_inr_paise: Integer?,
17
18
  metadata: ::Hash[Symbol, String]?,
18
19
  minimal_address: bool,
19
20
  payment_method_id: String?,
@@ -60,6 +61,8 @@ module Dodopayments
60
61
 
61
62
  attr_accessor force_3ds: bool?
62
63
 
64
+ attr_accessor mandate_min_amount_inr_paise: Integer?
65
+
63
66
  attr_accessor metadata: ::Hash[Symbol, String]?
64
67
 
65
68
  attr_reader minimal_address: bool?
@@ -97,6 +100,7 @@ module Dodopayments
97
100
  ?discount_code: String?,
98
101
  ?feature_flags: Dodopayments::CheckoutSessionFlags,
99
102
  ?force_3ds: bool?,
103
+ ?mandate_min_amount_inr_paise: Integer?,
100
104
  ?metadata: ::Hash[Symbol, String]?,
101
105
  ?minimal_address: bool,
102
106
  ?payment_method_id: String?,
@@ -121,6 +125,7 @@ module Dodopayments
121
125
  discount_code: String?,
122
126
  feature_flags: Dodopayments::CheckoutSessionFlags,
123
127
  :force_3ds => bool?,
128
+ mandate_min_amount_inr_paise: Integer?,
124
129
  metadata: ::Hash[Symbol, String]?,
125
130
  minimal_address: bool,
126
131
  payment_method_id: String?,
@@ -99,6 +99,7 @@ module Dodopayments
99
99
  | :credit_rolled_over
100
100
  | :rollover_forfeited
101
101
  | :overage_charged
102
+ | :overage_reset
102
103
  | :auto_top_up
103
104
  | :manual_adjustment
104
105
  | :refund
@@ -112,6 +113,7 @@ module Dodopayments
112
113
  CREDIT_ROLLED_OVER: :credit_rolled_over
113
114
  ROLLOVER_FORFEITED: :rollover_forfeited
114
115
  OVERAGE_CHARGED: :overage_charged
116
+ OVERAGE_RESET: :overage_reset
115
117
  AUTO_TOP_UP: :auto_top_up
116
118
  MANUAL_ADJUSTMENT: :manual_adjustment
117
119
  REFUND: :refund
@@ -0,0 +1,45 @@
1
+ module Dodopayments
2
+ module Models
3
+ type credit_overage_reset_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::CreditOverageResetWebhookEvent::type_
9
+ }
10
+
11
+ class CreditOverageResetWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::CreditEntitlements::CreditLedgerEntry
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::CreditOverageResetWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::CreditOverageResetWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::CreditOverageResetWebhookEvent::type_
32
+ }
33
+
34
+ type type_ = :"credit.overage_reset"
35
+
36
+ module Type
37
+ extend Dodopayments::Internal::Type::Enum
38
+
39
+ CREDIT_OVERAGE_RESET: :"credit.overage_reset"
40
+
41
+ def self?.values: -> ::Array[Dodopayments::Models::CreditOverageResetWebhookEvent::type_]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,23 @@
1
+ module Dodopayments
2
+ module Models
3
+ type customer_list_entitlements_params =
4
+ { customer_id: String } & Dodopayments::Internal::Type::request_parameters
5
+
6
+ class CustomerListEntitlementsParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ attr_accessor customer_id: String
11
+
12
+ def initialize: (
13
+ customer_id: String,
14
+ ?request_options: Dodopayments::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ customer_id: String,
19
+ request_options: Dodopayments::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,95 @@
1
+ module Dodopayments
2
+ module Models
3
+ type customer_list_entitlements_response =
4
+ {
5
+ items: ::Array[Dodopayments::Models::CustomerListEntitlementsResponse::Item]
6
+ }
7
+
8
+ class CustomerListEntitlementsResponse < Dodopayments::Internal::Type::BaseModel
9
+ attr_accessor items: ::Array[Dodopayments::Models::CustomerListEntitlementsResponse::Item]
10
+
11
+ def initialize: (
12
+ items: ::Array[Dodopayments::Models::CustomerListEntitlementsResponse::Item]
13
+ ) -> void
14
+
15
+ def to_hash: -> {
16
+ items: ::Array[Dodopayments::Models::CustomerListEntitlementsResponse::Item]
17
+ }
18
+
19
+ type item =
20
+ {
21
+ created_at: Time,
22
+ entitlement_id: String,
23
+ entitlement_name: String,
24
+ grant_id: String,
25
+ integration_type: Dodopayments::Models::entitlement_integration_type,
26
+ status: Dodopayments::Models::CustomerListEntitlementsResponse::Item::status,
27
+ updated_at: Time,
28
+ delivered_at: Time?,
29
+ entitlement_description: String?,
30
+ revoked_at: Time?
31
+ }
32
+
33
+ class Item < Dodopayments::Internal::Type::BaseModel
34
+ attr_accessor created_at: Time
35
+
36
+ attr_accessor entitlement_id: String
37
+
38
+ attr_accessor entitlement_name: String
39
+
40
+ attr_accessor grant_id: String
41
+
42
+ attr_accessor integration_type: Dodopayments::Models::entitlement_integration_type
43
+
44
+ attr_accessor status: Dodopayments::Models::CustomerListEntitlementsResponse::Item::status
45
+
46
+ attr_accessor updated_at: Time
47
+
48
+ attr_accessor delivered_at: Time?
49
+
50
+ attr_accessor entitlement_description: String?
51
+
52
+ attr_accessor revoked_at: Time?
53
+
54
+ def initialize: (
55
+ created_at: Time,
56
+ entitlement_id: String,
57
+ entitlement_name: String,
58
+ grant_id: String,
59
+ integration_type: Dodopayments::Models::entitlement_integration_type,
60
+ status: Dodopayments::Models::CustomerListEntitlementsResponse::Item::status,
61
+ updated_at: Time,
62
+ ?delivered_at: Time?,
63
+ ?entitlement_description: String?,
64
+ ?revoked_at: Time?
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ created_at: Time,
69
+ entitlement_id: String,
70
+ entitlement_name: String,
71
+ grant_id: String,
72
+ integration_type: Dodopayments::Models::entitlement_integration_type,
73
+ status: Dodopayments::Models::CustomerListEntitlementsResponse::Item::status,
74
+ updated_at: Time,
75
+ delivered_at: Time?,
76
+ entitlement_description: String?,
77
+ revoked_at: Time?
78
+ }
79
+
80
+ type status = :pending | :delivered | :failed | :revoked
81
+
82
+ module Status
83
+ extend Dodopayments::Internal::Type::Enum
84
+
85
+ PENDING: :pending
86
+ DELIVERED: :delivered
87
+ FAILED: :failed
88
+ REVOKED: :revoked
89
+
90
+ def self?.values: -> ::Array[Dodopayments::Models::CustomerListEntitlementsResponse::Item::status]
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -2,27 +2,27 @@ module Dodopayments
2
2
  module Models
3
3
  type digital_product_delivery =
4
4
  {
5
+ files: ::Array[Dodopayments::DigitalProductDeliveryFile],
5
6
  external_url: String?,
6
- files: ::Array[Dodopayments::DigitalProductDeliveryFile]?,
7
7
  instructions: String?
8
8
  }
9
9
 
10
10
  class DigitalProductDelivery < Dodopayments::Internal::Type::BaseModel
11
- attr_accessor external_url: String?
11
+ attr_accessor files: ::Array[Dodopayments::DigitalProductDeliveryFile]
12
12
 
13
- attr_accessor files: ::Array[Dodopayments::DigitalProductDeliveryFile]?
13
+ attr_accessor external_url: String?
14
14
 
15
15
  attr_accessor instructions: String?
16
16
 
17
17
  def initialize: (
18
+ files: ::Array[Dodopayments::DigitalProductDeliveryFile],
18
19
  ?external_url: String?,
19
- ?files: ::Array[Dodopayments::DigitalProductDeliveryFile]?,
20
20
  ?instructions: String?
21
21
  ) -> void
22
22
 
23
23
  def to_hash: -> {
24
+ files: ::Array[Dodopayments::DigitalProductDeliveryFile],
24
25
  external_url: String?,
25
- files: ::Array[Dodopayments::DigitalProductDeliveryFile]?,
26
26
  instructions: String?
27
27
  }
28
28
  end
@@ -1,18 +1,45 @@
1
1
  module Dodopayments
2
2
  module Models
3
3
  type digital_product_delivery_file =
4
- { file_id: String, file_name: String, url: String }
4
+ {
5
+ download_url: String,
6
+ expires_in: Integer,
7
+ file_id: String,
8
+ filename: String,
9
+ content_type: String?,
10
+ file_size: Integer?
11
+ }
5
12
 
6
13
  class DigitalProductDeliveryFile < Dodopayments::Internal::Type::BaseModel
14
+ attr_accessor download_url: String
15
+
16
+ attr_accessor expires_in: Integer
17
+
7
18
  attr_accessor file_id: String
8
19
 
9
- attr_accessor file_name: String
20
+ attr_accessor filename: String
21
+
22
+ attr_accessor content_type: String?
10
23
 
11
- attr_accessor url: String
24
+ attr_accessor file_size: Integer?
12
25
 
13
- def initialize: (file_id: String, file_name: String, url: String) -> void
26
+ def initialize: (
27
+ download_url: String,
28
+ expires_in: Integer,
29
+ file_id: String,
30
+ filename: String,
31
+ ?content_type: String?,
32
+ ?file_size: Integer?
33
+ ) -> void
14
34
 
15
- def to_hash: -> { file_id: String, file_name: String, url: String }
35
+ def to_hash: -> {
36
+ download_url: String,
37
+ expires_in: Integer,
38
+ file_id: String,
39
+ filename: String,
40
+ content_type: String?,
41
+ file_size: Integer?
42
+ }
16
43
  end
17
44
  end
18
45
  end
@@ -0,0 +1,67 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement =
4
+ {
5
+ id: String,
6
+ business_id: String,
7
+ created_at: Time,
8
+ integration_config: Dodopayments::Models::integration_config_response,
9
+ integration_type: Dodopayments::Models::entitlement_integration_type,
10
+ is_active: bool,
11
+ name: String,
12
+ updated_at: Time,
13
+ description: String?,
14
+ metadata: top
15
+ }
16
+
17
+ class Entitlement < Dodopayments::Internal::Type::BaseModel
18
+ attr_accessor id: String
19
+
20
+ attr_accessor business_id: String
21
+
22
+ attr_accessor created_at: Time
23
+
24
+ attr_accessor integration_config: Dodopayments::Models::integration_config_response
25
+
26
+ attr_accessor integration_type: Dodopayments::Models::entitlement_integration_type
27
+
28
+ attr_accessor is_active: bool
29
+
30
+ attr_accessor name: String
31
+
32
+ attr_accessor updated_at: Time
33
+
34
+ attr_accessor description: String?
35
+
36
+ attr_reader metadata: top?
37
+
38
+ def metadata=: (top) -> top
39
+
40
+ def initialize: (
41
+ id: String,
42
+ business_id: String,
43
+ created_at: Time,
44
+ integration_config: Dodopayments::Models::integration_config_response,
45
+ integration_type: Dodopayments::Models::entitlement_integration_type,
46
+ is_active: bool,
47
+ name: String,
48
+ updated_at: Time,
49
+ ?description: String?,
50
+ ?metadata: top
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ id: String,
55
+ business_id: String,
56
+ created_at: Time,
57
+ integration_config: Dodopayments::Models::integration_config_response,
58
+ integration_type: Dodopayments::Models::entitlement_integration_type,
59
+ is_active: bool,
60
+ name: String,
61
+ updated_at: Time,
62
+ description: String?,
63
+ metadata: top
64
+ }
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,46 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_create_params =
4
+ {
5
+ integration_config: Dodopayments::Models::integration_config,
6
+ integration_type: Dodopayments::Models::entitlement_integration_type,
7
+ name: String,
8
+ description: String?,
9
+ metadata: ::Hash[Symbol, String]?
10
+ }
11
+ & Dodopayments::Internal::Type::request_parameters
12
+
13
+ class EntitlementCreateParams < Dodopayments::Internal::Type::BaseModel
14
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
15
+ include Dodopayments::Internal::Type::RequestParameters
16
+
17
+ attr_accessor integration_config: Dodopayments::Models::integration_config
18
+
19
+ attr_accessor integration_type: Dodopayments::Models::entitlement_integration_type
20
+
21
+ attr_accessor name: String
22
+
23
+ attr_accessor description: String?
24
+
25
+ attr_accessor metadata: ::Hash[Symbol, String]?
26
+
27
+ def initialize: (
28
+ integration_config: Dodopayments::Models::integration_config,
29
+ integration_type: Dodopayments::Models::entitlement_integration_type,
30
+ name: String,
31
+ ?description: String?,
32
+ ?metadata: ::Hash[Symbol, String]?,
33
+ ?request_options: Dodopayments::request_opts
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ integration_config: Dodopayments::Models::integration_config,
38
+ integration_type: Dodopayments::Models::entitlement_integration_type,
39
+ name: String,
40
+ description: String?,
41
+ metadata: ::Hash[Symbol, String]?,
42
+ request_options: Dodopayments::RequestOptions
43
+ }
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,23 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_delete_params =
4
+ { id: String } & Dodopayments::Internal::Type::request_parameters
5
+
6
+ class EntitlementDeleteParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ attr_accessor id: String
11
+
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Dodopayments::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ id: String,
19
+ request_options: Dodopayments::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,45 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_grant_created_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Entitlements::EntitlementGrant,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::EntitlementGrantCreatedWebhookEvent::type_
9
+ }
10
+
11
+ class EntitlementGrantCreatedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::Entitlements::EntitlementGrant
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::EntitlementGrantCreatedWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Entitlements::EntitlementGrant,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::EntitlementGrantCreatedWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Entitlements::EntitlementGrant,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::EntitlementGrantCreatedWebhookEvent::type_
32
+ }
33
+
34
+ type type_ = :"entitlement_grant.created"
35
+
36
+ module Type
37
+ extend Dodopayments::Internal::Type::Enum
38
+
39
+ ENTITLEMENT_GRANT_CREATED: :"entitlement_grant.created"
40
+
41
+ def self?.values: -> ::Array[Dodopayments::Models::EntitlementGrantCreatedWebhookEvent::type_]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_grant_delivered_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Entitlements::EntitlementGrant,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent::type_
9
+ }
10
+
11
+ class EntitlementGrantDeliveredWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::Entitlements::EntitlementGrant
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Entitlements::EntitlementGrant,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Entitlements::EntitlementGrant,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent::type_
32
+ }
33
+
34
+ type type_ = :"entitlement_grant.delivered"
35
+
36
+ module Type
37
+ extend Dodopayments::Internal::Type::Enum
38
+
39
+ ENTITLEMENT_GRANT_DELIVERED: :"entitlement_grant.delivered"
40
+
41
+ def self?.values: -> ::Array[Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent::type_]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_grant_failed_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Entitlements::EntitlementGrant,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::EntitlementGrantFailedWebhookEvent::type_
9
+ }
10
+
11
+ class EntitlementGrantFailedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::Entitlements::EntitlementGrant
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::EntitlementGrantFailedWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Entitlements::EntitlementGrant,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::EntitlementGrantFailedWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Entitlements::EntitlementGrant,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::EntitlementGrantFailedWebhookEvent::type_
32
+ }
33
+
34
+ type type_ = :"entitlement_grant.failed"
35
+
36
+ module Type
37
+ extend Dodopayments::Internal::Type::Enum
38
+
39
+ ENTITLEMENT_GRANT_FAILED: :"entitlement_grant.failed"
40
+
41
+ def self?.values: -> ::Array[Dodopayments::Models::EntitlementGrantFailedWebhookEvent::type_]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_grant_revoked_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Entitlements::EntitlementGrant,
7
+ timestamp: Time,
8
+ type: Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::type_
9
+ }
10
+
11
+ class EntitlementGrantRevokedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::Entitlements::EntitlementGrant
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::type_
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Entitlements::EntitlementGrant,
23
+ timestamp: Time,
24
+ type: Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::type_
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Entitlements::EntitlementGrant,
30
+ timestamp: Time,
31
+ type: Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::type_
32
+ }
33
+
34
+ type type_ = :"entitlement_grant.revoked"
35
+
36
+ module Type
37
+ extend Dodopayments::Internal::Type::Enum
38
+
39
+ ENTITLEMENT_GRANT_REVOKED: :"entitlement_grant.revoked"
40
+
41
+ def self?.values: -> ::Array[Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::type_]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,28 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_integration_type =
4
+ :discord
5
+ | :telegram
6
+ | :github
7
+ | :figma
8
+ | :framer
9
+ | :notion
10
+ | :digital_files
11
+ | :license_key
12
+
13
+ module EntitlementIntegrationType
14
+ extend Dodopayments::Internal::Type::Enum
15
+
16
+ DISCORD: :discord
17
+ TELEGRAM: :telegram
18
+ GITHUB: :github
19
+ FIGMA: :figma
20
+ FRAMER: :framer
21
+ NOTION: :notion
22
+ DIGITAL_FILES: :digital_files
23
+ LICENSE_KEY: :license_key
24
+
25
+ def self?.values: -> ::Array[Dodopayments::Models::entitlement_integration_type]
26
+ end
27
+ end
28
+ end