recurly 3.29.1 → 4.0.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.github/workflows/docs.yml +2 -2
  4. data/.github_changelog_generator +8 -0
  5. data/.travis.yml +13 -0
  6. data/CHANGELOG.md +202 -391
  7. data/CONTRIBUTING.md +0 -4
  8. data/GETTING_STARTED.md +20 -17
  9. data/README.md +0 -3
  10. data/lib/data/ca-certificates.crt +40 -0
  11. data/lib/recurly/client/operations.rb +815 -748
  12. data/lib/recurly/client.rb +44 -28
  13. data/lib/recurly/errors/api_errors.rb +33 -1
  14. data/lib/recurly/errors.rb +5 -23
  15. data/lib/recurly/pager.rb +5 -15
  16. data/lib/recurly/requests/{account_acquisition_updatable.rb → account_acquisition_update.rb} +1 -1
  17. data/lib/recurly/requests/account_create.rb +2 -14
  18. data/lib/recurly/requests/account_purchase.rb +2 -14
  19. data/lib/recurly/requests/account_update.rb +0 -12
  20. data/lib/recurly/requests/add_on_create.rb +5 -5
  21. data/lib/recurly/requests/add_on_pricing.rb +5 -5
  22. data/lib/recurly/requests/add_on_update.rb +3 -3
  23. data/lib/recurly/requests/address.rb +1 -13
  24. data/lib/recurly/requests/billing_info_create.rb +4 -52
  25. data/lib/recurly/requests/coupon_create.rb +1 -1
  26. data/lib/recurly/requests/custom_field.rb +0 -8
  27. data/lib/recurly/requests/external_transaction.rb +1 -1
  28. data/lib/recurly/requests/invoice_address.rb +1 -5
  29. data/lib/recurly/requests/invoice_collect.rb +1 -1
  30. data/lib/recurly/requests/invoice_create.rb +1 -9
  31. data/lib/recurly/requests/{invoice_updatable.rb → invoice_update.rb} +1 -1
  32. data/lib/recurly/requests/item_create.rb +1 -1
  33. data/lib/recurly/requests/item_update.rb +1 -1
  34. data/lib/recurly/requests/line_item_create.rb +3 -15
  35. data/lib/recurly/requests/line_item_refund.rb +0 -4
  36. data/lib/recurly/requests/plan_create.rb +1 -17
  37. data/lib/recurly/requests/plan_pricing.rb +1 -5
  38. data/lib/recurly/requests/plan_update.rb +1 -13
  39. data/lib/recurly/requests/pricing.rb +0 -4
  40. data/lib/recurly/requests/purchase_create.rb +1 -9
  41. data/lib/recurly/requests/shipping_address_create.rb +1 -5
  42. data/lib/recurly/requests/shipping_address_update.rb +1 -5
  43. data/lib/recurly/requests/subscription_add_on_create.rb +8 -4
  44. data/lib/recurly/requests/subscription_add_on_tier.rb +5 -1
  45. data/lib/recurly/requests/subscription_add_on_update.rb +6 -2
  46. data/lib/recurly/requests/subscription_change_create.rb +1 -13
  47. data/lib/recurly/requests/subscription_create.rb +6 -26
  48. data/lib/recurly/requests/subscription_pause.rb +1 -1
  49. data/lib/recurly/requests/subscription_purchase.rb +3 -31
  50. data/lib/recurly/requests/subscription_update.rb +1 -13
  51. data/lib/recurly/requests/tier.rb +2 -2
  52. data/lib/recurly/requests/{plan_ramp_pricing.rb → tier_pricing.rb} +6 -2
  53. data/lib/recurly/requests/usage_create.rb +1 -1
  54. data/lib/recurly/resources/account.rb +0 -12
  55. data/lib/recurly/resources/account_balance_amount.rb +0 -8
  56. data/lib/recurly/resources/account_mini.rb +0 -4
  57. data/lib/recurly/resources/add_on.rb +2 -2
  58. data/lib/recurly/resources/add_on_pricing.rb +5 -5
  59. data/lib/recurly/resources/address.rb +1 -13
  60. data/lib/recurly/resources/address_with_name.rb +46 -0
  61. data/lib/recurly/resources/billing_info.rb +1 -5
  62. data/lib/recurly/resources/billing_info_updated_by.rb +1 -1
  63. data/lib/recurly/resources/coupon.rb +5 -17
  64. data/lib/recurly/resources/custom_field.rb +0 -8
  65. data/lib/recurly/resources/custom_field_definition.rb +1 -1
  66. data/lib/recurly/resources/invoice.rb +8 -20
  67. data/lib/recurly/resources/invoice_address.rb +1 -5
  68. data/lib/recurly/resources/item.rb +1 -1
  69. data/lib/recurly/resources/line_item.rb +9 -29
  70. data/lib/recurly/resources/payment_method.rb +0 -12
  71. data/lib/recurly/resources/plan.rb +2 -18
  72. data/lib/recurly/resources/plan_pricing.rb +1 -5
  73. data/lib/recurly/resources/pricing.rb +0 -4
  74. data/lib/recurly/resources/shipping_address.rb +1 -5
  75. data/lib/recurly/resources/subscription.rb +0 -20
  76. data/lib/recurly/resources/subscription_add_on.rb +6 -2
  77. data/lib/recurly/resources/subscription_add_on_tier.rb +5 -1
  78. data/lib/recurly/resources/subscription_change.rb +0 -16
  79. data/lib/recurly/resources/tax_info.rb +3 -7
  80. data/lib/recurly/resources/tier.rb +2 -2
  81. data/lib/recurly/resources/{plan_ramp_pricing.rb → tier_pricing.rb} +6 -2
  82. data/lib/recurly/resources/transaction.rb +3 -7
  83. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  84. data/lib/recurly/resources/usage.rb +6 -2
  85. data/lib/recurly/version.rb +1 -1
  86. data/openapi/api.yaml +2308 -13819
  87. data/scripts/build +2 -2
  88. data/scripts/bump +11 -0
  89. data/scripts/changelog +14 -0
  90. data/scripts/format +2 -2
  91. data/scripts/prepare-release +29 -43
  92. data/scripts/release +20 -5
  93. metadata +14 -33
  94. data/.changelog_config.yaml +0 -11
  95. data/.github/workflows/ci.yml +0 -29
  96. data/.github/workflows/pr-review.yml +0 -27
  97. data/CODE_OF_CONDUCT.md +0 -130
  98. data/lib/recurly/errors/network_errors.rb +0 -10
  99. data/lib/recurly/requests/billing_info_verify.rb +0 -18
  100. data/lib/recurly/requests/billing_info_verify_cvv.rb +0 -26
  101. data/lib/recurly/requests/credit_application_policy.rb +0 -18
  102. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +0 -18
  103. data/lib/recurly/requests/gateway_attributes.rb +0 -14
  104. data/lib/recurly/requests/plan_ramp_interval.rb +0 -18
  105. data/lib/recurly/requests/subscription_change_billing_info_create.rb +0 -14
  106. data/lib/recurly/requests/subscription_ramp_interval.rb +0 -18
  107. data/lib/recurly/resources/credit_application_policy.rb +0 -18
  108. data/lib/recurly/resources/dunning_campaign.rb +0 -50
  109. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +0 -18
  110. data/lib/recurly/resources/dunning_cycle.rb +0 -58
  111. data/lib/recurly/resources/dunning_interval.rb +0 -18
  112. data/lib/recurly/resources/gateway_attributes.rb +0 -14
  113. data/lib/recurly/resources/line_item_list.rb +0 -26
  114. data/lib/recurly/resources/plan_ramp_interval.rb +0 -18
  115. data/lib/recurly/resources/subscription_change_billing_info.rb +0 -14
  116. data/lib/recurly/resources/subscription_change_preview.rb +0 -90
  117. data/lib/recurly/resources/subscription_ramp_interval_response.rb +0 -30
  118. data/lib/recurly/resources/tax_detail.rb +0 -38
