recurly 3.18.1 → 3.21.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.changelog_config.yaml +11 -0
  4. data/.github/workflows/ci.yml +29 -0
  5. data/.github/workflows/docs.yml +1 -1
  6. data/CHANGELOG.md +254 -163
  7. data/GETTING_STARTED.md +1 -1
  8. data/lib/recurly/client/operations.rb +212 -134
  9. data/lib/recurly/client.rb +5 -3
  10. data/lib/recurly/errors/api_errors.rb +2 -0
  11. data/lib/recurly/pager.rb +1 -1
  12. data/lib/recurly/requests/account_create.rb +4 -0
  13. data/lib/recurly/requests/account_purchase.rb +4 -0
  14. data/lib/recurly/requests/account_update.rb +4 -0
  15. data/lib/recurly/requests/add_on_create.rb +3 -3
  16. data/lib/recurly/requests/add_on_pricing.rb +4 -0
  17. data/lib/recurly/requests/add_on_update.rb +1 -1
  18. data/lib/recurly/requests/address.rb +1 -1
  19. data/lib/recurly/requests/billing_info_create.rb +6 -2
  20. data/lib/recurly/requests/billing_info_verify.rb +14 -0
  21. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +18 -0
  22. data/lib/recurly/requests/invoice_address.rb +1 -1
  23. data/lib/recurly/requests/invoice_collect.rb +1 -1
  24. data/lib/recurly/requests/line_item_create.rb +6 -2
  25. data/lib/recurly/requests/plan_create.rb +12 -0
  26. data/lib/recurly/requests/plan_pricing.rb +5 -1
  27. data/lib/recurly/requests/plan_ramp_interval.rb +18 -0
  28. data/lib/recurly/requests/plan_ramp_pricing.rb +18 -0
  29. data/lib/recurly/requests/plan_update.rb +8 -0
  30. data/lib/recurly/requests/pricing.rb +4 -0
  31. data/lib/recurly/requests/purchase_create.rb +1 -1
  32. data/lib/recurly/requests/shipping_address_create.rb +1 -1
  33. data/lib/recurly/requests/shipping_address_update.rb +1 -1
  34. data/lib/recurly/requests/subscription_change_billing_info_create.rb +14 -0
  35. data/lib/recurly/requests/subscription_change_create.rb +12 -0
  36. data/lib/recurly/requests/subscription_create.rb +10 -2
  37. data/lib/recurly/requests/subscription_pause.rb +1 -1
  38. data/lib/recurly/requests/subscription_purchase.rb +10 -2
  39. data/lib/recurly/requests/subscription_ramp_interval.rb +18 -0
  40. data/lib/recurly/requests/subscription_update.rb +5 -1
  41. data/lib/recurly/resources/account.rb +4 -0
  42. data/lib/recurly/resources/account_balance_amount.rb +4 -0
  43. data/lib/recurly/resources/account_mini.rb +4 -0
  44. data/lib/recurly/resources/add_on_pricing.rb +4 -0
  45. data/lib/recurly/resources/address.rb +1 -1
  46. data/lib/recurly/resources/billing_info.rb +5 -1
  47. data/lib/recurly/resources/billing_info_updated_by.rb +1 -1
  48. data/lib/recurly/resources/dunning_campaign.rb +50 -0
  49. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +18 -0
  50. data/lib/recurly/resources/dunning_cycle.rb +58 -0
  51. data/lib/recurly/resources/dunning_interval.rb +18 -0
  52. data/lib/recurly/resources/invoice.rb +6 -2
  53. data/lib/recurly/resources/invoice_address.rb +1 -1
  54. data/lib/recurly/resources/line_item.rb +11 -3
  55. data/lib/recurly/resources/payment_method.rb +4 -0
  56. data/lib/recurly/resources/plan.rb +12 -0
  57. data/lib/recurly/resources/plan_pricing.rb +5 -1
  58. data/lib/recurly/resources/plan_ramp_interval.rb +18 -0
  59. data/lib/recurly/resources/plan_ramp_pricing.rb +18 -0
  60. data/lib/recurly/resources/pricing.rb +4 -0
  61. data/lib/recurly/resources/shipping_address.rb +1 -1
  62. data/lib/recurly/resources/subscription.rb +12 -0
  63. data/lib/recurly/resources/subscription_change.rb +12 -0
  64. data/lib/recurly/resources/subscription_change_billing_info.rb +14 -0
  65. data/lib/recurly/resources/subscription_change_preview.rb +12 -0
  66. data/lib/recurly/resources/subscription_ramp_interval_response.rb +22 -0
  67. data/lib/recurly/resources/tax_detail.rb +26 -0
  68. data/lib/recurly/resources/tax_info.rb +4 -0
  69. data/lib/recurly/resources/transaction.rb +5 -1
  70. data/lib/recurly/version.rb +1 -1
  71. data/openapi/api.yaml +976 -162
  72. data/scripts/build +2 -2
  73. data/scripts/format +2 -2
  74. data/scripts/prepare-release +43 -29
  75. data/scripts/release +5 -20
  76. metadata +23 -10
  77. data/.github_changelog_generator +0 -8
  78. data/.travis.yml +0 -14
  79. data/scripts/bump +0 -11
  80. data/scripts/changelog +0 -14
