recurly 4.5.0 → 4.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab15012ab4dc0ad0a98506632f63d7496dd6a4efe39d970810f353c10b10a22d
4
- data.tar.gz: cec6000b28ccbf14ed002a73476c296df2d46b6266664e24b0978e6e1ed0600e
3
+ metadata.gz: 38f52125b8c12aad80f605fc94ea0587a73ea82823fb8aec6b2deae2f706983c
4
+ data.tar.gz: f223a30e3a884cb319e020cb074aa00b88aeb0d44529ddab8539f5636dc38ce0
5
5
  SHA512:
6
- metadata.gz: 53a4a6da3a7e648e813678acc0a3f565ecead9c0c114fad15f75b4eeb46f2c049e689d563db26ea5fb958ca40e318f1e7a28ed435b9a14fefe4bb0fbc9bc45fd
7
- data.tar.gz: a384b0e85ebad2b40a2aa4c1909c57c0e16065b2aa63c2084b815fdb1f6be81e2d97fa4e7bcaf22ce6599c7ddd7fd6935476e2f3f49aef5952f9cc4467d1484f
6
+ metadata.gz: 7ec68d64ac36472c09c7267b3439eb2b3d63e0d7c17ad8245068c0378395e1562d4de229b360c8aab6ac2995db1c4fa1804c230f4ec1831213bb51cf8bed6d36
7
+ data.tar.gz: 922e7c9f74131d607115100ae592da8f6d50fa72760d66d90b6e15ec824a31e1d34c6202895f43d37a482bf493bbd5e06bad3fa184008b54bc42d637f2ef062f
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.5.0
2
+ current_version = 4.9.0
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.9.0](https://github.com/recurly/recurly-client-ruby/tree/4.9.0) (2021-09-16)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.8.0...4.9.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 (Support to new subscription fields and response) [#725](https://github.com/recurly/recurly-client-ruby/pull/725) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.8.0](https://github.com/recurly/recurly-client-ruby/tree/4.8.0) (2021-09-01)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.7.0...4.8.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 (Dunning Campaigns feature) [#724](https://github.com/recurly/recurly-client-ruby/pull/724) ([recurly-integrations](https://github.com/recurly-integrations))
22
+
23
+
24
+
25
+ ## [4.7.0](https://github.com/recurly/recurly-client-ruby/tree/4.7.0) (2021-08-19)
26
+
27
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.6.0...4.7.0)
28
+
29
+
30
+ **Merged Pull Requests**
31
+
32
+ - Generated Latest Changes for v2021-02-25 (get_preview_renewal) [#722](https://github.com/recurly/recurly-client-ruby/pull/722) ([recurly-integrations](https://github.com/recurly-integrations))
33
+
34
+
35
+
36
+ ## [4.6.0](https://github.com/recurly/recurly-client-ruby/tree/4.6.0) (2021-08-11)
37
+
38
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.5.0...4.6.0)
39
+
40
+
41
+ **Merged Pull Requests**
42
+
43
+ - Generated Latest Changes for v2021-02-25 [#720](https://github.com/recurly/recurly-client-ruby/pull/720) ([recurly-integrations](https://github.com/recurly-integrations))
44
+
45
+
46
+
3
47
  ## [4.5.0](https://github.com/recurly/recurly-client-ruby/tree/4.5.0) (2021-08-02)
4
48
 
5
49
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.4.0...4.5.0)
data/GETTING_STARTED.md CHANGED
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
5
5
  In your Gemfile, add `recurly` as a dependency.
6
6
 
7
7
  ```ruby
8
- gem 'recurly', '~> 4.5'
8
+ gem 'recurly', '~> 4.9'
9
9
  ```
10
10
 
11
11
  > *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
@@ -3300,6 +3300,20 @@ module Recurly
3300
3300
  put(path, **options)
3301
3301
  end
3302
3302
 
3303
+ # Fetch a preview of a subscription's renewal invoice(s)
3304
+ #
3305
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_preview_renewal get_preview_renewal api documenation}
3306
+ #
3307
+ # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3308
+ # @param params [Hash] Optional query string parameters:
3309
+ #
3310
+ # @return [Resources::InvoiceCollection] A preview of the subscription's renewal invoice(s).
3311
+ #
3312
+ def get_preview_renewal(subscription_id:, **options)
3313
+ path = interpolate_path("/subscriptions/{subscription_id}/preview_renewal", subscription_id: subscription_id)
3314
+ get(path, **options)
3315
+ end
3316
+
3303
3317
  # Fetch a subscription's pending change
3304
3318
  #
3305
3319
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_subscription_change get_subscription_change api documenation}
@@ -3889,5 +3903,50 @@ module Recurly
3889
3903
  path = interpolate_path("/export_dates/{export_date}/export_files", export_date: export_date)
3890
3904
  get(path, **options)
3891
3905
  end
