recurly 4.52.0 → 4.54.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/CHANGELOG.md +22 -0
  4. data/GETTING_STARTED.md +1 -1
  5. data/lib/recurly/client/operations.rb +106 -4
  6. data/lib/recurly/requests/add_on_create.rb +15 -3
  7. data/lib/recurly/requests/add_on_update.rb +14 -2
  8. data/lib/recurly/requests/general_ledger_account_create.rb +22 -0
  9. data/lib/recurly/requests/general_ledger_account_update.rb +18 -0
  10. data/lib/recurly/requests/invoice_refund.rb +5 -1
  11. data/lib/recurly/requests/item_create.rb +13 -1
  12. data/lib/recurly/requests/item_update.rb +13 -1
  13. data/lib/recurly/requests/line_item_create.rb +21 -1
  14. data/lib/recurly/requests/line_item_refund.rb +10 -2
  15. data/lib/recurly/requests/plan_create.rb +25 -1
  16. data/lib/recurly/requests/plan_update.rb +25 -1
  17. data/lib/recurly/requests/shipping_method_create.rb +12 -0
  18. data/lib/recurly/requests/shipping_method_update.rb +12 -0
  19. data/lib/recurly/resources/add_on.rb +13 -1
  20. data/lib/recurly/resources/business_entity.rb +16 -0
  21. data/lib/recurly/resources/external_payment_phase.rb +0 -4
  22. data/lib/recurly/resources/external_subscription.rb +8 -0
  23. data/lib/recurly/resources/general_ledger_account.rb +38 -0
  24. data/lib/recurly/resources/gift_card.rb +12 -0
  25. data/lib/recurly/resources/item.rb +13 -1
  26. data/lib/recurly/resources/line_item.rb +21 -1
  27. data/lib/recurly/resources/performance_obligation.rb +26 -0
  28. data/lib/recurly/resources/plan.rb +1 -1
  29. data/lib/recurly/resources/shipping_method.rb +12 -0
  30. data/lib/recurly/version.rb +1 -1
  31. data/openapi/api.yaml +971 -75
  32. metadata +7 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8ed94722c42b2c452469cb19aac1d0d53dbe7c8eacb966ae787d8f9e2993c57
4
- data.tar.gz: 91b26c40023195af59b78f62dc23543bd5dd6d694866cebb09bf37d24e76f0c6
3
+ metadata.gz: de32666d545fd3100563208ae94a0dd4da8e690bcea56f779b3137420ed78e48
4
+ data.tar.gz: 3ee298baf72eae17a3156b5ed26dc469e776736529f9fa384861261b57de9377
5
5
  SHA512:
6
- metadata.gz: 0f5cb994e57d24b6f0e13c92f7127e67e5758b9ca5dafe6b9ef8d645f350c9325ed73b3431700cd5f897e26ca38236b9267de3b847a7888595b084e19f69c69f
7
- data.tar.gz: 3bc0b86765f658d56bb3582254acc65dcad2bcaf4d325af83e17646cd07d6091ef3bcd9a331a81371da6198f9e2f0bad22a288b384382f6b10df86795445d2e5
6
+ metadata.gz: bd369659c65c2d6626aed9a683a882f0cdbe38595df8ac528dd0700647717cead0bf02f48c5b7993528d3184d06acc0c073747bac8ab4e42ec79ae3643df27bd
7
+ data.tar.gz: 025c1494cfceccd81d917922140260144b0fda63bf93ff0c23a126cce76a160a078fa1b433cd04144f4f0528357b72d538652aed121c548dd3d70dc05476eb61
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.52.0
2
+ current_version = 4.54.0
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.54.0](https://github.com/recurly/recurly-client-ruby/tree/4.54.0) (2024-08-21)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.53.0...4.54.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 (Line Item Refunds) [#912](https://github.com/recurly/recurly-client-ruby/pull/912) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.53.0](https://github.com/recurly/recurly-client-ruby/tree/4.53.0) (2024-07-03)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.52.0...4.53.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 (Taxable Address Control, RevRec) [#908](https://github.com/recurly/recurly-client-ruby/pull/908) ([recurly-integrations](https://github.com/recurly-integrations))
22
+
23
+
24
+
3
25
  ## [4.52.0](https://github.com/recurly/recurly-client-ruby/tree/4.52.0) (2024-05-31)
4
26
 
5
27
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.51.0...4.52.0)
data/GETTING_STARTED.md CHANGED
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
5
5
  In your Gemfile, add `recurly` as a dependency.