@@ -6,14 +6,6 @@ module Recurly
6
6
  module Requests
7
7
  class BillingInfoCreate < Request
8
8
 
9
- # @!attribute account_number
10
- # @return [String] The bank account number. (ACH, Bacs only)
11
- define_attribute :account_number, String
12
-
13
- # @!attribute account_type
14
- # @return [String] The bank account type. (ACH only)
15
- define_attribute :account_type, String
16
-
17
9
  # @!attribute address
18
10
  # @return [Address]
19
11
  define_attribute :address, :Address
@@ -22,22 +14,10 @@ module Recurly
22
14
  # @return [String] Amazon billing agreement ID
23
15
  define_attribute :amazon_billing_agreement_id, String
24
16
 
25
- # @!attribute backup_payment_method
26
- # @return [Boolean] The `backup_payment_method` field is used to designate a billing info as a backup on the account that will be tried if the initial billing info used for an invoice is declined. All payment methods, including the billing info marked `primary_payment_method` can be set as a backup. An account can have a maximum of 1 backup, if a user sets a different payment method as a backup, the existing backup will no longer be marked as such.
27
- define_attribute :backup_payment_method, :Boolean
28
-
29
- # @!attribute card_network_preference
30
- # @return [String] Represents the card network preference associated with the billing info for dual badged cards. Must be a supported card network.
31
- define_attribute :card_network_preference, String
32
-
33
17
  # @!attribute company
34
18
  # @return [String] Company name
35
19
  define_attribute :company, String
36
20
 
37
- # @!attribute currency
38
- # @return [String] 3-letter ISO 4217 currency code.
39
- define_attribute :currency, String
40
-
41
21
  # @!attribute cvv
42
22
  # @return [String] *STRONGLY RECOMMENDED*
43
23
  define_attribute :cvv, String
@@ -50,12 +30,8 @@ module Recurly
50
30
  # @return [String] Fraud Session ID
51
31
  define_attribute :fraud_session_id, String
52
32
 
53
- # @!attribute gateway_attributes
54
- # @return [GatewayAttributes] Additional attributes to send to the gateway.
55
- define_attribute :gateway_attributes, :GatewayAttributes
56
-
57
33
  # @!attribute gateway_code
58
- # @return [String] An identifier for a specific payment gateway.
34
+ # @return [String] An identifier for a specific payment gateway. Must be used in conjunction with `gateway_token`.
59
35
  define_attribute :gateway_code, String
60
36
 
61
37
  # @!attribute gateway_token