3906
+
3907
+ # Show the dunning campaigns for a site
3908
+ #
3909
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_dunning_campaigns list_dunning_campaigns api documenation}
3910
+ #
3911
+ # @param params [Hash] Optional query string parameters:
3912
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
3913
+ # order. In descending order updated records will move behind the cursor and could
3914
+ # prevent some records from being returned.
3915
+ #
3916
+ #
3917
+ # @return [Pager<Resources::DunningCampaign>] A list of the the dunning_campaigns on an account.
3918
+ #
3919
+ def list_dunning_campaigns(**options)
3920
+ path = "/dunning_campaigns"
3921
+ pager(path, **options)
3922
+ end
3923
+
3924
+ # Show the settings for a dunning campaign
3925
+ #
3926
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_dunning_campaign get_dunning_campaign api documenation}
3927
+ #
3928
+ # @param dunning_campaign_id [String] Dunning Campaign ID, e.g. +e28zov4fw0v2+.
3929
+ # @param params [Hash] Optional query string parameters:
3930
+ #
3931
+ # @return [Resources::DunningCampaign] Settings for a dunning campaign.
3932
+ #
3933
+ def get_dunning_campaign(dunning_campaign_id:, **options)
3934
+ path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}", dunning_campaign_id: dunning_campaign_id)
3935
+ get(path, **options)
3936
+ end
3937
+
3938
+ # Assign a dunning campaign to multiple plans
3939
+ #
3940
+ # {https://developers.recurly.com/api/v2021-02-25#operation/put_dunning_campaign_bulk_update put_dunning_campaign_bulk_update api documenation}
3941
+ #
3942
+ # @param body [Requests::DunningCampaignsBulkUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::DunningCampaignsBulkUpdate}
3943
+ # @param params [Hash] Optional query string parameters:
3944
+ #
3945
+ # @return [Resources::DunningCampaignsBulkUpdateResponse] A list of updated plans.
3946
+ #
3947
+ def put_dunning_campaign_bulk_update(body:, **options)
3948
+ path = "/dunning_campaigns/{dunning_campaign_id}/bulk_update"
3949
+ put(path, body, Requests::DunningCampaignsBulkUpdate, **options)
3950
+ end
3892
3951
  end
3893
3952
  end
@@ -38,6 +38,10 @@ module Recurly
38
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
39
  define_attribute :custom_fields, Array, { :item_type => :CustomField }
40
40
 
41
+ # @!attribute dunning_campaign_id
42
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. Used to specify if a non-default dunning campaign should be assigned to this account. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
43
+ define_attribute :dunning_campaign_id, String
44
+
41
45
  # @!attribute email
42
46
  # @return [String] The email address used for communicating with this customer. The customer will also use this email address to log into your hosted account management pages. This value does not need to be unique.
43
47
  define_attribute :email, String
@@ -38,6 +38,10 @@ module Recurly
38
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
39
  define_attribute :custom_fields, Array, { :item_type => :CustomField }
40
40
 
41
+ # @!attribute dunning_campaign_id
42
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. Used to specify if a non-default dunning campaign should be assigned to this account. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
43
+ define_attribute :dunning_campaign_id, String
44
+
41
45
  # @!attribute email
42
46
  # @return [String] The email address used for communicating with this customer. The customer will also use this email address to log into your hosted account management pages. This value does not need to be unique.
43
47
  define_attribute :email, String
@@ -30,6 +30,10 @@ module Recurly
30
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
31
  define_attribute :custom_fields, Array, { :item_type => :CustomField }
32
32
 
33
+ # @!attribute dunning_campaign_id
34
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. Used to specify if a non-default dunning campaign should be assigned to this account. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
35
+ define_attribute :dunning_campaign_id, String
36
+
33
37
  # @!attribute email
34
38
  # @return [String] The email address used for communicating with this customer. The customer will also use this email address to log into your hosted account management pages. This value does not need to be unique.
35
39
  define_attribute :email, String
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class DunningCampaignsBulkUpdate < Request
8
+
9
+ # @!attribute plan_codes
10
+ # @return [Array[String]] List of `plan_codes` associated with the Plans for which the dunning campaign should be updated. Required unless `plan_ids` is present.
11
+ define_attribute :plan_codes, Array, { :item_type => String }
12
+
13
+ # @!attribute plan_ids
14
+ # @return [Array[String]] List of `plan_ids` associated with the Plans for which the dunning campaign should be updated. Required unless `plan_codes` is present.
15
+ define_attribute :plan_ids, Array, { :item_type => String }
16
+ end
17
+ end
18
+ end
@@ -42,6 +42,10 @@ module Recurly
42
42
  # @return [String] Optional description, not displayed.
43
43
  define_attribute :description, String
44
44
 
45
+ # @!attribute dunning_campaign_id
46
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. 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
+
45
49
  # @!attribute hosted_pages
46
50
  # @return [PlanHostedPages] Hosted pages settings
47
51
  define_attribute :hosted_pages, :PlanHostedPages
@@ -38,6 +38,10 @@ module Recurly
38
38
  # @return [String] Optional description, not displayed.
39
39
  define_attribute :description, String
40
40
 
41
+ # @!attribute dunning_campaign_id
42
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. 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.
43
+ define_attribute :dunning_campaign_id, String
44
+
41
45
  # @!attribute hosted_pages
42
46
  # @return [PlanHostedPages] Hosted pages settings