6
6
 
7
7
  ```ruby
8
- gem 'recurly', '~> 4.52'
8
+ gem 'recurly', '~> 4.54'
9
9
  ```
10
10
 
11
11
  > *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
@@ -1806,7 +1806,7 @@ module Recurly
1806
1806
  # @param custom_field_definition_id [String] Custom Field Definition ID
1807
1807
  # @param params [Hash] Optional query string parameters:
1808
1808
  #
1809
- # @return [Resources::CustomFieldDefinition] An custom field definition.
1809
+ # @return [Resources::CustomFieldDefinition] A custom field definition.
1810
1810
  # @example
1811
1811
  # begin
1812
1812
  # custom_field_definition = @client.get_custom_field_definition(
@@ -1824,6 +1824,108 @@ module Recurly
1824
1824
  get(path, **options)
1825
1825
  end
1826
1826
 
1827
+ # Create a new general ledger account
1828
+ #
1829
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_general_ledger_account create_general_ledger_account api documentation}
1830
+ #
1831
+ # @param body [Requests::GeneralLedgerAccountCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GeneralLedgerAccountCreate}
1832
+ # @param params [Hash] Optional query string parameters:
1833
+ #
1834
+ # @return [Resources::GeneralLedgerAccount] A new general ledger account.
1835
+ #
1836
+ def create_general_ledger_account(body:, **options)
1837
+ path = "/general_ledger_accounts"
1838
+ post(path, body, Requests::GeneralLedgerAccountCreate, **options)
1839
+ end
1840
+
1841
+ # List a site's general ledger accounts
1842
+ #
1843
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_general_ledger_accounts list_general_ledger_accounts api documentation}
1844
+ #
1845
+ # @param params [Hash] Optional query string parameters:
1846
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
1847
+ # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
1848
+ #
1849
+ # *Important notes:*
1850
+ #
1851
+ # * The +ids+ parameter cannot be used with any other ordering or filtering
1852
+ # parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
1853
+ # * Invalid or unknown IDs will be ignored, so you should check that the
1854
+ # results correspond to your request.
1855
+ # * Records are returned in an arbitrary order. Since results are all
1856
+ # returned at once you can sort the records yourself.
1857
+ #
1858
+ # :limit [Integer] Limit number of records 1-200.
1859
+ # :order [String] Sort order.
1860
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
1861
+ # order. In descending order updated records will move behind the cursor and could
1862
+ # prevent some records from being returned.
1863
+ #
1864
+ # :account_type [String] General Ledger Account type by which to filter the response.
1865
+ #
1866
+ # @return [Pager<Resources::GeneralLedgerAccount>] A list of the site's general ledger accounts.
1867
+ #
1868
+ def list_general_ledger_accounts(**options)
1869
+ path = "/general_ledger_accounts"
1870
+ pager(path, **options)
1871
+ end
1872
+
1873
+ # Fetch a general ledger account
1874
+ #
1875
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_general_ledger_account get_general_ledger_account api documentation}
1876
+ #
1877
+ # @param general_ledger_account_id [String] General Ledger Account ID
1878
+ # @param params [Hash] Optional query string parameters:
1879
+ #
1880
+ # @return [Resources::GeneralLedgerAccount] A general ledger account.
1881
+ #
1882
+ def get_general_ledger_account(general_ledger_account_id:, **options)
1883
+ path = interpolate_path("/general_ledger_accounts/{general_ledger_account_id}", general_ledger_account_id: general_ledger_account_id)
1884
+ get(path, **options)
1885
+ end
1886
+
1887
+ # Update a general ledger account
1888
+ #
1889
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_general_ledger_account update_general_ledger_account api documentation}
1890
+ #
1891
+ # @param general_ledger_account_id [String] General Ledger Account ID
1892
+ # @param body [Requests::GeneralLedgerAccountUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GeneralLedgerAccountUpdate}
1893
+ # @param params [Hash] Optional query string parameters:
1894
+ #
1895
+ # @return [Resources::GeneralLedgerAccount] The updated general ledger account.
1896
+ #
1897
+ def update_general_ledger_account(general_ledger_account_id:, body:, **options)
1898
+ path = interpolate_path("/general_ledger_accounts/{general_ledger_account_id}", general_ledger_account_id: general_ledger_account_id)
1899
+ put(path, body, Requests::GeneralLedgerAccountUpdate, **options)
1900
+ end
1901
+
1902
+ # Get a single Performance Obligation.
1903
+ #
1904
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_performance_obligation get_performance_obligation api documentation}
1905
+ #
1906
+ # @param performance_obligation_id [String] Performance Obligation id.
1907
+ # @param params [Hash] Optional query string parameters:
1908
+ #
1909
+ # @return [Resources::PerformanceObligation] A single Performance Obligation.
1910
+ #
1911
+ def get_performance_obligation(performance_obligation_id:, **options)
1912
+ path = interpolate_path("/performance_obligations/{performance_obligation_id}", performance_obligation_id: performance_obligation_id)
1913
+ get(path, **options)
1914
+ end
1915
+
1916
+ # Get a site's Performance Obligations
1917
+ #
1918
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_performance_obligations get_performance_obligations api documentation}
1919
+ #
1920
+ # @param params [Hash] Optional query string parameters:
1921
+ #
1922
+ # @return [Pager<Resources::PerformanceObligation>] A list of Performance Obligations.
1923
+ #
1924
+ def get_performance_obligations(**options)
1925
+ path = "/performance_obligations"
1926
+ pager(path, **options)
1927
+ end
1928
+
1827
1929
  # List an invoice template's associated accounts
