recurly 3.29.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.github/workflows/docs.yml +1 -1
  4. data/.github_changelog_generator +8 -0
  5. data/.travis.yml +13 -0
  6. data/CHANGELOG.md +202 -380
  7. data/CONTRIBUTING.md +0 -4
  8. data/GETTING_STARTED.md +20 -17
  9. data/README.md +0 -3
  10. data/lib/recurly/client/operations.rb +778 -662
  11. data/lib/recurly/client.rb +44 -28
  12. data/lib/recurly/errors/api_errors.rb +3 -2
  13. data/lib/recurly/errors.rb +5 -23
  14. data/lib/recurly/pager.rb +5 -15
  15. data/lib/recurly/requests/{account_acquisition_updatable.rb → account_acquisition_update.rb} +1 -1
  16. data/lib/recurly/requests/account_create.rb +2 -14
  17. data/lib/recurly/requests/account_purchase.rb +2 -14
  18. data/lib/recurly/requests/account_update.rb +0 -12
  19. data/lib/recurly/requests/add_on_create.rb +4 -4
  20. data/lib/recurly/requests/add_on_pricing.rb +5 -5
  21. data/lib/recurly/requests/add_on_update.rb +2 -2
  22. data/lib/recurly/requests/address.rb +1 -13
  23. data/lib/recurly/requests/billing_info_create.rb +3 -47
  24. data/lib/recurly/requests/coupon_create.rb +1 -1
  25. data/lib/recurly/requests/external_transaction.rb +1 -1
  26. data/lib/recurly/requests/invoice_address.rb +1 -5
  27. data/lib/recurly/requests/invoice_collect.rb +1 -1
  28. data/lib/recurly/requests/{invoice_updatable.rb → invoice_update.rb} +1 -1
  29. data/lib/recurly/requests/line_item_create.rb +2 -10
  30. data/lib/recurly/requests/line_item_refund.rb +0 -4
  31. data/lib/recurly/requests/plan_create.rb +0 -16
  32. data/lib/recurly/requests/plan_pricing.rb +1 -5
  33. data/lib/recurly/requests/plan_update.rb +0 -12
  34. data/lib/recurly/requests/pricing.rb +0 -4
  35. data/lib/recurly/requests/purchase_create.rb +1 -1
  36. data/lib/recurly/requests/shipping_address_create.rb +1 -5
  37. data/lib/recurly/requests/shipping_address_update.rb +1 -5
  38. data/lib/recurly/requests/subscription_add_on_create.rb +8 -4
  39. data/lib/recurly/requests/subscription_add_on_tier.rb +5 -1
  40. data/lib/recurly/requests/subscription_add_on_update.rb +6 -2
  41. data/lib/recurly/requests/subscription_change_create.rb +1 -13
  42. data/lib/recurly/requests/subscription_create.rb +5 -13
  43. data/lib/recurly/requests/subscription_pause.rb +1 -1
  44. data/lib/recurly/requests/subscription_purchase.rb +2 -10
  45. data/lib/recurly/requests/subscription_update.rb +1 -5
  46. data/lib/recurly/requests/tier.rb +2 -2
  47. data/lib/recurly/requests/{plan_ramp_pricing.rb → tier_pricing.rb} +6 -2
  48. data/lib/recurly/requests/usage_create.rb +1 -1
  49. data/lib/recurly/resources/account.rb +0 -12
  50. data/lib/recurly/resources/account_balance_amount.rb +0 -8
  51. data/lib/recurly/resources/account_mini.rb +0 -4
  52. data/lib/recurly/resources/add_on.rb +1 -1
  53. data/lib/recurly/resources/add_on_pricing.rb +5 -5
  54. data/lib/recurly/resources/address.rb +1 -13
  55. data/lib/recurly/resources/address_with_name.rb +46 -0
  56. data/lib/recurly/resources/billing_info.rb +1 -5
  57. data/lib/recurly/resources/billing_info_updated_by.rb +1 -1
  58. data/lib/recurly/resources/coupon.rb +5 -17
  59. data/lib/recurly/resources/custom_field_definition.rb +1 -1
  60. data/lib/recurly/resources/invoice.rb +8 -12
  61. data/lib/recurly/resources/invoice_address.rb +1 -5
  62. data/lib/recurly/resources/line_item.rb +7 -23
  63. data/lib/recurly/resources/payment_method.rb +0 -12
  64. data/lib/recurly/resources/plan.rb +1 -17
  65. data/lib/recurly/resources/plan_pricing.rb +1 -5
  66. data/lib/recurly/resources/pricing.rb +0 -4
  67. data/lib/recurly/resources/shipping_address.rb +1 -5
  68. data/lib/recurly/resources/subscription.rb +0 -12
  69. data/lib/recurly/resources/subscription_add_on.rb +6 -2
  70. data/lib/recurly/resources/subscription_add_on_tier.rb +5 -1
  71. data/lib/recurly/resources/subscription_change.rb +0 -16
  72. data/lib/recurly/resources/tax_info.rb +3 -7
  73. data/lib/recurly/resources/tier.rb +2 -2
  74. data/lib/recurly/resources/{plan_ramp_pricing.rb → tier_pricing.rb} +6 -2
  75. data/lib/recurly/resources/transaction.rb +3 -7
  76. data/lib/recurly/resources/unique_coupon_code_params.rb +26 -0
  77. data/lib/recurly/resources/usage.rb +6 -2
  78. data/lib/recurly/version.rb +1 -1
  79. data/openapi/api.yaml +2028 -3132
  80. data/scripts/build +2 -2
  81. data/scripts/bump +11 -0
  82. data/scripts/changelog +14 -0
  83. data/scripts/format +2 -2
  84. data/scripts/prepare-release +29 -43
  85. data/scripts/release +20 -5
  86. metadata +17 -33
  87. data/.changelog_config.yaml +0 -11
  88. data/.github/workflows/ci.yml +0 -29
  89. data/.github/workflows/pr-review.yml +0 -27
  90. data/CODE_OF_CONDUCT.md +0 -130
  91. data/lib/recurly/errors/network_errors.rb +0 -10
  92. data/lib/recurly/requests/billing_info_verify.rb +0 -14
  93. data/lib/recurly/requests/dunning_campaigns_bulk_update.rb +0 -18
  94. data/lib/recurly/requests/gateway_attributes.rb +0 -14
  95. data/lib/recurly/requests/plan_ramp_interval.rb +0 -18
  96. data/lib/recurly/requests/subscription_change_billing_info_create.rb +0 -14
  97. data/lib/recurly/requests/subscription_ramp_interval.rb +0 -18
  98. data/lib/recurly/resources/dunning_campaign.rb +0 -50
  99. data/lib/recurly/resources/dunning_campaigns_bulk_update_response.rb +0 -18
  100. data/lib/recurly/resources/dunning_cycle.rb +0 -58
  101. data/lib/recurly/resources/dunning_interval.rb +0 -18
  102. data/lib/recurly/resources/gateway_attributes.rb +0 -14
  103. data/lib/recurly/resources/line_item_list.rb +0 -26
  104. data/lib/recurly/resources/plan_ramp_interval.rb +0 -18
  105. data/lib/recurly/resources/subscription_change_billing_info.rb +0 -14
  106. data/lib/recurly/resources/subscription_change_preview.rb +0 -90
  107. data/lib/recurly/resources/subscription_ramp_interval_response.rb +0 -30
  108. data/lib/recurly/resources/tax_detail.rb +0 -38