@@ -14,6 +14,10 @@ module Recurly
14
14
  # @return [Address]
15
15
  define_attribute :address, :Address
16
16
 
17
+ # @!attribute backup_payment_method
18
+ # @return [Boolean] The `backup_payment_method` field is used to indicate a billing info as a backup on the account that will be tried if the initial billing info used for an invoice is declined.
19
+ define_attribute :backup_payment_method, :Boolean
20
+
17
21
  # @!attribute company
18
22
  # @return [String]
19
23
  define_attribute :company, String
@@ -47,7 +51,7 @@ module Recurly
47
51
  define_attribute :payment_method, :PaymentMethod
48
52
 
49
53
  # @!attribute primary_payment_method
50
- # @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.
54
+ # @return [Boolean] The `primary_payment_method` field is used to indicate the primary billing info on the account. The first billing info created on an account will always become primary. This payment method will be used
51
55
  define_attribute :primary_payment_method, :Boolean
52
56
 
53
57
  # @!attribute updated_at
@@ -7,7 +7,7 @@ module Recurly
7
7
  class BillingInfoUpdatedBy < Resource
8
8
 
9
9
  # @!attribute country
10
- # @return [String] Country of IP address, if known by Recurly.
10
+ # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code matching the origin IP address, if known by Recurly.
11
11
  define_attribute :country, String
12
12
 
13
13
  # @!attribute ip