1828
1930
  #
1829
1931
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_invoice_template_accounts list_invoice_template_accounts api documentation}
@@ -2301,7 +2403,7 @@ module Recurly
2301
2403
  #
2302
2404
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_external_subscription get_external_subscription api documentation}
2303
2405
  #
2304
- # @param external_subscription_id [String] External subscription id
2406
+ # @param external_subscription_id [String] External subscription ID or external_id. For ID no prefix is used e.g. +e28zov4fw0v2+. For external_id use prefix +external-id-+, e.g. +external-id-123456+.
2305
2407
  # @param params [Hash] Optional query string parameters:
2306
2408
  #
2307
2409
  # @return [Resources::ExternalSubscription] Settings for an external subscription.
@@ -4498,7 +4600,7 @@ module Recurly
4498
4600
  pager(path, **options)
4499
4601
  end
4500
4602
 
4501
- # Fetch an external payment_phase
4603
+ # Fetch an external payment phase
4502
4604
  #
4503
4605
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_external_subscription_external_payment_phase get_external_subscription_external_payment_phase api documentation}
4504
4606
  #
@@ -4506,7 +4608,7 @@ module Recurly
4506
4608
  # @param external_payment_phase_id [String] External payment phase ID, e.g. +a34ypb2ef9w1+.
4507
4609
  # @param params [Hash] Optional query string parameters:
4508
4610
  #
4509
- # @return [Resources::ExternalPaymentPhase] Details for an external payment_phase.
4611
+ # @return [Resources::ExternalPaymentPhase] Details for an external payment phase.
4510
4612
  #
4511
4613
  def get_external_subscription_external_payment_phase(external_subscription_id:, external_payment_phase_id:, **options)
4512
4614
  path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases/{external_payment_phase_id}", external_subscription_id: external_subscription_id, external_payment_phase_id: external_payment_phase_id)
@@ -27,7 +27,7 @@ module Recurly
27
27
  define_attribute :code, String
28
28
 
29
29
  # @!attribute currencies
30
- # @return [Array[AddOnPricing]] * If `item_code`/`item_id` is part of the request and the item has a default currency then `currencies` is optional. If the item does not have a default currency, then `currencies` is required. If `item_code`/`item_id` is not present `currencies` is required. * If the add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `currencies` must be absent. * Must be absent if `add_on_type` is `usage` and `usage_type` is `percentage`.
30
+ # @return [Array[AddOnPricing]] * If `item_code`/`item_id` is part of the request and the item has a default currency, then `currencies` is optional. If the item does not have a default currency, then `currencies` is required. If `item_code`/`item_id` is not present `currencies` is required. * If the add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `currencies` must be absent. * Must be absent if `add_on_type` is `usage` and `usage_type` is `percentage`.
31
31
  define_attribute :currencies, Array, { :item_type => :AddOnPricing }