43
47
  define_attribute :hosted_pages, :PlanHostedPages
@@ -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 Requests
7
+ class SubscriptionChangeBillingInfoCreate < Request
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
@@ -10,6 +10,10 @@ module Recurly
10
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
+
13
17
  # @!attribute collection_method
14
18
  # @return [String] Collection method
15
19
  define_attribute :collection_method, String
@@ -6,6 +6,14 @@ module Recurly
6
6
  module Requests
7
7
  class SubscriptionChangeShippingCreate < Request
8
8
 
9
+ # @!attribute address
10
+ # @return [ShippingAddressCreate]
11
+ define_attribute :address, :ShippingAddressCreate
12
+
13
+ # @!attribute address_id
14
+ # @return [String] Assign a shipping address from the account's existing shipping addresses. If this and address are both present, address will take precedence.
15
+ define_attribute :address_id, String
16
+
9
17
  # @!attribute amount
10
18
  # @return [Float] Assigns the subscription's shipping cost. If this is greater than zero then a `method_id` or `method_code` is required.
11
19
  define_attribute :amount, Float
@@ -7,7 +7,7 @@ module Recurly
7
7
  class SubscriptionPause < Request
8
8
 
9
9
  # @!attribute remaining_pause_cycles
10
- # @return [Integer] Number of billing cycles to pause the subscriptions.
10
+ # @return [Integer] Number of billing cycles to pause the subscriptions. A value of 0 will cancel any pending pauses on the subscription.
11
11
  define_attribute :remaining_pause_cycles, Integer
12
12
  end
13
13
  end
@@ -26,6 +26,10 @@ module Recurly
26
26
  # @return [String] Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
27
27
  define_attribute :customer_notes, String
28
28
 
29
+ # @!attribute gateway_code
30
+ # @return [String] If present, this subscription's transactions will use the payment gateway with this code.
31
+ define_attribute :gateway_code, String
32
+
29
33
  # @!attribute net_terms
30
34
  # @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
35
  define_attribute :net_terms, Integer
@@ -42,6 +42,10 @@ module Recurly
42
42
  # @return [DateTime] If present, when the account was last marked inactive.
43
43
  define_attribute :deleted_at, DateTime
44
44
 
45
+ # @!attribute dunning_campaign_id
46
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. Used to specify if a non-default dunning campaign should be assigned to this account. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
47
+ define_attribute :dunning_campaign_id, String
48
+
45
49
  # @!attribute email
46
50
  # @return [String] The email address used for communicating with this customer. The customer will also use this email address to log into your hosted account management pages. This value does not need to be unique.
47
51
  define_attribute :email, String
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [String]
19
19
  define_attribute :company, String
20
20
 
21
+ # @!attribute dunning_campaign_id
22
+ # @return [String] Unique ID to identify a dunning campaign. Available when the Dunning Campaigns feature is enabled. Used to specify if a non-default dunning campaign should be assigned to this account. For sites without multiple dunning campaigns enabled, the default dunning campaign will always be used.
23
+ define_attribute :dunning_campaign_id, String
24
+
21
25
  # @!attribute email
22
26
  # @return [String] The email address used for communicating with this customer.
23
27
  define_attribute :email, String
@@ -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
@@ -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. Available when the Dunning Campaigns feature is enabled. 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 has_more_line_items
58
62
  # @return [Boolean] Identifies if the invoice has more line items than are returned in `line_items`. If `has_more_line_items` is `true`, then a request needs to be made to the `list_invoice_line_items` endpoint.
59
63
  define_attribute :has_more_line_items, :Boolean
@@ -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. Available when the Dunning Campaigns feature is enabled. 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
@@ -86,6 +86,10 @@ module Recurly
86
86
  # @return [DateTime] Expires at
87
87
  define_attribute :expires_at, DateTime
88
88
 
89
+ # @!attribute gateway_code
90
+ # @return [String] If present, this subscription's transactions will use the payment gateway with this code.
91
+ define_attribute :gateway_code, String
92
+
89
93
  # @!attribute id
90
94
  # @return [String] Subscription ID
91
95
  define_attribute :id, String
@@ -146,10 +150,22 @@ module Recurly
146
150
  # @return [Float] Estimated total, before tax.
147
151
  define_attribute :subtotal, Float
148
152
 
153
+ # @!attribute tax
154
+ # @return [Float] Estimated tax
155
+ define_attribute :tax, Float
156
+
157
+ # @!attribute tax_info
158
+ # @return [TaxInfo] Tax info
159
+ define_attribute :tax_info, :TaxInfo
160
+
149
161
  # @!attribute terms_and_conditions
150
162
  # @return [String] Terms and conditions
151
163
  define_attribute :terms_and_conditions, String
152
164
 
165
+ # @!attribute total
166
+ # @return [Float] Estimated total
167
+ define_attribute :total, Float
168
+
153
169
  # @!attribute total_billing_cycles
154
170
  # @return [Integer] The number of cycles/billing periods in a term. When `remaining_billing_cycles=0`, if `auto_renew=true` the subscription will renew and a new term will begin, otherwise the subscription will expire.