@@ -0,0 +1,50 @@
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 Resources
7
+ class DunningCampaign < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] Campaign code.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] When the current campaign was created in Recurly.
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute default_campaign
18
+ # @return [Boolean] Whether or not this is the default campaign for accounts or plans without an assigned dunning campaign.
19
+ define_attribute :default_campaign, :Boolean
20
+
21
+ # @!attribute deleted_at
22
+ # @return [DateTime] When the current campaign was deleted in Recurly.
23
+ define_attribute :deleted_at, DateTime
24
+
25
+ # @!attribute description
26
+ # @return [String] Campaign description.
27
+ define_attribute :description, String
28
+
29
+ # @!attribute dunning_cycles
30
+ # @return [Array[DunningCycle]] Dunning Cycle settings.
31
+ define_attribute :dunning_cycles, Array, { :item_type => :DunningCycle }
32
+
33
+ # @!attribute id
34
+ # @return [String]
35
+ define_attribute :id, String
36
+
37
+ # @!attribute name
38
+ # @return [String] Campaign name.
39
+ define_attribute :name, String
40
+
41
+ # @!attribute object
42
+ # @return [String] Object type
43
+ define_attribute :object, String
44
+
45
+ # @!attribute updated_at
46
+ # @return [DateTime] When the current campaign was updated in Recurly.
47
+ define_attribute :updated_at, DateTime
48
+ end
49
+ end
50
+ 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 Resources
7
+ class DunningCampaignsBulkUpdateResponse < Resource
8
+
9
+ # @!attribute object
10
+ # @return [String] Object type
11
+ define_attribute :object, String
12
+
13
+ # @!attribute plans
14
+ # @return [Array[Plan]] An array containing all of the `Plan` resources that have been updated.
15
+ define_attribute :plans, Array, { :item_type => :Plan }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,58 @@
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 Resources
7
+ class DunningCycle < Resource
8
+
9
+ # @!attribute applies_to_manual_trial
10
+ # @return [Boolean] Whether the dunning settings will be applied to manual trials. Only applies to trial cycles.
11
+ define_attribute :applies_to_manual_trial, :Boolean
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] When the current settings were created in Recurly.
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute expire_subscription
18
+ # @return [Boolean] Whether the subscription(s) should be cancelled at the end of the dunning cycle.
19
+ define_attribute :expire_subscription, :Boolean
20
+
21
+ # @!attribute fail_invoice
22
+ # @return [Boolean] Whether the invoice should be failed at the end of the dunning cycle.
23
+ define_attribute :fail_invoice, :Boolean
24
+
25
+ # @!attribute first_communication_interval
26
+ # @return [Integer] The number of days after a transaction failure before the first dunning email is sent.
27
+ define_attribute :first_communication_interval, Integer
28
+
29
+ # @!attribute intervals
30
+ # @return [Array[DunningInterval]] Dunning intervals.
31
+ define_attribute :intervals, Array, { :item_type => :DunningInterval }
32
+
33
+ # @!attribute send_immediately_on_hard_decline
34
+ # @return [Boolean] Whether or not to send an extra email immediately to customers whose initial payment attempt fails with either a hard decline or invalid billing info.
35
+ define_attribute :send_immediately_on_hard_decline, :Boolean
36
+
37
+ # @!attribute total_dunning_days
38
+ # @return [Integer] The number of days between the first dunning email being sent and the end of the dunning cycle.
39
+ define_attribute :total_dunning_days, Integer
40
+
41
+ # @!attribute total_recycling_days
42
+ # @return [Integer] The number of days between a transaction failure and the end of the dunning cycle.
43
+ define_attribute :total_recycling_days, Integer
44
+
45
+ # @!attribute type
46
+ # @return [String] The type of invoice this cycle applies to.
47
+ define_attribute :type, String
48
+
49
+ # @!attribute updated_at
50
+ # @return [DateTime] When the current settings were updated in Recurly.
51
+ define_attribute :updated_at, DateTime
52
+
53
+ # @!attribute version
54
+ # @return [Integer] Current campaign version.
55
+ define_attribute :version, Integer
56
+ end
57
+ end
58
+ 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 Resources
7
+ class DunningInterval < Resource
8
+
9
+ # @!attribute days
10
+ # @return [Integer] Number of days before sending the next email.
11
+ define_attribute :days, Integer
12
+
13
+ # @!attribute email_template
14
+ # @return [String] Email template being used.
15
+ define_attribute :email_template, String
16
+ end
17
+ end
18
+ end
@@ -19,7 +19,7 @@ module Recurly
19
19
  define_attribute :balance, Float
20
20
 
21
21
  # @!attribute billing_info_id
22
- # @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.
22
+ # @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.
23
23
  define_attribute :billing_info_id, String
24
24
 
25
25
  # @!attribute closed_at
@@ -54,6 +54,10 @@ module Recurly
54
54
  # @return [DateTime] Date invoice is due. This is the date the net terms are reached.
55
55
  define_attribute :due_at, DateTime
56
56
 
57
+ # @!attribute dunning_campaign_id
58
+ # @return [String] Unique ID to identify the dunning campaign used when dunning the invoice. For sites without multiple dunning campaigns enabled, this will always be the default dunning campaign.
59
+ define_attribute :dunning_campaign_id, String
60
+
57
61
  # @!attribute id
58
62
  # @return [String] Invoice ID
59
63
  define_attribute :id, String
@@ -107,7 +111,7 @@ module Recurly
107
111
  define_attribute :subscription_ids, Array, { :item_type => String }
108
112
 
109
113
  # @!attribute subtotal
110
- # @return [Float] The summation of charges, discounts, and credits, before tax.
114
+ # @return [Float] The summation of charges and credits, before discounts and taxes.
111
115
  define_attribute :subtotal, Float
112
116
 
113
117
  # @!attribute tax
@@ -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 code.
18
+ # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
19
19
  define_attribute :country, String
20
20
 
21
21
  # @!attribute first_name
@@ -34,6 +34,10 @@ module Recurly
34
34
  # @return [Integer] Used by Avalara for Communications taxes. The transaction type in combination with the service type describe how the line item is taxed. Refer to [the documentation](https://help.avalara.com/AvaTax_for_Communications/Tax_Calculation/AvaTax_for_Communications_Tax_Engine/Mapping_Resources/TM_00115_AFC_Modules_Corresponding_Transaction_Types) for more available t/s types.