32
32
 
33
33
  # @!attribute default_quantity
@@ -39,13 +39,17 @@ module Recurly
39
39
  define_attribute :display_quantity, :Boolean
40
40
 
41
41
  # @!attribute item_code
42
- # @return [String] Unique code to identify an item. Available when the `Credit Invoices` feature are enabled. If `item_id` and `item_code` are both present, `item_id` will be used.
42
+ # @return [String] Unique code to identify an item. Available when the `Credit Invoices` feature is enabled. If `item_id` and `item_code` are both present, `item_id` will be used.
43
43
  define_attribute :item_code, String
44
44
 
45
45
  # @!attribute item_id
46
46
  # @return [String] System-generated unique identifier for an item. Available when the `Credit Invoices` feature is enabled. If `item_id` and `item_code` are both present, `item_id` will be used.
47
47
  define_attribute :item_id, String
48
48
 
49
+ # @!attribute liability_gl_account_id
50
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
51
+ define_attribute :liability_gl_account_id, String
52
+
49
53
  # @!attribute measured_unit_id
50
54
  # @return [String] System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
51
55
  define_attribute :measured_unit_id, String
@@ -66,16 +70,24 @@ module Recurly
66
70
  # @return [Array[PercentageTiersByCurrency]] Array of objects which must have at least one set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent. There must be one tier without an `ending_amount` value which represents the final tier. This feature is currently in development and requires approval and enablement, please contact support.
67
71
  define_attribute :percentage_tiers, Array, { :item_type => :PercentageTiersByCurrency }
68
72
 
73
+ # @!attribute performance_obligation_id
74
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
75
+ define_attribute :performance_obligation_id, String
76
+
69
77
  # @!attribute plan_id
70
78
  # @return [String] Plan ID
71
79
  define_attribute :plan_id, String
72
80
 
81
+ # @!attribute revenue_gl_account_id
82
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
83
+ define_attribute :revenue_gl_account_id, String
84
+
73
85
  # @!attribute revenue_schedule_type
74
86
  # @return [String] When this add-on is invoiced, the line item will use this revenue schedule. If `item_code`/`item_id` is part of the request then `revenue_schedule_type` must be absent in the request as the value will be set from the item.
75
87
  define_attribute :revenue_schedule_type, String
76
88
 
77
89
  # @!attribute tax_code
78
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`. If `item_code`/`item_id` is part of the request then `tax_code` must be absent.
90
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes. If `item_code`/`item_id` is part of the request then `tax_code` must be absent.
79
91
  define_attribute :tax_code, String
80
92
 
81
93
  # @!attribute tier_type
@@ -38,6 +38,10 @@ module Recurly
38
38
  # @return [String] Add-on ID
39
39
  define_attribute :id, String
40
40
 
41
+ # @!attribute liability_gl_account_id
42
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
43
+ define_attribute :liability_gl_account_id, String
44
+
41
45
  # @!attribute measured_unit_id
42
46
  # @return [String] System-generated unique identifier for a measured unit to be associated with the add-on. Either `measured_unit_id` or `measured_unit_name` are required when `add_on_type` is `usage`. If `measured_unit_id` and `measured_unit_name` are both present, `measured_unit_id` will be used.
43
47
  define_attribute :measured_unit_id, String
@@ -55,15 +59,23 @@ module Recurly
55
59
  define_attribute :optional, :Boolean
56
60
 
57
61
  # @!attribute percentage_tiers
58
- # @return [Array[PercentageTiersByCurrency]] `percentage_tiers` is an array of objects, which must have the set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent. There must be one tier without an `ending_amount` value which represents the final tier. This feature is currently in development and requires approval and enablement, please contact support.
62
+ # @return [Array[PercentageTiersByCurrency]] `percentage_tiers` is an array of objects, which must have the set of tiers per currency and the currency code. The tier_type must be `volume` or `tiered`, if not, it must be absent. There must be one tier without an `ending_amount` value which represents the final tier. This feature is currently in development and requires approval and enablement, please contact support.
59
63
  define_attribute :percentage_tiers, Array, { :item_type => :PercentageTiersByCurrency }
60
64
 
65
+ # @!attribute performance_obligation_id
66
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
67
+ define_attribute :performance_obligation_id, String
68
+
69
+ # @!attribute revenue_gl_account_id
70
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
71
+ define_attribute :revenue_gl_account_id, String
72
+
61
73
  # @!attribute revenue_schedule_type
62
74
  # @return [String] When this add-on is invoiced, the line item will use this revenue schedule. If `item_code`/`item_id` is part of the request then `revenue_schedule_type` must be absent in the request as the value will be set from the item.
63
75
  define_attribute :revenue_schedule_type, String
64
76
 
65
77
  # @!attribute tax_code
66
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`. If an `Item` is associated to the `AddOn` then `tax code` must be absent.
78
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes. If an `Item` is associated to the `AddOn` then `tax_code` must be absent.
67
79
  define_attribute :tax_code, String