@@ -63,7 +39,7 @@ module Recurly
63
39
  define_attribute :gateway_token, String
64
40
 
65
41
  # @!attribute iban
66
- # @return [String] The International Bank Account Number, up to 34 alphanumeric characters comprising a country code; two check digits; and a number that includes the domestic bank account number, branch identifier, and potential routing information. (SEPA only)
42
+ # @return [String] The International Bank Account Number, up to 34 alphanumeric characters comprising a country code; two check digits; and a number that includes the domestic bank account number, branch identifier, and potential routing information
67
43
  define_attribute :iban, String
68
44
 
69
45
  # @!attribute ip_address
@@ -78,10 +54,6 @@ module Recurly
78
54
  # @return [String] Expiration month
79
55
  define_attribute :month, String
80
56
 
81
- # @!attribute name_on_account
82
- # @return [String] The name associated with the bank account (ACH, SEPA, Bacs only)
83
- define_attribute :name_on_account, String
84
-
85
57
  # @!attribute number
86
58
  # @return [String] Credit card number, spaces and dashes are accepted.
87
59
  define_attribute :number, String
@@ -91,25 +63,9 @@ module Recurly
91
63
  define_attribute :paypal_billing_agreement_id, String
92
64
 
93
65
  # @!attribute primary_payment_method
94
- # @return [Boolean] The `primary_payment_method` field is used to designate the primary billing info on the account. The first billing info created on an account will always become primary. Adding additional billing infos provides the flexibility to mark another billing info as primary, or adding additional non-primary billing infos. This can be accomplished by passing the `primary_payment_method` with a value of `true`. When adding billing infos via the billing_info and /accounts endpoints, this value is not permitted, and will return an error if provided.
66
+ # @return [Boolean] The `primary_payment_method` indicator is used to designate the primary billing info on the account. The first billing info created on an account will always become primary. Adding additional billing infos provides the flexibility to mark another billing info as primary, or adding additional non-primary billing infos. This can be accomplished by passing the `primary_payment_method` indicator. When adding billing infos via the billing_info and /accounts endpoints, this value is not permitted, and will return an error if provided.
95
67
  define_attribute :primary_payment_method, :Boolean
96
68
 
97
- # @!attribute roku_billing_agreement_id
98
- # @return [String] Roku's CIB if billing through Roku
99
- define_attribute :roku_billing_agreement_id, String
100
-
101
- # @!attribute routing_number
102
- # @return [String] The bank's rounting number. (ACH only)
103
- define_attribute :routing_number, String
104
-
105
- # @!attribute sort_code
106
- # @return [String] Bank identifier code for UK based banks. Required for Bacs based billing infos. (Bacs only)
107
- define_attribute :sort_code, String
108
-
109
- # @!attribute store_billing_info
110
- # @return [Boolean] Whether to store this billing info onto its associated account. Defaults to `true`.
111
- define_attribute :store_billing_info, :Boolean
112
-
113
69
  # @!attribute tax_identifier
114
70
  # @return [String] Tax identifier is required if adding a billing info that is a consumer card in Brazil. This would be the customer's CPF, CPF is a Brazilian tax identifier for all tax paying residents.
115
71
  define_attribute :tax_identifier, String
@@ -123,17 +79,13 @@ module Recurly
123
79
  define_attribute :three_d_secure_action_result_token_id, String
124
80
 
125
81
  # @!attribute token_id
126
- # @return [String] A token [generated by Recurly.js](https://recurly.com/developers/reference/recurly-js/#getting-a-token).
82
+ # @return [String] A token [generated by Recurly.js](https://developers.recurly.com/reference/recurly-js/#getting-a-token).
127
83
  define_attribute :token_id, String
128
84
 
129
85
  # @!attribute transaction_type
130
86
  # @return [String] An optional type designation for the payment gateway transaction created by this request. Supports 'moto' value, which is the acronym for mail order and telephone transactions.
131
87
  define_attribute :transaction_type, String
132
88
 
133
- # @!attribute type
134
- # @return [String] The payment method type for a non-credit card based billing info. `bacs` and `becs` are the only accepted values.
135
- define_attribute :type, String
136
-
137
89
  # @!attribute vat_number
138
90
  # @return [String] VAT number
139
91
  define_attribute :vat_number, String
@@ -11,7 +11,7 @@ module Recurly
11
11
  define_attribute :applies_to_all_items, :Boolean
12
12
 
13
13
  # @!attribute applies_to_all_plans
14
- # @return [Boolean] The coupon is valid for all plans if true. If false then `plans` and `plans_names` will list the applicable plans.
14
+ # @return [Boolean] The coupon is valid for all plans if true. If false then `plans` will list the applicable plans.
15
15
  define_attribute :applies_to_all_plans, :Boolean
16
16
 
17
17
  # @!attribute applies_to_non_plan_charges
@@ -10,14 +10,6 @@ module Recurly
10
10
  # @return [String] Fields must be created in the UI before values can be assigned to them.
11
11
  define_attribute :name, String
12
12
 
13
- # @!attribute source_record_id
14
- # @return [String] The UUID of the record this custom field was automatically copied from. Only present when the field was copied from another record.
15
- define_attribute :source_record_id, String
16
-
17
- # @!attribute source_record_type
18
- # @return [String] The type of record this custom field was automatically copied from. Only present when the field was copied from another record.
19
- define_attribute :source_record_type, String
20
-
21
13
  # @!attribute value