35
35
  define_attribute :avalara_transaction_type, Integer
36
36
 
37
+ # @!attribute bill_for_account_id
38
+ # @return [String] The UUID of the account responsible for originating the line item.
39
+ define_attribute :bill_for_account_id, String
40
+
37
41
  # @!attribute created_at
38
42
  # @return [DateTime] When the line item was created.
39
43
  define_attribute :created_at, DateTime
@@ -63,7 +67,7 @@ module Recurly
63
67
  define_attribute :end_date, DateTime
64
68
 
65
69
  # @!attribute external_sku
66
- # @return [String] Optional Stock Keeping Unit assigned to an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
70
+ # @return [String] Optional Stock Keeping Unit assigned to an item. Available when the Credit Invoices feature is enabled.
67
71
  define_attribute :external_sku, String
68
72
 
69
73
  # @!attribute id
@@ -79,11 +83,11 @@ module Recurly
79
83
  define_attribute :invoice_number, String
80
84
 
81
85
  # @!attribute item_code
82
- # @return [String] Unique code to identify an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
86
+ # @return [String] Unique code to identify an item. Available when the Credit Invoices feature is enabled.
83
87
  define_attribute :item_code, String
84
88
 
85
89
  # @!attribute item_id
86
- # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices and Subscription Billing Terms features are enabled.
90
+ # @return [String] System-generated unique identifier for an item. Available when the Credit Invoices feature is enabled.
87
91
  define_attribute :item_id, String
88
92
 
89
93
  # @!attribute legacy_category
@@ -170,6 +174,10 @@ module Recurly
170
174
  # @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.
171
175
  define_attribute :tax_exempt, :Boolean
172
176
 
177
+ # @!attribute tax_inclusive
178
+ # @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 utilize this flag.
179
+ define_attribute :tax_inclusive, :Boolean
180
+
173
181
  # @!attribute tax_info
174
182
  # @return [TaxInfo] Tax info
175
183
  define_attribute :tax_info, :TaxInfo
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [String] Visa, MasterCard, American Express, Discover, JCB, etc.
19
19
  define_attribute :card_type, String
20
20
 
21
+ # @!attribute cc_bin_country
22
+ # @return [String] The 2-letter ISO 3166-1 alpha-2 country code associated with the credit card BIN, if known by Recurly. Available on the BillingInfo object only. Available when the BIN country lookup feature is enabled.
23
+ define_attribute :cc_bin_country, String
24
+
21
25
  # @!attribute exp_month
22
26
  # @return [Integer] Expiration month.
23
27
  define_attribute :exp_month, Integer
@@ -46,6 +46,10 @@ module Recurly
46
46
  # @return [String] Optional description, not displayed.
47
47
  define_attribute :description, String
48
48
 
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
+
49
53
  # @!attribute hosted_pages
50
54
  # @return [PlanHostedPages] Hosted pages settings
51
55
  define_attribute :hosted_pages, :PlanHostedPages
@@ -70,6 +74,14 @@ module Recurly
70
74
  # @return [String] Object type
71
75
  define_attribute :object, String
72
76
 
77
+ # @!attribute pricing_model
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.
79
+ define_attribute :pricing_model, String
80
+
81
+ # @!attribute ramp_intervals
82
+ # @return [Array[PlanRampInterval]] Ramp Intervals
83
+ define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
84
+
73
85
  # @!attribute revenue_schedule_type
74
86
  # @return [String] Revenue schedule type
75
87
  define_attribute :revenue_schedule_type, String
@@ -14,8 +14,12 @@ 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
+
17
21
  # @!attribute unit_amount
18
- # @return [Float] Unit price
22
+ # @return [Float] This field should not be sent when the pricing model is 'ramp'.
19
23
  define_attribute :unit_amount, Float
20
24
  end
21
25
  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 Resources
7
+ class PlanRampInterval < Resource
8
+
9
+ # @!attribute currencies
10
+ # @return [Array[PlanRampPricing]] Represents the price for the ramp interval.
11
+ define_attribute :currencies, Array, { :item_type => :PlanRampPricing }
12
+
13
+ # @!attribute starting_billing_cycle
14
+ # @return [Integer] Represents the first billing cycle of a ramp.
15
+ define_attribute :starting_billing_cycle, Integer
16
+ end
17
+ end
18
+ 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 Resources
7
+ class PlanRampPricing < Resource
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute unit_amount
14
+ # @return [Float] Represents the price for the Ramp Interval.
15
+ define_attribute :unit_amount, Float
16
+ end
17
+ end
18
+ end
@@ -10,6 +10,10 @@ 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
+
13
17
  # @!attribute unit_amount