68
80
 
69
81
  # @!attribute tiers
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class GeneralLedgerAccountCreate < Request
8
+
9
+ # @!attribute account_type
10
+ # @return [String]
11
+ define_attribute :account_type, String
12
+
13
+ # @!attribute code
14
+ # @return [String] Unique code to identify the ledger account. Each code must start with a letter or number. The following special characters are allowed: `-_.,:`
15
+ define_attribute :code, String
16
+
17
+ # @!attribute description
18
+ # @return [String] Optional description.
19
+ define_attribute :description, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class GeneralLedgerAccountUpdate < Request
8
+
9
+ # @!attribute code
10
+ # @return [String] Unique code to identify the ledger account. Each code must start with a letter or number. The following special characters are allowed: `-_.,:`
11
+ define_attribute :code, String
12
+
13
+ # @!attribute description
14
+ # @return [String] Optional description.
15
+ define_attribute :description, String
16
+ end
17
+ end
18
+ end
@@ -7,7 +7,7 @@ module Recurly
7
7
  class InvoiceRefund < Request
8
8
 
9
9
  # @!attribute amount
10
- # @return [Float] The amount to be refunded. The amount will be split between the line items. If no amount is specified, it will default to refunding the total refundable amount on the invoice.
10
+ # @return [Float] The amount to be refunded. The amount will be split between the line items. If `type` is "amount" and no amount is specified, it will default to refunding the total refundable amount on the invoice. Can only be present if `type` is "amount".
11
11
  define_attribute :amount, Float
12
12
 
13
13
  # @!attribute credit_customer_notes
@@ -22,6 +22,10 @@ module Recurly
22
22
  # @return [Array[LineItemRefund]] The line items to be refunded. This is required when `type=line_items`.
23
23
  define_attribute :line_items, Array, { :item_type => :LineItemRefund }
24
24
 
25
+ # @!attribute percentage
26
+ # @return [Integer] The percentage of the remaining balance to be refunded. The percentage will be split between the line items. If `type` is "percentage" and no percentage is specified, it will default to refunding 100% of the refundable amount on the invoice. Can only be present if `type` is "percentage".
27
+ define_attribute :percentage, Integer
28
+
25
29
  # @!attribute refund_method
26
30
  # @return [String] Indicates how the invoice should be refunded when both a credit and transaction are present on the invoice: - `transaction_first` – Refunds the transaction first, then any amount is issued as credit back to the account. Default value when Credit Invoices feature is enabled. - `credit_first` – Issues credit back to the account first, then refunds any remaining amount back to the transaction. Default value when Credit Invoices feature is not enabled. - `all_credit` – Issues credit to the account for the entire amount of the refund. Only available when the Credit Invoices feature is enabled. - `all_transaction` – Refunds the entire amount back to transactions, using transactions from previous invoices if necessary. Only available when the Credit Invoices feature is enabled.
27
31
  define_attribute :refund_method, String
@@ -38,16 +38,28 @@ module Recurly
38
38
  # @return [String] Optional, stock keeping unit to link the item to other inventory systems.
39
39
  define_attribute :external_sku, String
40
40
 
41
+ # @!attribute liability_gl_account_id
42
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
43
+ define_attribute :liability_gl_account_id, String
44
+
41
45
  # @!attribute name