@@ -1,18 +0,0 @@
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 SubscriptionRampInterval < Request
8
-
9
- # @!attribute starting_billing_cycle
10
- # @return [Integer] Represents the billing cycle where a ramp interval starts.
11
- define_attribute :starting_billing_cycle, Integer
12
-
13
- # @!attribute unit_amount
14
- # @return [Integer] Represents the price for the ramp interval.
15
- define_attribute :unit_amount, Integer
16
- end
17
- end
18
- end
@@ -1,50 +0,0 @@
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
@@ -1,18 +0,0 @@
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
@@ -1,58 +0,0 @@
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
@@ -1,18 +0,0 @@
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
@@ -1,14 +0,0 @@
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 GatewayAttributes < Resource
8
-
9
- # @!attribute account_reference
10
- # @return [String] Used by Adyen and Braintree gateways. For Adyen the Shopper Reference value used when the external token was created. For Braintree the PayPal PayerID is populated in the response.
11
- define_attribute :account_reference, String
12
- end
13
- end
14
- end
@@ -1,26 +0,0 @@
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 LineItemList < Resource
8
-
9
- # @!attribute data
10
- # @return [Array[LineItem]]
11
- define_attribute :data, Array, { :item_type => :LineItem }
12
-
13
- # @!attribute has_more
14
- # @return [Boolean] Indicates there are more results on subsequent pages.
15
- define_attribute :has_more, :Boolean
16
-
17
- # @!attribute next
18
- # @return [String] Path to subsequent page of results.
19
- define_attribute :next, String
20
-
21
- # @!attribute object
22
- # @return [String] Will always be List.
23
- define_attribute :object, String
24
- end
25
- end
26
- end
@@ -1,18 +0,0 @@
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 billing cycle where a ramp interval starts.
15
- define_attribute :starting_billing_cycle, Integer
16
- end
17
- end
18
- end
@@ -1,14 +0,0 @@
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
@@ -1,90 +0,0 @@
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 SubscriptionChangePreview < Resource
8
-
9
- # @!attribute activate_at
10
- # @return [DateTime] Activated at
11
- define_attribute :activate_at, DateTime
12
-
13
- # @!attribute activated
14
- # @return [Boolean] Returns `true` if the subscription change is activated.
15
- define_attribute :activated, :Boolean
16
-
17
- # @!attribute add_ons
18
- # @return [Array[SubscriptionAddOn]] These add-ons will be used when the subscription renews.
19
- define_attribute :add_ons, Array, { :item_type => :SubscriptionAddOn }
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
-
25
- # @!attribute created_at
26
- # @return [DateTime] Created at
27
- define_attribute :created_at, DateTime
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
- # @!attribute deleted_at
34
- # @return [DateTime] Deleted at
35
- define_attribute :deleted_at, DateTime
36
-
37
- # @!attribute id
38
- # @return [String] The ID of the Subscription Change.
39
- define_attribute :id, String
40
-
41
- # @!attribute invoice_collection
42
- # @return [InvoiceCollection] Invoice Collection
43
- define_attribute :invoice_collection, :InvoiceCollection
44
-
45
- # @!attribute object
46
- # @return [String] Object type
47
- define_attribute :object, String
48
-
49
- # @!attribute plan
50
- # @return [PlanMini] Just the important parts.
51
- define_attribute :plan, :PlanMini
52
-
53
- # @!attribute quantity
54
- # @return [Integer] Subscription quantity
55
- define_attribute :quantity, Integer
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
-
61
- # @!attribute revenue_schedule_type
62
- # @return [String] Revenue schedule type
63
- define_attribute :revenue_schedule_type, String
64
-
65
- # @!attribute setup_fee_revenue_schedule_type
66
- # @return [String] Setup fee revenue schedule type
67
- define_attribute :setup_fee_revenue_schedule_type, String
68
-
69
- # @!attribute shipping
70
- # @return [SubscriptionShipping] Subscription shipping details
71
- define_attribute :shipping, :SubscriptionShipping
72
-
73
- # @!attribute subscription_id
74
- # @return [String] The ID of the subscription that is going to be changed.
75
- define_attribute :subscription_id, String
76
-
77
- # @!attribute tax_inclusive
78
- # @return [Boolean] This field is deprecated. Please do not use it.
79
- define_attribute :tax_inclusive, :Boolean
80
-
81
- # @!attribute unit_amount
82
- # @return [Float] Unit amount
83
- define_attribute :unit_amount, Float
84
-
85
- # @!attribute updated_at
86
- # @return [DateTime] Updated at
87
- define_attribute :updated_at, DateTime
88
- end
89
- end
90
- end
@@ -1,30 +0,0 @@
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 ending_on
10
- # @return [DateTime] Date the ramp interval ends
11
- define_attribute :ending_on, DateTime
12
-
13
- # @!attribute remaining_billing_cycles
14
- # @return [Integer] Represents how many billing cycles are left in a ramp interval.
15
- define_attribute :remaining_billing_cycles, Integer
16
-
17
- # @!attribute starting_billing_cycle
18
- # @return [Integer] Represents the billing cycle where a ramp interval starts.
19
- define_attribute :starting_billing_cycle, Integer
20
-
21
- # @!attribute starting_on
22
- # @return [DateTime] Date the ramp interval starts
23
- define_attribute :starting_on, DateTime
24
-
25
- # @!attribute unit_amount
26
- # @return [Integer] Represents the price for the ramp interval.
27
- define_attribute :unit_amount, Integer
28
- end
29
- end
30
- end
@@ -1,38 +0,0 @@
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 billable
10
- # @return [Boolean] Whether or not the line item is taxable. Only populated for a single LineItem fetch when Avalara for Communications is enabled.
11
- define_attribute :billable, :Boolean
12
-
13
- # @!attribute level
14
- # @return [String] Provides the jurisdiction level for the Communications tax applied. Example values include city, state and federal. Present only when Avalara for Communications is enabled.
15
- define_attribute :level, String
16
-
17
- # @!attribute name
18
- # @return [String] Provides the name of the Communications tax applied. Present only when Avalara for Communications is enabled.
19
- define_attribute :name, String
20
-
21
- # @!attribute rate
22
- # @return [Float] Provides the tax rate for the region.
23
- define_attribute :rate, Float
24
-
25
- # @!attribute region
26
- # @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. Not present when Avalara for Communications is enabled.
27
- define_attribute :region, String
28
-
29
- # @!attribute tax
30
- # @return [Float] The total tax applied for this tax type.
31
- define_attribute :tax, Float
32
-
33
- # @!attribute type
34
- # @return [String] Provides the tax type for the region or type of Comminications tax when Avalara for Communications is enabled. For Canadian Sales Tax, this will be GST, HST, QST or PST.
35
- define_attribute :type, String
36
- end
37
- end
38
- end