14
18
  # @return [Float] Unit price
15
19
  define_attribute :unit_amount, Float
@@ -19,7 +19,7 @@ module Recurly
19
19
  define_attribute :company, String
20
20
 
21
21
  # @!attribute country
22
- # @return [String] Country, 2-letter ISO code.
22
+ # @return [String] Country, 2-letter ISO 3166-1 alpha-2 code.
23
23
  define_attribute :country, String
24
24
 
25
25
  # @!attribute created_at
@@ -14,6 +14,10 @@ module Recurly
14
14
  # @return [DateTime] Activated at
15
15
  define_attribute :activated_at, DateTime
16
16
 
17
+ # @!attribute active_invoice_id
18
+ # @return [String] The invoice ID of the latest invoice created for an active subscription.
19
+ define_attribute :active_invoice_id, String
20
+
17
21
  # @!attribute add_ons
18
22
  # @return [Array[SubscriptionAddOn]] Add-ons
19
23
  define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
@@ -118,6 +122,10 @@ module Recurly
118
122
  # @return [Integer] Subscription quantity
119
123
  define_attribute :quantity, Integer
120
124
 
125
+ # @!attribute ramp_intervals
126
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
127
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
128
+
121
129
  # @!attribute remaining_billing_cycles
122
130
  # @return [Integer] The remaining billing cycles in the current term.
123
131
  define_attribute :remaining_billing_cycles, Integer
@@ -146,6 +154,10 @@ module Recurly
146
154
  # @return [Float] Estimated total, before tax.
147
155
  define_attribute :subtotal, Float
148
156
 
157
+ # @!attribute tax_inclusive
158
+ # @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 utilize this flag.
159
+ define_attribute :tax_inclusive, :Boolean
160
+
149
161
  # @!attribute terms_and_conditions
150
162
  # @return [String] Terms and conditions
151
163
  define_attribute :terms_and_conditions, String
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
19
19
  define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
20
20
 
21
+ # @!attribute billing_info
22
+ # @return [SubscriptionChangeBillingInfo] Accept nested attributes for three_d_secure_action_result_token_id
23
+ define_attribute :billing_info, :SubscriptionChangeBillingInfo
24
+
21
25
  # @!attribute created_at
22
26
  # @return [DateTime] Created at
23
27
  define_attribute :created_at, DateTime
@@ -50,6 +54,10 @@ module Recurly
50
54
  # @return [Integer] Subscription quantity
51
55
  define_attribute :quantity, Integer
52
56
 
57
+ # @!attribute ramp_intervals
58
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
59
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
60
+
53
61
  # @!attribute revenue_schedule_type
54
62
  # @return [String] Revenue schedule type
55
63
  define_attribute :revenue_schedule_type, String
@@ -66,6 +74,10 @@ module Recurly
66
74
  # @return [String] The ID of the subscription that is going to be changed.
67
75
  define_attribute :subscription_id, String
68
76
 
77
+ # @!attribute tax_inclusive
78
+ # @return [Boolean] This field is deprecated. Please do not use it.
79
+ define_attribute :tax_inclusive, :Boolean
80
+
69
81
  # @!attribute unit_amount
70
82
  # @return [Float] Unit amount
71
83
  define_attribute :unit_amount, Float
@@ -0,0 +1,14 @@
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 Resources
7
+ class SubscriptionChangeBillingInfo < Resource
8
+
9
+ # @!attribute three_d_secure_action_result_token_id
10
+ # @return [String] A token generated by Recurly.js after completing a 3-D Secure device fingerprinting or authentication challenge.
11
+ define_attribute :three_d_secure_action_result_token_id, String
12
+ end
13
+ end
14
+ end
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
19
19
  define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
20
20
 
21
+ # @!attribute billing_info
22
+ # @return [SubscriptionChangeBillingInfo] Accept nested attributes for three_d_secure_action_result_token_id
23
+ define_attribute :billing_info, :SubscriptionChangeBillingInfo
24
+
21
25
  # @!attribute created_at
22
26
  # @return [DateTime] Created at
23
27
  define_attribute :created_at, DateTime