42
46
  # @return [String] This name describes your item and will appear on the invoice when it's purchased on a one time basis.
43
47
  define_attribute :name, String
44
48
 
49
+ # @!attribute performance_obligation_id
50
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
51
+ define_attribute :performance_obligation_id, String
52
+
53
+ # @!attribute revenue_gl_account_id
54
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
55
+ define_attribute :revenue_gl_account_id, String
56
+
45
57
  # @!attribute revenue_schedule_type
46
58
  # @return [String] Revenue schedule type
47
59
  define_attribute :revenue_schedule_type, String
48
60
 
49
61
  # @!attribute tax_code
50
- # @return [String] Used by Avalara, Vertex, and Recurlys EU VAT tax feature. The tax code values are specific to each tax system. If you are using Recurlys EU VAT feature you can use `unknown`, `physical`, or `digital`.
62
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes.
51
63
  define_attribute :tax_code, String
52
64
 
53
65
  # @!attribute tax_exempt
@@ -38,16 +38,28 @@ module Recurly
38
38
  # @return [String] Optional, stock keeping unit to link the item to other inventory systems.
39
39
  define_attribute :external_sku, String
40
40
 
41
+ # @!attribute liability_gl_account_id
42
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
43
+ define_attribute :liability_gl_account_id, String
44
+
41
45
  # @!attribute name
42
46
  # @return [String] This name describes your item and will appear on the invoice when it's purchased on a one time basis.
43
47
  define_attribute :name, String
44
48
 
49
+ # @!attribute performance_obligation_id
50
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
51
+ define_attribute :performance_obligation_id, String
52
+
53
+ # @!attribute revenue_gl_account_id
54
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
55
+ define_attribute :revenue_gl_account_id, String
56
+
45
57
  # @!attribute revenue_schedule_type
46
58
  # @return [String] Revenue schedule type
47
59
  define_attribute :revenue_schedule_type, String
48
60
 
49
61
  # @!attribute tax_code
50
- # @return [String] Used by Avalara, Vertex, and Recurlys EU VAT tax feature. The tax code values are specific to each tax system. If you are using Recurlys EU VAT feature you can use `unknown`, `physical`, or `digital`.
62
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes.
51
63
  define_attribute :tax_code, String
52
64
 
53
65
  # @!attribute tax_exempt
@@ -34,6 +34,10 @@ module Recurly
34
34
  # @return [String] Description that appears on the invoice. If `item_code`/`item_id` is part of the request then `description` must be absent.
35
35
  define_attribute :description, String
36
36
 
37
+ # @!attribute destination_tax_address_source
38
+ # @return [String] The source of the address that will be used as the destinaion in determining taxes. Available only when the site is on an Elite plan. A value of "destination" refers to the "Customer tax address". A value of "origin" refers to the "Business entity tax address".
39
+ define_attribute :destination_tax_address_source, String
40
+
37
41
  # @!attribute end_date
38
42
  # @return [DateTime] If this date is provided, it indicates the end of a time range.
39
43
  define_attribute :end_date, DateTime
@@ -46,10 +50,22 @@ module Recurly
46
50
  # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices feature is enabled.
47
51
  define_attribute :item_id, String
48
52
 
53
+ # @!attribute liability_gl_account_id
54
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
55
+ define_attribute :liability_gl_account_id, String
56
+
49
57
  # @!attribute origin
50
58
  # @return [String] Origin `external_gift_card` is allowed if the Gift Cards feature is enabled on your site and `type` is `credit`. Set this value in order to track gift card credits from external gift cards (like InComm). It also skips billing information requirements. Origin `prepayment` is only allowed if `type` is `charge` and `tax_exempt` is left blank or set to true. This origin creates a charge and opposite credit on the account to be used for future invoices.
51
59
  define_attribute :origin, String
52
60
 
61
+ # @!attribute origin_tax_address_source
62
+ # @return [String] The source of the address that will be used as the origin in determining taxes. Available only when the site is on an Elite plan. A value of "origin" refers to the "Business entity tax address". A value of "destination" refers to the "Customer tax address".
63
+ define_attribute :origin_tax_address_source, String
64
+
65
+ # @!attribute performance_obligation_id
66
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
67
+ define_attribute :performance_obligation_id, String
68
+
53
69
  # @!attribute product_code