155
171
  define_attribute :total_billing_cycles, Integer
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.5.0"
2
+ VERSION = "4.9.0"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -219,6 +219,7 @@ x-tagGroups:
219
219
  - site
220
220
  - custom_field_definition
221
221
  - shipping_method
222
+ - dunning_campaigns
222
223
  tags:
223
224
  - name: site
224
225
  x-displayName: Site
@@ -332,6 +333,9 @@ tags:
332
333
  - name: automated_exports
333
334
  x-displayName: Automated Exports
334
335
  description: Automated exports of customer data.
336
+ - name: dunning_campaigns
337
+ x-displayName: Dunning Campaigns
338
+ description: Settings used when attempting to dun customers whose payments are declined.
335
339
  paths:
336
340
  "/sites":
337
341
  get:
@@ -12434,6 +12438,43 @@ paths:
12434
12438
  schema:
12435
12439
  "$ref": "#/components/schemas/Error"
12436
12440
  x-code-samples: []
12441
+ "/subscriptions/{subscription_id}/preview_renewal":
12442
+ get:
12443
+ tags:
12444
+ - subscription
12445
+ operationId: get_preview_renewal
12446
+ summary: Fetch a preview of a subscription's renewal invoice(s)
12447
+ description: The subscriptions's renewal invoice(s) will be returned if they
12448
+ exist; if they don't (for example, if the subscription is not set to renew),
12449
+ it will return an result with no invoices.
12450
+ parameters:
12451
+ - "$ref": "#/components/parameters/subscription_id"
12452
+ responses:
12453
+ '200':
12454
+ description: A preview of the subscription's renewal invoice(s).
12455
+ content:
12456
+ application/json:
12457
+ schema:
12458
+ "$ref": "#/components/schemas/InvoiceCollection"
12459
+ '400':
12460
+ description: Invalid or unpermitted parameter.
12461
+ content:
12462
+ application/json:
12463
+ schema:
12464
+ "$ref": "#/components/schemas/Error"
12465
+ '404':
12466
+ description: Incorrect site ID or subscription ID.
12467
+ content:
12468
+ application/json:
12469
+ schema:
12470
+ "$ref": "#/components/schemas/Error"
12471
+ default:
12472
+ description: Unexpected error.
12473
+ content:
12474
+ application/json:
12475
+ schema:
12476
+ "$ref": "#/components/schemas/Error"
12477
+ x-code-samples: []
12437
12478
  "/subscriptions/{subscription_id}/change":
12438
12479
  get:
12439
12480
  tags:
@@ -12570,7 +12611,16 @@ paths:
12570
12611
  - subscription_change
12571
12612
  operationId: create_subscription_change
12572
12613
  summary: Create a new subscription change
12573
- description: Calling this will overwrite an existing, pending subscription change.
12614
+ description: |
12615
+ Calling this will overwrite an existing, pending subscription change.
12616
+
12617
+ If a subscription has a pending change, and a change is submitted which matches
12618
+ the subscription as it currently exists, the pending change will be deleted,
12619
+ and you will receive a 204 No Content response.
12620
+
12621
+ If a subscription has no pending
12622
+ change, and a change is submitted which matches the subscription as it currently
12623
+ exists, a 422 Unprocessable Entity validation error will be returned.
12574
12624
  parameters:
12575
12625
  - "$ref": "#/components/parameters/subscription_id"
12576
12626
  requestBody:
@@ -12586,6 +12636,8 @@ paths:
12586
12636
  application/json:
12587
12637
  schema:
12588
12638
  "$ref": "#/components/schemas/SubscriptionChange"
12639
+ '204':
12640
+ description: The previous pending change was reverted.
12589
12641
  '404':
12590
12642
  description: Incorrect site ID.
12591
12643
  content:
@@ -14395,6 +14447,107 @@ paths:
14395
14447
  err.(*recurly.Error); ok {\n\tfmt.Printf(\"Unexpected Recurly error: %v\",
14396
14448
  e)\n\treturn nil, err\n}\n\nfor _, file := range exportFiles.Files {\n\tfmt.Println(\"Export
14397
14449
  file download URL: \", file.Href)\n}"
14450
+ "/dunning_campaigns":
14451
+ get:
14452
+ tags:
14453
+ - dunning_campaigns
14454
+ operationId: list_dunning_campaigns
14455
+ summary: Show the dunning campaigns for a site
14456
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
14457
+ to use pagination in the API and Client Libraries.
14458
+ parameters:
14459
+ - "$ref": "#/components/parameters/sort_dates"
14460
+ responses:
14461
+ '200':
14462
+ description: A list of the the dunning_campaigns on an account.
14463
+ content:
14464
+ application/json:
14465
+ schema:
14466
+ "$ref": "#/components/schemas/DunningCampaignList"
14467
+ '404':
14468
+ description: Incorrect site.
14469
+ content:
14470
+ application/json:
14471
+ schema:
14472
+ "$ref": "#/components/schemas/Error"
14473
+ default:
14474
+ description: Unexpected error.
14475
+ content:
14476
+ application/json:
14477
+ schema:
14478
+ "$ref": "#/components/schemas/Error"
14479
+ x-code-samples: []
14480
+ "/dunning_campaigns/{dunning_campaign_id}":
14481
+ parameters:
14482
+ - "$ref": "#/components/parameters/dunning_campaign_id"
14483
+ get:
14484
+ tags:
14485
+ - dunning_campaigns
14486
+ operationId: get_dunning_campaign
14487
+ summary: Show the settings for a dunning campaign
14488
+ responses:
14489
+ '200':
14490
+ description: Settings for a dunning campaign.
14491
+ content:
14492
+ application/json:
14493
+ schema:
14494
+ "$ref": "#/components/schemas/DunningCampaign"
14495
+ '400':
14496
+ description: Bad request; perhaps missing or invalid parameters.
14497
+ content:
14498
+ application/json:
14499
+ schema:
14500
+ "$ref": "#/components/schemas/Error"
14501
+ '404':
14502
+ description: Incorrect site or campaign ID.
14503
+ content:
14504
+ application/json:
14505
+ schema:
14506
+ "$ref": "#/components/schemas/Error"
14507
+ default:
14508
+ description: Unexpected error.
14509
+ content:
14510
+ application/json:
14511
+ schema:
14512
+ "$ref": "#/components/schemas/Error"
14513
+ x-code-samples: []
14514
+ "/dunning_campaigns/{dunning_campaign_id}/bulk_update":
14515
+ put:
14516
+ tags:
14517
+ - dunning_campaigns
14518
+ operationId: put_dunning_campaign_bulk_update
14519
+ summary: Assign a dunning campaign to multiple plans
14520
+ requestBody:
14521
+ content:
14522
+ application/json:
14523
+ schema:
14524
+ "$ref": "#/components/schemas/DunningCampaignsBulkUpdate"
14525
+ responses:
14526
+ '200':
14527
+ description: A list of updated plans.
14528
+ content:
14529
+ application/json:
14530
+ schema:
14531
+ "$ref": "#/components/schemas/DunningCampaignsBulkUpdateResponse"
14532
+ '400':
14533
+ description: Bad request; perhaps missing or invalid parameters.
14534
+ content:
14535
+ application/json:
14536
+ schema:
14537
+ "$ref": "#/components/schemas/Error"
14538
+ '404':
14539
+ description: Incorrect site or campaign ID.
14540
+ content:
14541
+ application/json:
14542
+ schema:
14543
+ "$ref": "#/components/schemas/Error"
14544
+ default:
14545
+ description: Unexpected error.
14546
+ content:
14547
+ application/json:
14548
+ schema:
14549
+ "$ref": "#/components/schemas/Error"
14550
+ x-code-samples: []
14398
14551
  servers:
14399
14552
  - url: https://v3.recurly.com
14400
14553
  components:
@@ -14538,6 +14691,13 @@ components:
14538
14691
  required: true
14539
14692
  schema:
14540
14693
  type: string
14694
+ dunning_campaign_id:
14695
+ name: dunning_campaign_id
14696
+ in: path
14697
+ description: Dunning Campaign ID, e.g. `e28zov4fw0v2`.
14698
+ required: true
14699
+ schema:
14700
+ type: string
14541
14701
  ids:
14542
14702
  name: ids
14543
14703
  in: query
@@ -15287,6 +15447,14 @@ components:
15287
15447
  created by this request. Supports 'moto' value, which is the acronym for
15288
15448
  mail order and telephone transactions.
15289
15449
  "$ref": "#/components/schemas/GatewayTransactionTypeEnum"
15450
+ dunning_campaign_id:
15451
+ type: string
15452
+ title: Dunning Campaign ID
15453
+ description: Unique ID to identify a dunning campaign. Available when the
15454
+ Dunning Campaigns feature is enabled. Used to specify if a non-default
15455
+ dunning campaign should be assigned to this account. For sites without
15456
+ multiple dunning campaigns enabled, the default dunning campaign will
15457
+ always be used.
15290
15458
  address:
15291
15459
  "$ref": "#/components/schemas/Address"
15292
15460
  billing_info:
@@ -15357,6 +15525,14 @@ components:
15357
15525
  specifically whether the account is self-paying or will rely on the parent
15358
15526
  account to pay.
15359
15527
  "$ref": "#/components/schemas/BillToEnum"
15528
+ dunning_campaign_id:
15529
+ type: string
15530
+ title: Dunning Campaign ID
15531
+ description: Unique ID to identify a dunning campaign. Available when the
15532
+ Dunning Campaigns feature is enabled. Used to specify if a non-default
15533
+ dunning campaign should be assigned to this account. For sites without
15534
+ multiple dunning campaigns enabled, the default dunning campaign will
15535
+ always be used.
15360
15536
  address:
15361
15537
  "$ref": "#/components/schemas/Address"
15362
15538
  billing_info:
@@ -15422,6 +15598,14 @@ components:
15422
15598
  bill_to:
15423
15599
  type: string
15424
15600
  maxLength: 6
15601
+ dunning_campaign_id:
15602
+ type: string
15603
+ title: Dunning Campaign ID
15604
+ description: Unique ID to identify a dunning campaign. Available when the
15605
+ Dunning Campaigns feature is enabled. Used to specify if a non-default
15606
+ dunning campaign should be assigned to this account. For sites without
15607
+ multiple dunning campaigns enabled, the default dunning campaign will
15608
+ always be used.
15425
15609
  AccountBalance:
15426
15610
  type: object
15427
15611
  properties:
@@ -17338,6 +17522,13 @@ components:
17338
17522
  format: date-time
17339
17523
  title: Closed at
17340
17524
  description: Date invoice was marked paid or failed.
17525
+ dunning_campaign_id:
17526
+ type: string
17527
+ title: Dunning Campaign ID
17528
+ description: Unique ID to identify the dunning campaign used when dunning
17529
+ the invoice. Available when the Dunning Campaigns feature is enabled.
17530
+ For sites without multiple dunning campaigns enabled, this will always
17531
+ be the default dunning campaign.
17341
17532
  InvoiceCreate:
17342
17533
  type: object
17343
17534
  properties:
@@ -18250,6 +18441,14 @@ components:
18250
18441
  Used to determine whether items can be assigned as add-ons to individual subscriptions.
18251
18442
  If `true`, items can be assigned as add-ons to individual subscription add-ons.
18252
18443
  If `false`, only plan add-ons can be used.
18444
+ dunning_campaign_id:
18445
+ type: string
18446
+ title: Dunning Campaign ID
18447
+ description: Unique ID to identify a dunning campaign. Available when the
18448
+ Dunning Campaigns feature is enabled. Used to specify if a non-default
18449
+ dunning campaign should be assigned to this plan. For sites without multiple
18450
+ dunning campaigns enabled, the default dunning campaign will always be
18451
+ used.
18253
18452
  created_at:
18254
18453
  type: string
18255
18454
  format: date-time
@@ -18406,6 +18605,14 @@ components:
18406
18605
  Used to determine whether items can be assigned as add-ons to individual subscriptions.
18407
18606
  If `true`, items can be assigned as add-ons to individual subscription add-ons.
18408
18607
  If `false`, only plan add-ons can be used.
18608
+ dunning_campaign_id:
18609
+ type: string
18610
+ title: Dunning Campaign ID
18611
+ description: Unique ID to identify a dunning campaign. Available when the
18612
+ Dunning Campaigns feature is enabled. Used to specify if a non-default
18613
+ dunning campaign should be assigned to this plan. For sites without multiple
18614
+ dunning campaigns enabled, the default dunning campaign will always be
18615
+ used.
18409
18616
  required:
18410
18617
  - code
18411
18618
  - name
@@ -18582,6 +18789,14 @@ components:
18582
18789
  Used to determine whether items can be assigned as add-ons to individual subscriptions.
18583
18790
  If `true`, items can be assigned as add-ons to individual subscription add-ons.
18584
18791
  If `false`, only plan add-ons can be used.
18792
+ dunning_campaign_id:
18793
+ type: string
18794
+ title: Dunning Campaign ID
18795
+ description: Unique ID to identify a dunning campaign. Available when the
18796
+ Dunning Campaigns feature is enabled. Used to specify if a non-default
18797
+ dunning campaign should be assigned to this plan. For sites without multiple
18798
+ dunning campaigns enabled, the default dunning campaign will always be
18799
+ used.
18585
18800
  AddOnPricing:
18586
18801
  type: object
18587
18802
  properties:
@@ -19239,6 +19454,16 @@ components:
19239
19454
  format: float
19240
19455
  title: Estimated total, before tax.
19241
19456
  minimum: 0
19457
+ tax:
19458
+ type: number
19459
+ format: float
19460
+ title: Estimated tax
19461
+ tax_info:
19462
+ "$ref": "#/components/schemas/TaxInfo"
19463
+ total:
19464
+ type: number
19465
+ format: float
19466
+ title: Estimated total
19242
19467
  collection_method:
19243
19468
  title: Collection method
19244
19469
  default: automatic
@@ -19298,6 +19523,12 @@ components:
19298
19523
  set. This timestamp is used for alerting customers to reauthorize in 3
19299
19524
  years in accordance with NACHA rules. If a subscription becomes inactive
19300
19525
  or the billing info is no longer a bank account, this timestamp is cleared.
19526
+ gateway_code:
19527
+ type: string
19528
+ title: Gateway Code
19529
+ description: If present, this subscription's transactions will use the payment
19530
+ gateway with this code.
19531
+ maxLength: 13
19301
19532
  billing_info_id:
19302
19533
  type: string
19303
19534
  title: Billing Info ID
@@ -19618,6 +19849,9 @@ components:
19618
19849
  description: A token generated by Recurly.js after completing a 3-D Secure
19619
19850
  device fingerprinting or authentication challenge.
19620
19851
  maxLength: 22
19852
+ SubscriptionChangeBillingInfoCreate:
19853
+ allOf:
19854
+ - "$ref": "#/components/schemas/SubscriptionChangeBillingInfo"
19621
19855
  SubscriptionChangeCreate:
19622
19856
  type: object
19623
19857
  properties:
@@ -19722,6 +19956,8 @@ components:
19722
19956
  created by this request. Supports 'moto' value, which is the acronym for
19723
19957
  mail order and telephone transactions.
19724
19958
  "$ref": "#/components/schemas/GatewayTransactionTypeEnum"
19959
+ billing_info:
19960
+ "$ref": "#/components/schemas/SubscriptionChangeBillingInfoCreate"
19725
19961
  SubscriptionChangeShippingCreate:
19726
19962
  type: object
19727
19963
  title: Shipping details that will be changed on a subscription
@@ -19747,6 +19983,13 @@ components:
19747
19983
  format: float
19748
19984
  title: Assigns the subscription's shipping cost. If this is greater than
19749
19985
  zero then a `method_id` or `method_code` is required.
19986
+ address_id:
19987
+ type: string
19988
+ titpe: Shipping address ID
19989
+ description: Assign a shipping address from the account's existing shipping
19990
+ addresses. If this and address are both present, address will take precedence.
19991
+ address:
19992
+ "$ref": "#/components/schemas/ShippingAddressCreate"
19750
19993
  SubscriptionCreate:
19751
19994
  type: object
19752
19995
  properties:
@@ -20055,6 +20298,12 @@ components:
20055
20298
  at 31 days exactly.
20056
20299
  minimum: 0
20057
20300
  default: 0
20301
+ gateway_code:
20302
+ type: string
20303
+ title: Gateway Code
20304
+ description: If present, this subscription's transactions will use the payment
20305
+ gateway with this code.
20306
+ maxLength: 13
20058
20307
  shipping:
20059
20308
  "$ref": "#/components/schemas/SubscriptionShippingUpdate"
20060
20309
  billing_info_id:
@@ -20070,7 +20319,8 @@ components:
20070
20319
  remaining_pause_cycles:
20071
20320
  type: integer
20072
20321
  title: Remaining pause cycles
20073
- description: Number of billing cycles to pause the subscriptions.
20322
+ description: Number of billing cycles to pause the subscriptions. A value
20323
+ of 0 will cancel any pending pauses on the subscription.
20074
20324
  required:
20075
20325
  - remaining_pause_cycles
20076
20326
  SubscriptionShipping:
@@ -20760,6 +21010,150 @@ components:
20760
21010
  required:
20761
21011
  - currency
20762
21012
  - account
21013
+ DunningCampaign:
21014
+ type: object
21015
+ description: Settings for a dunning campaign.
21016
+ properties:
21017
+ id:
21018
+ type: string
21019
+ object:
21020
+ type: string
21021
+ title: Object type
21022
+ code:
21023
+ type: string
21024
+ description: Campaign code.
21025
+ name:
21026
+ type: string
21027
+ description: Campaign name.
21028
+ description:
21029
+ type: string
21030
+ description: Campaign description.
21031
+ default_campaign:
21032
+ type: boolean
21033
+ description: Whether or not this is the default campaign for accounts or
21034
+ plans without an assigned dunning campaign.
21035
+ dunning_cycles:
21036
+ type: array
21037
+ description: Dunning Cycle settings.
21038
+ items:
21039
+ "$ref": "#/components/schemas/DunningCycle"
21040
+ created_at:
21041
+ type: string
21042
+ format: date-time
21043
+ description: When the current campaign was created in Recurly.
21044
+ updated_at:
21045
+ type: string
21046
+ format: date-time
21047
+ description: When the current campaign was updated in Recurly.
21048
+ deleted_at:
21049
+ type: string
21050
+ format: date-time
21051
+ description: When the current campaign was deleted in Recurly.
21052
+ DunningCampaignList:
21053
+ type: object
21054
+ properties:
21055
+ object:
21056
+ type: string
21057
+ title: Object type
21058
+ description: Will always be List.
21059
+ has_more:
21060
+ type: boolean
21061
+ description: Indicates there are more results on subsequent pages.
21062
+ next:
21063
+ type: string
21064
+ description: Path to subsequent page of results.
21065
+ data:
21066
+ type: array
21067
+ items:
21068
+ "$ref": "#/components/schemas/DunningCampaign"
21069
+ DunningCycle:
21070
+ type: object
21071
+ properties:
21072
+ type:
21073
+ "$ref": "#/components/schemas/DunningCycleTypeEnum"
21074
+ applies_to_manual_trial:
21075
+ type: boolean
21076
+ description: Whether the dunning settings will be applied to manual trials.
21077
+ Only applies to trial cycles.
21078
+ first_communication_interval:
21079
+ type: integer
21080
+ description: The number of days after a transaction failure before the first
21081
+ dunning email is sent.
21082
+ send_immediately_on_hard_decline:
21083
+ type: boolean
21084
+ description: Whether or not to send an extra email immediately to customers
21085
+ whose initial payment attempt fails with either a hard decline or invalid
21086
+ billing info.
21087
+ intervals:
21088
+ type: array
21089
+ description: Dunning intervals.
21090
+ items:
21091
+ "$ref": "#/components/schemas/DunningInterval"
21092
+ expire_subscription:
21093
+ type: boolean
21094
+ description: Whether the subscription(s) should be cancelled at the end
21095
+ of the dunning cycle.
21096
+ fail_invoice:
21097
+ type: boolean
21098
+ description: Whether the invoice should be failed at the end of the dunning
21099
+ cycle.
21100
+ total_dunning_days:
21101
+ type: integer
21102
+ description: The number of days between the first dunning email being sent
21103
+ and the end of the dunning cycle.
21104
+ total_recycling_days:
21105
+ type: integer
21106
+ description: The number of days between a transaction failure and the end
21107
+ of the dunning cycle.
21108
+ version:
21109
+ type: integer
21110
+ description: Current campaign version.
21111
+ created_at:
21112
+ type: string
21113
+ format: date-time
21114
+ description: When the current settings were created in Recurly.
21115
+ updated_at:
21116
+ type: string
21117
+ format: date-time
21118
+ description: When the current settings were updated in Recurly.
21119
+ DunningInterval:
21120
+ properties:
21121
+ days:
21122
+ type: integer
21123
+ description: Number of days before sending the next email.
21124
+ email_template:
21125
+ type: string
21126
+ description: Email template being used.
21127
+ DunningCampaignsBulkUpdate:
21128
+ properties:
21129
+ plan_codes:
21130
+ type: array
21131
+ maxItems: 200
21132
+ description: List of `plan_codes` associated with the Plans for which the
21133
+ dunning campaign should be updated. Required unless `plan_ids` is present.
21134
+ items:
21135
+ type: string
21136
+ plan_ids:
21137
+ type: array
21138
+ maxItems: 200
21139
+ description: List of `plan_ids` associated with the Plans for which the
21140
+ dunning campaign should be updated. Required unless `plan_codes` is present.
21141
+ items:
21142
+ type: string
21143
+ DunningCampaignsBulkUpdateResponse:
21144
+ properties:
21145
+ object:
21146
+ type: string
21147
+ title: Object type
21148
+ readOnly: true
21149
+ plans:
21150
+ type: array
21151
+ title: Plans
21152
+ description: An array containing all of the `Plan` resources that have been
21153
+ updated.
21154
+ maxItems: 200
21155
+ items:
21156
+ "$ref": "#/components/schemas/Plan"
20763
21157
  PaymentMethod:
20764
21158
  properties:
20765
21159
  object:
@@ -21399,6 +21793,7 @@ components:
21399
21793
  - Union Pay
21400
21794
  - Unknown
21401
21795
  - Visa
21796
+ - Tarjeta Naranja
21402
21797
  AccountTypeEnum:
21403
21798
  type: string
21404
21799
  enum:
@@ -21612,3 +22007,10 @@ components:
21612
22007
  enum:
21613
22008
  - cpf
21614
22009
  - cuit
22010
+ DunningCycleTypeEnum:
22011
+ type: string
22012
+ description: The type of invoice this cycle applies to.
22013
+ enum:
22014
+ - automatic
22015
+ - manual
22016
+ - trial
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.0
4
+ version: 4.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-02 00:00:00.000000000 Z
11
+ date: 2021-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -162,6 +162,7 @@ files:
162
162
  - lib/recurly/requests/coupon_redemption_create.rb
163
163
  - lib/recurly/requests/coupon_update.rb
164
164
  - lib/recurly/requests/custom_field.rb
165
+ - lib/recurly/requests/dunning_campaigns_bulk_update.rb
165
166
  - lib/recurly/requests/external_refund.rb
166
167
  - lib/recurly/requests/external_transaction.rb
167
168
  - lib/recurly/requests/invoice_address.rb
@@ -191,6 +192,7 @@ files:
191
192
  - lib/recurly/requests/subscription_add_on_tier.rb
192
193
  - lib/recurly/requests/subscription_add_on_update.rb
193
194
  - lib/recurly/requests/subscription_cancel.rb
195
+ - lib/recurly/requests/subscription_change_billing_info_create.rb
194
196
  - lib/recurly/requests/subscription_change_create.rb
195
197
  - lib/recurly/requests/subscription_change_shipping_create.rb
196
198
  - lib/recurly/requests/subscription_create.rb
@@ -230,6 +232,10 @@ files:
230
232
  - lib/recurly/resources/credit_payment.rb
231
233
  - lib/recurly/resources/custom_field.rb
232
234
  - lib/recurly/resources/custom_field_definition.rb
235
+ - lib/recurly/resources/dunning_campaign.rb
236
+ - lib/recurly/resources/dunning_campaigns_bulk_update_response.rb
237
+ - lib/recurly/resources/dunning_cycle.rb
238
+ - lib/recurly/resources/dunning_interval.rb
233
239
  - lib/recurly/resources/error.rb
234
240
  - lib/recurly/resources/error_may_have_transaction.rb
235
241
  - lib/recurly/resources/export_dates.rb
@@ -296,7 +302,7 @@ metadata:
296
302
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
297
303
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
298
304
  homepage_uri: https://github.com/recurly/recurly-client-ruby
299
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.5.0
305
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.9.0
300
306
  post_install_message:
301
307
  rdoc_options: []
302
308
  require_paths: