orb-billing 1.9.0 → 1.11.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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/orb/models/customer.rb +139 -100
  5. data/lib/orb/models/customer_create_params.rb +139 -100
  6. data/lib/orb/models/customer_tax_id.rb +214 -102
  7. data/lib/orb/models/customer_update_by_external_id_params.rb +145 -103
  8. data/lib/orb/models/customer_update_params.rb +145 -103
  9. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +2 -2
  10. data/lib/orb/models/customers/cost_list_params.rb +2 -2
  11. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +3 -3
  12. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +3 -3
  13. data/lib/orb/models/dimensional_price_group_update_params.rb +38 -0
  14. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params.rb +44 -0
  15. data/lib/orb/models/invoice.rb +141 -102
  16. data/lib/orb/models/invoice_fetch_upcoming_response.rb +141 -102
  17. data/lib/orb/models/invoice_line_item_create_response.rb +2 -2
  18. data/lib/orb/models/per_price_cost.rb +2 -2
  19. data/lib/orb/models/plan.rb +2 -2
  20. data/lib/orb/models/plan_version.rb +2 -2
  21. data/lib/orb/models/price.rb +245 -1
  22. data/lib/orb/models/price_interval.rb +2 -2
  23. data/lib/orb/models/subscription_fetch_costs_params.rb +2 -2
  24. data/lib/orb/models.rb +2 -0
  25. data/lib/orb/resources/customers/costs.rb +2 -2
  26. data/lib/orb/resources/customers.rb +2 -2
  27. data/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rb +36 -0
  28. data/lib/orb/resources/dimensional_price_groups.rb +31 -0
  29. data/lib/orb/resources/invoices.rb +5 -4
  30. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  31. data/lib/orb/resources/prices.rb +4 -4
  32. data/lib/orb/resources/subscriptions.rb +1 -1
  33. data/lib/orb/version.rb +1 -1
  34. data/lib/orb.rb +2 -0
  35. data/rbi/orb/models/customer.rbi +278 -200
  36. data/rbi/orb/models/customer_create_params.rbi +278 -200
  37. data/rbi/orb/models/customer_tax_id.rbi +214 -102
  38. data/rbi/orb/models/customer_update_by_external_id_params.rbi +288 -204
  39. data/rbi/orb/models/customer_update_params.rbi +288 -204
  40. data/rbi/orb/models/customers/cost_list_by_external_id_params.rbi +2 -2
  41. data/rbi/orb/models/customers/cost_list_params.rbi +2 -2
  42. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +3 -3
  43. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +3 -3
  44. data/rbi/orb/models/dimensional_price_group_update_params.rbi +61 -0
  45. data/rbi/orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params.rbi +66 -0
  46. data/rbi/orb/models/invoice.rbi +280 -201
  47. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +280 -201
  48. data/rbi/orb/models/invoice_line_item_create_response.rbi +2 -1
  49. data/rbi/orb/models/per_price_cost.rbi +2 -1
  50. data/rbi/orb/models/plan.rbi +2 -1
  51. data/rbi/orb/models/plan_version.rbi +2 -1
  52. data/rbi/orb/models/price.rbi +384 -1
  53. data/rbi/orb/models/price_interval.rbi +2 -1
  54. data/rbi/orb/models/subscription_fetch_costs_params.rbi +2 -2
  55. data/rbi/orb/models.rbi +3 -0
  56. data/rbi/orb/resources/customers/costs.rbi +2 -2
  57. data/rbi/orb/resources/customers.rbi +427 -304
  58. data/rbi/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +26 -0
  59. data/rbi/orb/resources/dimensional_price_groups.rbi +26 -0
  60. data/rbi/orb/resources/invoices.rbi +5 -4
  61. data/rbi/orb/resources/subscriptions.rbi +1 -1
  62. data/sig/orb/models/customer_tax_id.rbs +150 -4
  63. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +4 -4
  64. data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +4 -4
  65. data/sig/orb/models/dimensional_price_group_update_params.rbs +31 -0
  66. data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params.rbs +33 -0
  67. data/sig/orb/models/price.rbs +179 -0
  68. data/sig/orb/models.rbs +2 -0
  69. data/sig/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbs +7 -0
  70. data/sig/orb/resources/dimensional_price_groups.rbs +7 -0
  71. metadata +8 -2
@@ -15,7 +15,7 @@ module Orb
15
15
  )
16
16
  end
17
17
 
18
- # The currency to use.
18
+ # The currency or custom pricing unit to use.
19
19
  sig { returns(T.nilable(String)) }
20
20
  attr_accessor :currency
21
21
 
@@ -53,7 +53,7 @@ module Orb
53
53
  ).returns(T.attached_class)
54
54
  end
55
55
  def self.new(
56
- # The currency to use.
56
+ # The currency or custom pricing unit to use.
57
57
  currency: nil,
58
58
  # Costs returned are exclusive of `timeframe_end`.
59
59
  timeframe_end: nil,
@@ -12,7 +12,7 @@ module Orb
12
12
  T.any(Orb::Customers::CostListParams, Orb::Internal::AnyHash)
13
13
  end
14
14
 
15
- # The currency to use.
15
+ # The currency or custom pricing unit to use.
16
16
  sig { returns(T.nilable(String)) }
17
17
  attr_accessor :currency
18
18
 
@@ -44,7 +44,7 @@ module Orb
44
44
  ).returns(T.attached_class)
45
45
  end
46
46
  def self.new(
47
- # The currency to use.
47
+ # The currency or custom pricing unit to use.
48
48
  currency: nil,
49
49
  # Costs returned are exclusive of `timeframe_end`.
50
50
  timeframe_end: nil,
@@ -242,7 +242,7 @@ module Orb
242
242
  # The net terms determines the difference between the invoice date and the issue
243
243
  # date for the invoice. If you intend the invoice to be due on issue, set this
244
244
  # to 0.
245
- sig { returns(Integer) }
245
+ sig { returns(T.nilable(Integer)) }
246
246
  attr_accessor :net_terms
247
247
 
248
248
  # An ISO 8601 format date that denotes when this invoice should be dated in the
@@ -276,7 +276,7 @@ module Orb
276
276
  sig do
277
277
  params(
278
278
  auto_collection: T::Boolean,
279
- net_terms: Integer,
279
+ net_terms: T.nilable(Integer),
280
280
  invoice_date:
281
281
  T.nilable(
282
282
  Orb::Customers::Credits::LedgerCreateEntryByExternalIDParams::InvoiceSettings::InvoiceDate::Variants
@@ -309,7 +309,7 @@ module Orb
309
309
  override.returns(
310
310
  {
311
311
  auto_collection: T::Boolean,
312
- net_terms: Integer,
312
+ net_terms: T.nilable(Integer),
313
313
  invoice_date:
314
314
  T.nilable(
315
315
  Orb::Customers::Credits::LedgerCreateEntryByExternalIDParams::InvoiceSettings::InvoiceDate::Variants
@@ -242,7 +242,7 @@ module Orb
242
242
  # The net terms determines the difference between the invoice date and the issue
243
243
  # date for the invoice. If you intend the invoice to be due on issue, set this
244
244
  # to 0.
245
- sig { returns(Integer) }
245
+ sig { returns(T.nilable(Integer)) }
246
246
  attr_accessor :net_terms
247
247
 
248
248
  # An ISO 8601 format date that denotes when this invoice should be dated in the
@@ -276,7 +276,7 @@ module Orb
276
276
  sig do
277
277
  params(
278
278
  auto_collection: T::Boolean,
279
- net_terms: Integer,
279
+ net_terms: T.nilable(Integer),
280
280
  invoice_date:
281
281
  T.nilable(
282
282
  Orb::Customers::Credits::LedgerCreateEntryParams::InvoiceSettings::InvoiceDate::Variants
@@ -309,7 +309,7 @@ module Orb
309
309
  override.returns(
310
310
  {
311
311
  auto_collection: T::Boolean,
312
- net_terms: Integer,
312
+ net_terms: T.nilable(Integer),
313
313
  invoice_date:
314
314
  T.nilable(
315
315
  Orb::Customers::Credits::LedgerCreateEntryParams::InvoiceSettings::InvoiceDate::Variants
@@ -0,0 +1,61 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class DimensionalPriceGroupUpdateParams < Orb::Internal::Type::BaseModel
6
+ extend Orb::Internal::Type::RequestParameters::Converter
7
+ include Orb::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Orb::DimensionalPriceGroupUpdateParams, Orb::Internal::AnyHash)
12
+ end
13
+
14
+ # An optional user-defined ID for this dimensional price group resource, used
15
+ # throughout the system as an alias for this dimensional price group. Use this
16
+ # field to identify a dimensional price group by an existing identifier in your
17
+ # system.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :external_dimensional_price_group_id
20
+
21
+ # User-specified key/value pairs for the resource. Individual keys can be removed
22
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
23
+ # by setting `metadata` to `null`.
24
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
25
+ attr_accessor :metadata
26
+
27
+ sig do
28
+ params(
29
+ external_dimensional_price_group_id: T.nilable(String),
30
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
31
+ request_options: Orb::RequestOptions::OrHash
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # An optional user-defined ID for this dimensional price group resource, used
36
+ # throughout the system as an alias for this dimensional price group. Use this
37
+ # field to identify a dimensional price group by an existing identifier in your
38
+ # system.
39
+ external_dimensional_price_group_id: nil,
40
+ # User-specified key/value pairs for the resource. Individual keys can be removed
41
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
42
+ # by setting `metadata` to `null`.
43
+ metadata: nil,
44
+ request_options: {}
45
+ )
46
+ end
47
+
48
+ sig do
49
+ override.returns(
50
+ {
51
+ external_dimensional_price_group_id: T.nilable(String),
52
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
53
+ request_options: Orb::RequestOptions
54
+ }
55
+ )
56
+ end
57
+ def to_hash
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,66 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ module DimensionalPriceGroups
6
+ class ExternalDimensionalPriceGroupIDUpdateParams < Orb::Internal::Type::BaseModel
7
+ extend Orb::Internal::Type::RequestParameters::Converter
8
+ include Orb::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Orb::DimensionalPriceGroups::ExternalDimensionalPriceGroupIDUpdateParams,
14
+ Orb::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # An optional user-defined ID for this dimensional price group resource, used
19
+ # throughout the system as an alias for this dimensional price group. Use this
20
+ # field to identify a dimensional price group by an existing identifier in your
21
+ # system.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :body_external_dimensional_price_group_id
24
+
25
+ # User-specified key/value pairs for the resource. Individual keys can be removed
26
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
27
+ # by setting `metadata` to `null`.
28
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
29
+ attr_accessor :metadata
30
+
31
+ sig do
32
+ params(
33
+ body_external_dimensional_price_group_id: T.nilable(String),
34
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
35
+ request_options: Orb::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # An optional user-defined ID for this dimensional price group resource, used
40
+ # throughout the system as an alias for this dimensional price group. Use this
41
+ # field to identify a dimensional price group by an existing identifier in your
42
+ # system.
43
+ body_external_dimensional_price_group_id: nil,
44
+ # User-specified key/value pairs for the resource. Individual keys can be removed
45
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
46
+ # by setting `metadata` to `null`.
47
+ metadata: nil,
48
+ request_options: {}
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ body_external_dimensional_price_group_id: T.nilable(String),
56
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
57
+ request_options: Orb::RequestOptions
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end