22
14
  # @return [String] Any values that resemble a credit card number or security code (CVV/CVC) will be rejected.
23
15
  define_attribute :value, String
@@ -19,7 +19,7 @@ module Recurly
19
19
  define_attribute :description, String
20
20
 
21
21
  # @!attribute payment_method
22
- # @return [String] Payment method used for the external transaction.
22
+ # @return [String] Payment method used for external transaction.
23
23
  define_attribute :payment_method, String
24
24
  end
25
25
  end
@@ -15,17 +15,13 @@ module Recurly
15
15
  define_attribute :company, String
16
16
 
17
17
  # @!attribute country
18
- # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
18
+ # @return [String] Country, 2-letter ISO code.
19
19
  define_attribute :country, String
20
20
 
21
21
  # @!attribute first_name
22
22
  # @return [String] First name
23
23
  define_attribute :first_name, String
24
24
 
25
- # @!attribute geo_code
26
- # @return [String] Code that represents a geographic entity (location or object). Only returned when Vertex or Avalara for Communications is enabled.
27
- define_attribute :geo_code, String
28
-
29
25
  # @!attribute last_name
30
26
  # @return [String] Last name
31
27
  define_attribute :last_name, String
@@ -7,7 +7,7 @@ module Recurly
7
7
  class InvoiceCollect < Request
8
8
 
9
9
  # @!attribute billing_info_id
10
- # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature.
10
+ # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info.
11
11
  define_attribute :billing_info_id, String
12
12
 
13
13
  # @!attribute three_d_secure_action_result_token_id
@@ -14,10 +14,6 @@ module Recurly
14
14
  # @return [String] An automatic invoice means a corresponding transaction is run using the account's billing information at the same time the invoice is created. Manual invoices are created without a corresponding transaction. The merchant must enter a manual payment transaction or have the customer pay the invoice with an automatic method, like credit card, PayPal, Amazon, or ACH bank payment.
15
15
  define_attribute :collection_method, String
16
16
 
17
- # @!attribute credit_application_policy
18
- # @return [CreditApplicationPolicy] Controls whether credit invoices are automatically applied to new invoices. The `mode` field determines the application behavior. When mode is `all`, the optional `allowed_origins` array can restrict which credit invoice origins are applied. - `all`: All available credit invoices are applied (default) - `none`: No credit invoices are applied automatically
19
- define_attribute :credit_application_policy, :CreditApplicationPolicy
20
-
21
17
  # @!attribute credit_customer_notes
22
18
  # @return [String] This will default to the Customer Notes text specified on the Invoice Settings for credit invoices. Specify customer notes to add or override Customer Notes on credit invoices.
23
19
  define_attribute :credit_customer_notes, String
@@ -27,7 +23,7 @@ module Recurly
27
23
  define_attribute :currency, String
28
24
 
29
25
  # @!attribute net_terms
30
- # @return [Integer] Integer representing the number of days after an invoice's creation that the invoice will become past due. If an invoice's net terms are set to '0', it is due 'On Receipt' and will become past due 24 hours after it's created. If an invoice is due net 30, it will become past due at 31 days exactly.
26
+ # @return [Integer] Integer representing the number of days after an invoice's creation that the invoice will become past due. If an invoice's net terms are set to '0', it is due 'On Receipt' and will become past due 24 hours after it’s created. If an invoice is due net 30, it will become past due at 31 days exactly.
31
27
  define_attribute :net_terms, Integer
32
28
 
33
29
  # @!attribute po_number
@@ -41,10 +37,6 @@ module Recurly
41
37
  # @!attribute vat_reverse_charge_notes
42
38
  # @return [String] VAT Reverse Charge Notes only appear if you have EU VAT enabled or are using your own Avalara AvaTax account and the customer is in the EU, has a VAT number, and is in a different country than your own. This will default to the VAT Reverse Charge Notes text specified on the Tax Settings page in your Recurly admin, unless custom notes were created with the original subscription.
43
39
  define_attribute :vat_reverse_charge_notes, String
44
-
45
- # @!attribute vertex_transaction_type
46
- # @return [String] Used by Vertex for tax calculations. Possible values are sale, rental, lease.
47
- define_attribute :vertex_transaction_type, String
48
40
  end
49
41
  end
50
42
  end
@@ -4,7 +4,7 @@
4
4
  # need and we will usher them to the appropriate places.
5
5
  module Recurly
6
6
  module Requests
7
- class InvoiceUpdatable < Request
7
+ class InvoiceUpdate < Request
8
8
 
9
9
  # @!attribute address
10
10
  # @return [InvoiceAddress]
@@ -47,7 +47,7 @@ module Recurly
47
47
  define_attribute :revenue_schedule_type, String
48
48
 
49
49
  # @!attribute tax_code
50
- # @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.
50
+ # @return [String] Used by Avalara, Vertex, and Recurly’s EU VAT tax feature. The tax code values are specific to each tax system. If you are using Recurly’s EU VAT feature you can use `unknown`, `physical`, or `digital`.
51
51
  define_attribute :tax_code, String
52
52
 
53
53
  # @!attribute tax_exempt
@@ -47,7 +47,7 @@ module Recurly
47
47
  define_attribute :revenue_schedule_type, String
48
48
 
49
49
  # @!attribute tax_code
50
- # @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.
50
+ # @return [String] Used by Avalara, Vertex, and Recurly’s EU VAT tax feature. The tax code values are specific to each tax system. If you are using Recurly’s EU VAT feature you can use `unknown`, `physical`, or `digital`.
51
51
  define_attribute :tax_code, String
52
52
 
53
53
  # @!attribute tax_exempt
@@ -26,10 +26,6 @@ module Recurly
26
26
  # @return [String] 3-letter ISO 4217 currency code. If `item_code`/`item_id` is part of the request then `currency` is optional, if the site has a single default currency. `currency` is required if `item_code`/`item_id` is present, and there are multiple currencies defined on the site. If `item_code`/`item_id` is not present `currency` is required.
27
27
  define_attribute :currency, String
28
28
 
29
- # @!attribute custom_fields
30
- # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
31
- define_attribute :custom_fields, Array, { :item_type => :CustomField }
32
-
33
29
  # @!attribute description
34
30
  # @return [String] Description that appears on the invoice. If `item_code`/`item_id` is part of the request then `description` must be absent.
35
31
  define_attribute :description, String
@@ -39,11 +35,11 @@ module Recurly
39
35
  define_attribute :end_date, DateTime
40
36
 
41
37
  # @!attribute item_code
42
- # @return [String] Unique code to identify an item. Avaliable when the Credit Invoices feature is enabled.
38
+ # @return [String] Unique code to identify an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
43
39
  define_attribute :item_code, String
44
40
 
45
41
  # @!attribute item_id
46
- # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices feature is enabled.
42
+ # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
47
43
  define_attribute :item_id, String
48
44
 
49
45
  # @!attribute origin
@@ -67,17 +63,13 @@ module Recurly
67
63
  define_attribute :start_date, DateTime
68
64
 
69
65
  # @!attribute tax_code
70
- # @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.
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`.
71
67
  define_attribute :tax_code, String
72
68
 
73
69
  # @!attribute tax_exempt
74
70
  # @return [Boolean] `true` exempts tax on charges, `false` applies tax on charges. If not defined, then defaults to the Plan and Site settings. This attribute does not work for credits (negative line items). Credits are always applied post-tax. Pre-tax discounts should use the Coupons feature.
75
71
  define_attribute :tax_exempt, :Boolean
76
72
 
77
- # @!attribute tax_inclusive
78
- # @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to use this flag.
79
- define_attribute :tax_inclusive, :Boolean
80
-
81
73
  # @!attribute type
82
74
  # @return [String] Line item type. If `item_code`/`item_id` is present then `type` should not be present. If `item_code`/`item_id` is not present then `type` is required.
83
75
  define_attribute :type, String
@@ -85,10 +77,6 @@ module Recurly
85
77
  # @!attribute unit_amount
86
78
  # @return [Float] A positive or negative amount with `type=charge` will result in a positive `unit_amount`. A positive or negative amount with `type=credit` will result in a negative `unit_amount`. If `item_code`/`item_id` is present, `unit_amount` can be passed in, to override the `Item`'s `unit_amount`. If `item_code`/`item_id` is not present then `unit_amount` is required.
87
79
  define_attribute :unit_amount, Float
88
-
89
- # @!attribute vertex_transaction_type
90
- # @return [String] Used by Vertex for tax calculations. Possible values are sale, rental, lease.
91
- define_attribute :vertex_transaction_type, String
92
80
  end
93
81
  end
94
82
  end
@@ -17,10 +17,6 @@ module Recurly
17
17
  # @!attribute quantity
18
18
  # @return [Integer] Line item quantity to be refunded.
19
19
  define_attribute :quantity, Integer
20
-
21
- # @!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.
23
- define_attribute :quantity_decimal, String
24
20
  end
25
21
  end
26
22
  end
@@ -38,18 +38,10 @@ module Recurly
38
38
  # @return [Array[PlanPricing]] Pricing
39
39
  define_attribute :currencies, Array, { :item_type => :PlanPricing }
40
40
 
41
- # @!attribute custom_fields
42
- # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
43
- define_attribute :custom_fields, Array, { :item_type => :CustomField }
44
-
45
41
  # @!attribute description
46
42
  # @return [String] Optional description, not displayed.
47
43
  define_attribute :description, String
48
44
 
49
- # @!attribute dunning_campaign_id
50
- # @return [String] Unique ID to identify a dunning campaign. Used to specify if a non-default dunning campaign should be assigned to this plan. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
51
- define_attribute :dunning_campaign_id, String
52
-
53
45
  # @!attribute hosted_pages
54
46
  # @return [PlanHostedPages] Hosted pages settings
55
47
  define_attribute :hosted_pages, :PlanHostedPages
@@ -66,14 +58,6 @@ module Recurly
66
58
  # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
67
59
  define_attribute :name, String
68
60
 
69
- # @!attribute pricing_model
70
- # @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
- define_attribute :pricing_model, String
72
-
73
- # @!attribute ramp_intervals
74
- # @return [Array[PlanRampInterval]] Ramp Intervals
75
- define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
76
-
77
61
  # @!attribute revenue_schedule_type
78
62
  # @return [String] Revenue schedule type
79
63
  define_attribute :revenue_schedule_type, String
@@ -87,7 +71,7 @@ module Recurly
87
71
  define_attribute :setup_fee_revenue_schedule_type, String
88
72
 
89
73
  # @!attribute tax_code
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.
74
+ # @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`.
91
75
  define_attribute :tax_code, String
92
76
 
93
77
  # @!attribute tax_exempt
@@ -14,12 +14,8 @@ module Recurly
14
14
  # @return [Float] Amount of one-time setup fee automatically charged at the beginning of a subscription billing cycle. For subscription plans with a trial, the setup fee will be charged at the time of signup. Setup fees do not increase with the quantity of a subscription plan.
15
15
  define_attribute :setup_fee, Float
16
16
 
17
- # @!attribute tax_inclusive
18
- # @return [Boolean] This field is deprecated. Please do not use it.
19
- define_attribute :tax_inclusive, :Boolean
20
-
21
17
  # @!attribute unit_amount
22
- # @return [Float] This field should not be sent when the pricing model is 'ramp'.
18
+ # @return [Float] Unit price
23
19
  define_attribute :unit_amount, Float
24
20
  end
25
21
  end
@@ -34,18 +34,10 @@ module Recurly
34
34
  # @return [Array[PlanPricing]] Pricing
35
35
  define_attribute :currencies, Array, { :item_type => :PlanPricing }
36
36
 
37
- # @!attribute custom_fields
38
- # @return [Array[CustomField]] The custom fields will only be altered when they are included in a request. Sending an empty array will not remove any existing values. To remove a field send the name with a null or empty value.
39
- define_attribute :custom_fields, Array, { :item_type => :CustomField }
40
-
41
37
  # @!attribute description
42
38
  # @return [String] Optional description, not displayed.
43
39
  define_attribute :description, String
44
40
 
45
- # @!attribute dunning_campaign_id
46
- # @return [String] Unique ID to identify a dunning campaign. Used to specify if a non-default dunning campaign should be assigned to this plan. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
47
- define_attribute :dunning_campaign_id, String
48
-
49
41
  # @!attribute hosted_pages
50
42
  # @return [PlanHostedPages] Hosted pages settings
51
43
  define_attribute :hosted_pages, :PlanHostedPages
@@ -58,10 +50,6 @@ module Recurly
58
50
  # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
59
51
  define_attribute :name, String
60
52
 
61
- # @!attribute ramp_intervals
62
- # @return [Array[PlanRampInterval]] Ramp Intervals
63
- define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
64
-
65
53
  # @!attribute revenue_schedule_type
66
54
  # @return [String] Revenue schedule type
67
55
  define_attribute :revenue_schedule_type, String
@@ -75,7 +63,7 @@ module Recurly
75
63
  define_attribute :setup_fee_revenue_schedule_type, String
76
64
 
77
65
  # @!attribute tax_code
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.
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`.
79
67
  define_attribute :tax_code, String
80
68
 
81
69
  # @!attribute tax_exempt
@@ -10,10 +10,6 @@ module Recurly
10
10
  # @return [String] 3-letter ISO 4217 currency code.
11
11
  define_attribute :currency, String
12
12
 
13
- # @!attribute tax_inclusive
14
- # @return [Boolean] This field is deprecated. Please do not use it.
15
- define_attribute :tax_inclusive, :Boolean
16
-
17
13
  # @!attribute unit_amount
18
14
  # @return [Float] Unit price
19
15
  define_attribute :unit_amount, Float
@@ -11,7 +11,7 @@ module Recurly
11
11
  define_attribute :account, :AccountPurchase
12
12
 
13
13
  # @!attribute billing_info_id
14
- # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature.
14
+ # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info.
15
15
  define_attribute :billing_info_id, String
16
16
 
17
17
  # @!attribute collection_method
@@ -22,10 +22,6 @@ module Recurly
22
22
  # @return [Array[String]] A list of coupon_codes to be redeemed on the subscription or account during the purchase.
23
23
  define_attribute :coupon_codes, Array, { :item_type => String }
24
24
 
25
- # @!attribute credit_application_policy_override
26
- # @return [CreditApplicationPolicy] Controls whether credit invoices are automatically applied to new invoices. The `mode` field determines the application behavior. When mode is `all`, the optional `allowed_origins` array can restrict which credit invoice origins are applied. - `all`: All available credit invoices are applied (default) - `none`: No credit invoices are applied automatically
27
- define_attribute :credit_application_policy_override, :CreditApplicationPolicy
28
-
29
25
  # @!attribute credit_customer_notes
30
26
  # @return [String] Notes to be put on the credit invoice resulting from credits in the purchase, if any.
31
27
  define_attribute :credit_customer_notes, String
@@ -77,10 +73,6 @@ module Recurly
77
73
  # @!attribute vat_reverse_charge_notes
78
74
  # @return [String] VAT reverse charge notes for cross border European tax settlement.
79
75
  define_attribute :vat_reverse_charge_notes, String
80
-
81
- # @!attribute vertex_transaction_type
82
- # @return [String] Used by Vertex for tax calculations. Possible values are sale, rental, lease.
83
- define_attribute :vertex_transaction_type, String
84
76
  end
85
77
  end
86
78
  end
@@ -15,7 +15,7 @@ module Recurly
15
15
  define_attribute :company, String
16
16
 
17
17
  # @!attribute country
18
- # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
18
+ # @return [String] Country, 2-letter ISO code.
19
19
  define_attribute :country, String
20
20
 
21
21
  # @!attribute email
@@ -26,10 +26,6 @@ module Recurly
26
26
  # @return [String]
27
27
  define_attribute :first_name, String
28
28
 
29
- # @!attribute geo_code
30
- # @return [String] Code that represents a geographic entity (location or object). Only returned when Vertex or Avalara for Communications is enabled.
31
- define_attribute :geo_code, String
32
-
33
29
  # @!attribute last_name
34
30
  # @return [String]
35
31
  define_attribute :last_name, String
@@ -15,7 +15,7 @@ module Recurly
15
15
  define_attribute :company, String
16
16
 
17
17
  # @!attribute country
18
- # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
18
+ # @return [String] Country, 2-letter ISO code.
19
19
  define_attribute :country, String
20
20
 
21
21
  # @!attribute email
@@ -26,10 +26,6 @@ module Recurly
26
26
  # @return [String]
27
27
  define_attribute :first_name, String
28
28
 
29
- # @!attribute geo_code
30
- # @return [String] Code that represents a geographic entity (location or object). Only returned when Vertex or Avalara for Communications is enabled.
31
- define_attribute :geo_code, String
32
-
33
29
  # @!attribute id
34
30
  # @return [String] Shipping Address ID
35
31
  define_attribute :id, String
@@ -7,7 +7,7 @@ module Recurly
7
7
  class SubscriptionAddOnCreate < Request
8
8
 
9
9
  # @!attribute add_on_source
10
- # @return [String] Used to determine where the associated add-on data is pulled from. If this value is set to `plan_add_on` or left blank, then add_on data will be pulled from the plan's add-ons. If the associated `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then the associated add-on data will be pulled from the site's item catalog.
10
+ # @return [String] Used to determine where the associated add-on data is pulled from. If this value is set to `plan_add_on` or left blank, then add-on data will be pulled from the plan's add-ons. If the associated `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then the associated add-on data will be pulled from the site's item catalog.
11
11
  define_attribute :add_on_source, String