54
70
  # @return [String] Optional field to track a product code or SKU for the line item. This can be used to later reporting on product purchases. For Vertex tax calculations, this field will be used as the Vertex `product` field. If `item_code`/`item_id` is part of the request then `product_code` must be absent.
55
71
  define_attribute :product_code, String
@@ -58,6 +74,10 @@ module Recurly
58
74
  # @return [Integer] This number will be multiplied by the unit amount to compute the subtotal before any discounts or taxes.
59
75
  define_attribute :quantity, Integer
60
76
 
77
+ # @!attribute revenue_gl_account_id
78
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
79
+ define_attribute :revenue_gl_account_id, String
80
+
61
81
  # @!attribute revenue_schedule_type
62
82
  # @return [String] Revenue schedule type
63
83
  define_attribute :revenue_schedule_type, String
@@ -67,7 +87,7 @@ module Recurly
67
87
  define_attribute :start_date, DateTime
68
88
 
69
89
  # @!attribute tax_code
70
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`.
90
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes.
71
91
  define_attribute :tax_code, String
72
92
 
73
93
  # @!attribute tax_exempt
@@ -6,20 +6,28 @@ module Recurly
6
6
  module Requests
7
7
  class LineItemRefund < Request
8
8
 
9
+ # @!attribute amount
10
+ # @return [Float] The specific amount to be refunded from the adjustment. Must be less than or equal to the adjustment's remaining balance. If `quantity`, `quantity_decimal` and `percentage` are not present, `amount` is required. If `quantity`, `quantity_decimal`, or `percentage` is present, `amount` must be absent.
11
+ define_attribute :amount, Float
12
+
9
13
  # @!attribute id
10
14
  # @return [String] Line item ID
11
15
  define_attribute :id, String
12
16
 
17
+ # @!attribute percentage
18
+ # @return [Integer] The percentage of the adjustment's remaining balance to refund. If `quantity`, `quantity_decimal` and `amount_in_cents` are not present, `percentage` is required. If `quantity`, `quantity_decimal` or `amount_in_cents` is present, `percentage` must be absent.
19
+ define_attribute :percentage, Integer
20
+
13
21
  # @!attribute prorate
14
22
  # @return [Boolean] Set to `true` if the line item should be prorated; set to `false` if not. This can only be used on line items that have a start and end date.
15
23
  define_attribute :prorate, :Boolean
16
24
 
17
25
  # @!attribute quantity
18
- # @return [Integer] Line item quantity to be refunded.
26
+ # @return [Integer] Line item quantity to be refunded. Must be less than or equal to the `quantity_remaining`. If `quantity_decimal`, `amount`, and `percentage` are not present, `quantity` is required. If `amount` or `percentage` is present, `quantity` must be absent.
19
27
  define_attribute :quantity, Integer
20
28
 
21
29
  # @!attribute quantity_decimal
22
- # @return [String] A floating-point alternative to Quantity. If this value is present, it will be used in place of Quantity for calculations, and Quantity will be the rounded integer value of this number. This field supports up to 9 decimal places. The Decimal Quantity feature must be enabled to utilize this field.
30
+ # @return [String] Decimal quantity to refund. The `quantity_decimal` will be used to refund charges that has a NOT null quantity decimal. Must be less than or equal to the `quantity_decimal_remaining`. If `quantity`, `amount`, and `percentage` are not present, `quantity_decimal` is required. If `amount` or `percentage` is present, `quantity_decimal` must be absent. The Decimal Quantity feature must be enabled to utilize this field.
23
31
  define_attribute :quantity_decimal, String
24
32
  end
25
33
  end
@@ -62,10 +62,18 @@ module Recurly
62
62
  # @return [String] Unit for the plan's billing interval.
63
63
  define_attribute :interval_unit, String
64
64
 
65
+ # @!attribute liability_gl_account_id
66
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
67
+ define_attribute :liability_gl_account_id, String
68
+
65
69
  # @!attribute name
66
70
  # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
67
71
  define_attribute :name, String
68
72
 
73
+ # @!attribute performance_obligation_id
74
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
75
+ define_attribute :performance_obligation_id, String
76
+
69
77
  # @!attribute pricing_model
70
78
  # @return [String] A fixed pricing model has the same price for each billing period. A ramp pricing model defines a set of Ramp Intervals, where a subscription changes price on a specified cadence of billing periods. The price change could be an increase or decrease.
71
79
  define_attribute :pricing_model, String
@@ -74,6 +82,10 @@ module Recurly
74
82
  # @return [Array[PlanRampInterval]] Ramp Intervals
75
83
  define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
76
84
 
85
+ # @!attribute revenue_gl_account_id
86
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
87
+ define_attribute :revenue_gl_account_id, String
88
+
77
89
  # @!attribute revenue_schedule_type
78
90
  # @return [String] Revenue schedule type
79
91
  define_attribute :revenue_schedule_type, String
@@ -82,12 +94,24 @@ module Recurly
82
94
  # @return [String] Accounting code for invoice line items for the plan's setup fee. If no value is provided, it defaults to plan's accounting code.
83
95
  define_attribute :setup_fee_accounting_code, String
84
96
 
97
+ # @!attribute setup_fee_liability_gl_account_id
98
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
99
+ define_attribute :setup_fee_liability_gl_account_id, String
100
+
101
+ # @!attribute setup_fee_performance_obligation_id
102
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
103
+ define_attribute :setup_fee_performance_obligation_id, String
104
+
105
+ # @!attribute setup_fee_revenue_gl_account_id
106
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
107
+ define_attribute :setup_fee_revenue_gl_account_id, String
108
+
85
109
  # @!attribute setup_fee_revenue_schedule_type
86
110
  # @return [String] Setup fee revenue schedule type
87
111
  define_attribute :setup_fee_revenue_schedule_type, String
88
112
 
89
113
  # @!attribute tax_code
90
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`.
114
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes.
91
115
  define_attribute :tax_code, String
92
116
 
93
117
  # @!attribute tax_exempt
@@ -54,14 +54,26 @@ module Recurly
54
54
  # @return [String] Plan ID
55
55
  define_attribute :id, String
56
56
 
57
+ # @!attribute liability_gl_account_id
58
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
59
+ define_attribute :liability_gl_account_id, String
60
+
57
61
  # @!attribute name
58
62
  # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
59
63
  define_attribute :name, String
60
64
 
65
+ # @!attribute performance_obligation_id
66
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
67
+ define_attribute :performance_obligation_id, String
68
+
61
69
  # @!attribute ramp_intervals
62
70
  # @return [Array[PlanRampInterval]] Ramp Intervals
63
71
  define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
64
72
 
73
+ # @!attribute revenue_gl_account_id
74
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
75
+ define_attribute :revenue_gl_account_id, String
76
+
65
77
  # @!attribute revenue_schedule_type
66
78
  # @return [String] Revenue schedule type
67
79
  define_attribute :revenue_schedule_type, String
@@ -70,12 +82,24 @@ module Recurly
70
82
  # @return [String] Accounting code for invoice line items for the plan's setup fee. If no value is provided, it defaults to plan's accounting code.
71
83
  define_attribute :setup_fee_accounting_code, String
72
84
 
85
+ # @!attribute setup_fee_liability_gl_account_id
86
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
87
+ define_attribute :setup_fee_liability_gl_account_id, String
88
+
89
+ # @!attribute setup_fee_performance_obligation_id
90
+ # @return [String] The ID of a performance obligation. Performance obligations are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
91
+ define_attribute :setup_fee_performance_obligation_id, String
92
+
93
+ # @!attribute setup_fee_revenue_gl_account_id
94
+ # @return [String] The ID of a general ledger account. General ledger accounts are only accessible as a part of the Recurly RevRec Standard and Recurly RevRec Advanced features.
95
+ define_attribute :setup_fee_revenue_gl_account_id, String
96
+
73
97
  # @!attribute setup_fee_revenue_schedule_type
74
98
  # @return [String] Setup fee revenue schedule type
75
99
  define_attribute :setup_fee_revenue_schedule_type, String
76
100
 
77
101
  # @!attribute tax_code
78
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`.
102
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes.
79
103
  define_attribute :tax_code, String
80
104
 
81
105
  # @!attribute tax_exempt