@@ -50,6 +54,10 @@ module Recurly
50
54
  # @return [Integer] Subscription quantity
51
55
  define_attribute :quantity, Integer
52
56
 
57
+ # @!attribute ramp_intervals
58
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
59
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
60
+
53
61
  # @!attribute revenue_schedule_type
54
62
  # @return [String] Revenue schedule type
55
63
  define_attribute :revenue_schedule_type, String
@@ -66,6 +74,10 @@ module Recurly
66
74
  # @return [String] The ID of the subscription that is going to be changed.
67
75
  define_attribute :subscription_id, String
68
76
 
77
+ # @!attribute tax_inclusive
78
+ # @return [Boolean] This field is deprecated. Please do not use it.
79
+ define_attribute :tax_inclusive, :Boolean
80
+
69
81
  # @!attribute unit_amount
70
82
  # @return [Float] Unit amount
71
83
  define_attribute :unit_amount, Float
@@ -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 Resources
7
+ class SubscriptionRampIntervalResponse < Resource
8
+
9
+ # @!attribute remaining_billing_cycles
10
+ # @return [Integer] Represents how many billing cycles are left in a ramp interval.
11
+ define_attribute :remaining_billing_cycles, Integer
12
+
13
+ # @!attribute starting_billing_cycle
14
+ # @return [Integer] Represents how many billing cycles are included in a ramp interval.
15
+ define_attribute :starting_billing_cycle, Integer
16
+
17
+ # @!attribute unit_amount
18
+ # @return [Integer] Represents the price for the ramp interval.
19
+ define_attribute :unit_amount, Integer
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
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 Resources
7
+ class TaxDetail < Resource
8
+
9
+ # @!attribute rate
10
+ # @return [Float] Provides the tax rate for the region.
11
+ define_attribute :rate, Float
12
+
13
+ # @!attribute region
14
+ # @return [String] Provides the tax region applied on an invoice. For Canadian Sales Tax, this will be either the 2 letter province code or country code.
15
+ define_attribute :region, String
16
+
17
+ # @!attribute tax
18
+ # @return [Float] The total tax applied for this tax type.
19
+ define_attribute :tax, Float
20
+
21
+ # @!attribute type
22
+ # @return [String] Provides the tax type for the region. For Canadian Sales Tax, this will be GST, HST, QST or PST.
23
+ define_attribute :type, String
24
+ end
25
+ end
26
+ end
@@ -14,6 +14,10 @@ module Recurly
14
14
  # @return [String] Provides the tax region applied on an invoice. For U.S. Sales Tax, this will be the 2 letter state code. For EU VAT this will be the 2 letter country code. For all country level tax types, this will display the regional tax, like VAT, GST, or PST.
15
15
  define_attribute :region, String
16
16
 
17
+ # @!attribute tax_details
18
+ # @return [Array[TaxDetail]] Provides additional tax details for Canadian Sales Tax when there is tax applied at both the country and province levels. This will only be populated for the Invoice response when fetching a single invoice and not for the InvoiceList or LineItem.
19
+ define_attribute :tax_details, Array, { :item_type => :TaxDetail }
20
+
17
21
  # @!attribute type
18
22
  # @return [String] Provides the tax type as "vat" for EU VAT, "usst" for U.S. Sales Tax, or the 2 letter country code for country level tax types like Canada, Australia, New Zealand, Israel, and all non-EU European countries.
19
23
  define_attribute :type, String
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [String] When processed, result from checking the overall AVS on the transaction.
19
19
  define_attribute :avs_check, String
20
20
 
21
+ # @!attribute backup_payment_method_used
22
+ # @return [Boolean] Indicates if the transaction was completed using a backup payment
23
+ define_attribute :backup_payment_method_used, :Boolean
24
+
21
25
  # @!attribute billing_address
22
26
  # @return [Address]
23
27
  define_attribute :billing_address, :Address
@@ -83,7 +87,7 @@ module Recurly
83
87
  define_attribute :invoice, :InvoiceMini
84
88
 
85
89
  # @!attribute ip_address_country
86
- # @return [String] IP address's country
90
+ # @return [String] Origin IP address country, 2-letter ISO 3166-1 alpha-2 code, if known by Recurly.
87
91
  define_attribute :ip_address_country, String
88
92
 
89
93
  # @!attribute ip_address_v4
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "3.18.1"
2
+ VERSION = "3.21.0"
3
3
  end