12
12
 
13
13
  # @!attribute code
@@ -23,15 +23,19 @@ module Recurly
23
23
  define_attribute :revenue_schedule_type, String
24
24
 
25
25
  # @!attribute tiers
26
- # @return [Array[SubscriptionAddOnTier]] If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided. See our [Guide](https://recurly.com/developers/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
26
+ # @return [Array[SubscriptionAddOnTier]] If the plan add-on's `tier_type` is `flat`, then `tiers` must be absent. The `tiers` object must include one to many tiers with `ending_quantity` and `unit_amount`. There must be one tier with an `ending_quantity` of 999999999 which is the default if not provided. See our [Guide](https://developers.recurly.com/guides/item-addon-guide.html) for an overview of how to configure quantity-based pricing models.
27
27
  define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
28
28
 
29
29
  # @!attribute unit_amount
30
- # @return [Float] * Optionally, override the add-on's default unit amount. * If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount` must be absent.
30
+ # @return [Float] Allows up to 2 decimal places. Optionally, override the add-on's default unit amount. If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount` cannot be provided.
31
31
  define_attribute :unit_amount, Float
32
32
 
33
+ # @!attribute unit_amount_decimal
34
+ # @return [String] Allows up to 9 decimal places. Optionally, override the add-on's default unit amount. If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount_decimal` cannot be provided. Only supported when the plan add-on's `add_on_type` = `usage`. If `unit_amount_decimal` is provided, `unit_amount` cannot be provided.
35
+ define_attribute :unit_amount_decimal, String
36
+
33
37
  # @!attribute usage_percentage
34
- # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage and `usage_type` is percentage. Must be omitted otherwise. `usage_percentage` does not support tiers. See our [Guide](https://recurly.com/developers/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.
38
+ # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if `add_on_type` is usage and `usage_type` is percentage. Must be omitted otherwise. `usage_percentage` does not support tiers. See our [Guide](https://developers.recurly.com/guides/usage-based-billing-guide.html) for an overview of how to configure usage add-ons.
35
39
  define_attribute :usage_percentage, Float
36
40
  end
37
41
  end
@@ -11,8 +11,12 @@ module Recurly
11
11
  define_attribute :ending_quantity, Integer
12
12
 
13
13
  # @!attribute unit_amount
14
- # @return [Float] Unit amount
14
+ # @return [Float] Allows up to 2 decimal places. Optionally, override the tiers' default unit amount.
15
15
  define_attribute :unit_amount, Float
16
+
17
+ # @!attribute unit_amount_decimal
18
+ # @return [String] Allows up to 9 decimal places. Optionally, override tiers' default unit amount. If `unit_amount_decimal` is provided, `unit_amount` cannot be provided.
19
+ define_attribute :unit_amount_decimal, String
16
20
  end
17
21
  end
18
22
  end
@@ -7,7 +7,7 @@ module Recurly
7
7
  class SubscriptionAddOnUpdate < Request
8
8
 
9
9
  # @!attribute add_on_source
10
- # @return [String] Used to determine where the associated add-on data is pulled from. If this value is set to `plan_add_on` or left blank, then add_on data will be pulled from the plan's add-ons. If the associated `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then the associated add-on data will be pulled from the site's item catalog.
10
+ # @return [String] Used to determine where the associated add-on data is pulled from. If this value is set to `plan_add_on` or left blank, then add-on data will be pulled from the plan's add-ons. If the associated `plan` has `allow_any_item_on_subscriptions` set to `true` and this field is set to `item`, then the associated add-on data will be pulled from the site's item catalog.
11
11
  define_attribute :add_on_source, String
12
12
 
13
13
  # @!attribute code
@@ -31,9 +31,13 @@ module Recurly
31
31
  define_attribute :tiers, Array, { :item_type => :SubscriptionAddOnTier }
32
32
 
33
33
  # @!attribute unit_amount
34
- # @return [Float] Optionally, override the add-on's default unit amount.
34
+ # @return [Float] Allows up to 2 decimal places. Optionally, override the add-on's default unit amount. If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount` cannot be provided.
35
35
  define_attribute :unit_amount, Float
36
36
 
37
+ # @!attribute unit_amount_decimal
38
+ # @return [String] Allows up to 9 decimal places. Optionally, override the add-on's default unit amount. If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount_decimal` cannot be provided. Only supported when the plan add-on's `add_on_type` = `usage`. If `unit_amount_decimal` is provided, `unit_amount` cannot be provided.
39
+ define_attribute :unit_amount_decimal, String
40
+
37
41
  # @!attribute usage_percentage
38
42
  # @return [Float] The percentage taken of the monetary amount of usage tracked. This can be up to 4 decimal places. A value between 0.0 and 100.0. Required if add_on_type is usage and usage_type is percentage.
39
43
  define_attribute :usage_percentage, Float
@@ -7,13 +7,9 @@ module Recurly
7
7
  class SubscriptionChangeCreate < Request
8
8
 
9
9
  # @!attribute add_ons
10
- # @return [Array[SubscriptionAddOnUpdate]] If this value is omitted your existing add-ons will be removed. If you provide a value for this field it will replace any existing add-ons. So, when adding or modifying an add-on, you need to include the existing subscription add-ons. Unchanged add-ons can be included just using the subscription add-on's ID: `{"id": "abc123"}`. If a subscription add-on's `code` is supplied without the `id`, `{"code": "def456"}`, the subscription add-on attributes will be set to the current values of the plan add-on unless provided in the request. - If an `id` is passed, any attributes not passed in will pull from the existing subscription add-on - If a `code` is passed, any attributes not passed in will pull from the current values of the plan add-on - Attributes passed in as part of the request will override either of the above scenarios
10
+ # @return [Array[SubscriptionAddOnUpdate]] If you provide a value for this field it will replace any existing add-ons. So, when adding or modifying an add-on, you need to include the existing subscription add-ons. Unchanged add-ons can be included just using the subscription add-on''s ID: `{"id": "abc123"}`. If this value is omitted your existing add-ons will be unaffected. To remove all existing add-ons, this value should be an empty array.' If a subscription add-on's `code` is supplied without the `id`, `{"code": "def456"}`, the subscription add-on attributes will be set to the current values of the plan add-on unless provided in the request. - If an `id` is passed, any attributes not passed in will pull from the existing subscription add-on - If a `code` is passed, any attributes not passed in will pull from the current values of the plan add-on - Attributes passed in as part of the request will override either of the above scenarios
11
11
  define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOnUpdate }
12
12
 
13
- # @!attribute billing_info
14
- # @return [SubscriptionChangeBillingInfoCreate]
15
- define_attribute :billing_info, :SubscriptionChangeBillingInfoCreate
16
-
17
13
  # @!attribute collection_method
18
14
  # @return [String] Collection method
19
15
  define_attribute :collection_method, String
@@ -46,10 +42,6 @@ module Recurly
46
42
  # @return [Integer] Optionally override the default quantity of 1.
47
43
  define_attribute :quantity, Integer
48
44
 
49
- # @!attribute ramp_intervals
50
- # @return [Array[SubscriptionRampInterval]] The new set of ramp intervals for the subscription.
51
- define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampInterval }
52
-
53
45
  # @!attribute revenue_schedule_type
54
46
  # @return [String] Revenue schedule type
55
47
  define_attribute :revenue_schedule_type, String
@@ -58,10 +50,6 @@ module Recurly
58
50
  # @return [SubscriptionChangeShippingCreate] The shipping address can currently only be changed immediately, using SubscriptionUpdate.
59
51
  define_attribute :shipping, :SubscriptionChangeShippingCreate
60
52
 
61
- # @!attribute tax_inclusive
62
- # @return [Boolean] This field is deprecated. Please do not use it.
63
- define_attribute :tax_inclusive, :Boolean
64
-
65
53
  # @!attribute timeframe
66
54
  # @return [String] The timeframe parameter controls when the upgrade or downgrade takes place. The subscription change can occur now, when the subscription is next billed, or when the subscription term ends. Generally, if you're performing an upgrade, you will want the change to occur immediately (now). If you're performing a downgrade, you should set the timeframe to `term_end` or `bill_date` so the change takes effect at a scheduled billing date. The `renewal` timeframe option is accepted as an alias for `term_end`.
67
55
  define_attribute :timeframe, String