recurly 4.19.0 → 4.21.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c861b2e79ebc5e861d6af500bd9feabc26acf6eefb255a1f135a8fd0e662f76f
4
- data.tar.gz: 9e64e7ebd57db00dfb3ecc87df92e997cb4e0f260b39321494d33c68840eb8b5
3
+ metadata.gz: 219f3d280dd061539e7087e972e0954371e691300aa1bfdad4c6e4a4b22cf946
4
+ data.tar.gz: b5e700f336e8e25f9381aa1d302724880a55d7d69003c6a05d1fef1b8e31a0bf
5
5
  SHA512:
6
- metadata.gz: 1fb332313015a7601d6d39a4a170b67472d1058ba6723c2e0fb0f6ca45af7bd9daa4663e55eb1b6c62e304534ea59f69079f6579d56f7e0651b95a2d0a42043d
7
- data.tar.gz: d062c28eaef0f6cb6f27001b0573db8939d777fb29db554d857c9469d2784ff9857e2bd0bb9eaab8c24a5c4c6ed18d65fa9d8ec54d55c82179f98043f724cf9a
6
+ metadata.gz: 96c0570bdd87a04d9364415e8e984417ca4bb98c580f587b96f637e3bd78bbe7829a6a232f0dfc5f594b2cf917126bf609db5718f1179b64fef065ce4cabfab1
7
+ data.tar.gz: 410770536d971b7e0eb3db98027507b4ce174d185af412c883e3348873ccecc5a1aa84405dcf157c8c84ca7dc05f528edd7f3c4ead88c6a7843d1e06d2eed8a8
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.19.0
2
+ current_version = 4.21.1
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.21.1](https://github.com/recurly/recurly-client-ruby/tree/4.21.1) (2022-09-08)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.21.0...4.21.1)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 [#792](https://github.com/recurly/recurly-client-ruby/pull/792) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.21.0](https://github.com/recurly/recurly-client-ruby/tree/4.21.0) (2022-09-07)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.20.0...4.21.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 [#790](https://github.com/recurly/recurly-client-ruby/pull/790) ([recurly-integrations](https://github.com/recurly-integrations))
22
+ - Fixes bug with put_dunning_campaign_bulk_update [#788](https://github.com/recurly/recurly-client-ruby/pull/788) ([recurly-integrations](https://github.com/recurly-integrations))
23
+
24
+
25
+
26
+ ## [4.20.0](https://github.com/recurly/recurly-client-ruby/tree/4.20.0) (2022-08-03)
27
+
28
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.19.0...4.20.0)
29
+
30
+
31
+ **Merged Pull Requests**
32
+
33
+ - Generated Latest Changes for v2021-02-25 [#783](https://github.com/recurly/recurly-client-ruby/pull/783) ([recurly-integrations](https://github.com/recurly-integrations))
34
+
35
+
36
+
3
37
  ## [4.19.0](https://github.com/recurly/recurly-client-ruby/tree/4.19.0) (2022-07-11)
4
38
 
5
39
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.18.0...4.19.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.19'
8
+ gem 'recurly', '~> 4.21'
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.
@@ -476,6 +476,21 @@ module Recurly
476
476
  post(path, options[:body], Requests::BillingInfoVerify, **options)
477
477
  end
478
478
 
479
+ # Verify an account's credit card billing cvv
480
+ #
481
+ # {https://developers.recurly.com/api/v2021-02-25#operation/verify_billing_info_cvv verify_billing_info_cvv api documentation}
482
+ #
483
+ # @param account_id [String] Account ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-bob+.
484
+ # @param body [Requests::BillingInfoVerifyCVV] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerifyCVV}
485
+ # @param params [Hash] Optional query string parameters:
486
+ #
487
+ # @return [Resources::Transaction] Transaction information from verify.
488
+ #
489
+ def verify_billing_info_cvv(account_id:, body:, **options)
490
+ path = interpolate_path("/accounts/{account_id}/billing_info/verify_cvv", account_id: account_id)
491
+ post(path, body, Requests::BillingInfoVerifyCVV, **options)
492
+ end
493
+
479
494
  # Get the list of billing information associated with an account
480
495
  #
481
496
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_billing_infos list_billing_infos api documentation}
@@ -4035,13 +4050,14 @@ module Recurly
4035
4050
  #
4036
4051
  # {https://developers.recurly.com/api/v2021-02-25#operation/put_dunning_campaign_bulk_update put_dunning_campaign_bulk_update api documentation}
4037
4052
  #
4053
+ # @param dunning_campaign_id [String] Dunning Campaign ID, e.g. +e28zov4fw0v2+.
4038
4054
  # @param body [Requests::DunningCampaignsBulkUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::DunningCampaignsBulkUpdate}
4039
4055
  # @param params [Hash] Optional query string parameters:
4040
4056
  #
4041
4057
  # @return [Resources::DunningCampaignsBulkUpdateResponse] A list of updated plans.
4042
4058
  #
4043
- def put_dunning_campaign_bulk_update(body:, **options)
4044
- path = "/dunning_campaigns/{dunning_campaign_id}/bulk_update"
4059
+ def put_dunning_campaign_bulk_update(dunning_campaign_id:, body:, **options)
4060
+ path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}/bulk_update", dunning_campaign_id: dunning_campaign_id)
4045
4061
  put(path, body, Requests::DunningCampaignsBulkUpdate, **options)
4046
4062
  end
4047
4063
 
@@ -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 BillingInfoVerifyCVV < Request
8
+
9
+ # @!attribute verification_value
10
+ # @return [String] Unique security code for a credit card.
11
+ define_attribute :verification_value, String
12
+ end
13
+ end
14
+ end
@@ -62,6 +62,14 @@ module Recurly
62
62
  # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
63
63
  define_attribute :name, String
64
64
 
65
+ # @!attribute pricing_model
66
+ # @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.
67
+ define_attribute :pricing_model, String
68
+
69
+ # @!attribute ramp_intervals
70
+ # @return [Array[PlanRampInterval]] Ramp Intervals
71
+ define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
72
+
65
73
  # @!attribute revenue_schedule_type
66
74
  # @return [String] Revenue schedule type
67
75
  define_attribute :revenue_schedule_type, String
@@ -19,7 +19,7 @@ module Recurly
19
19
  define_attribute :tax_inclusive, :Boolean
20
20
 
21
21
  # @!attribute unit_amount
22
- # @return [Float] Unit price
22
+ # @return [Float] This field should not be sent when the pricing model is 'ramp'.
23
23
  define_attribute :unit_amount, Float
24
24
  end
25
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 Requests
7
+ class PlanRampInterval < Request
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
@@ -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 PlanRampPricing < Request
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
@@ -31,7 +31,7 @@ module Recurly
31
31
  define_attribute :code, String
32
32
 
33
33
  # @!attribute currencies
34
- # @return [Array[PlanPricing]] Pricing
34
+ # @return [Array[PlanPricing]] Optional when the pricing model is 'ramp'.
35
35
  define_attribute :currencies, Array, { :item_type => :PlanPricing }
36
36
 
37
37
  # @!attribute description
@@ -54,6 +54,10 @@ module Recurly
54
54
  # @return [String] This name describes your plan and will appear on the Hosted Payment Page and the subscriber's invoice.
55
55
  define_attribute :name, String
56
56
 
57
+ # @!attribute ramp_intervals
58
+ # @return [Array[PlanRampInterval]] Ramp Intervals
59
+ define_attribute :ramp_intervals, Array, { :item_type => :PlanRampInterval }
60
+
57
61
  # @!attribute revenue_schedule_type
58
62
  # @return [String] Revenue schedule type
59
63
  define_attribute :revenue_schedule_type, String
@@ -46,6 +46,10 @@ module Recurly
46
46
  # @return [Integer] Optionally override the default quantity of 1.
47
47
  define_attribute :quantity, Integer
48
48
 
49
+ # @!attribute ramp_intervals
50
+ # @return [Array[SubscriptionRampInterval]] The new set of ramp intervals for the subscription.
51
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampInterval }
52
+
49
53
  # @!attribute revenue_schedule_type
50
54
  # @return [String] Revenue schedule type
51
55
  define_attribute :revenue_schedule_type, String
@@ -70,6 +70,10 @@ module Recurly
70
70
  # @return [Integer] Optionally override the default quantity of 1.
71
71
  define_attribute :quantity, Integer
72
72
 
73
+ # @!attribute ramp_intervals
74
+ # @return [Array[SubscriptionRampInterval]] The new set of ramp intervals for the subscription.
75
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampInterval }
76
+
73
77
  # @!attribute renewal_billing_cycles
74
78
  # @return [Integer] If `auto_renew=true`, when a term completes, `total_billing_cycles` takes this value as the length of subsequent terms. Defaults to the plan's `total_billing_cycles`.
75
79
  define_attribute :renewal_billing_cycles, Integer
@@ -34,6 +34,10 @@ module Recurly
34
34
  # @return [Integer] Optionally override the default quantity of 1.
35
35
  define_attribute :quantity, Integer
36
36
 
37
+ # @!attribute ramp_intervals
38
+ # @return [Array[SubscriptionRampInterval]] The new set of ramp intervals for the subscription.
39
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampInterval }
40
+
37
41
  # @!attribute renewal_billing_cycles
38
42
  # @return [Integer] If `auto_renew=true`, when a term completes, `total_billing_cycles` takes this value as the length of subsequent terms. Defaults to the plan's `total_billing_cycles`.
39
43
  define_attribute :renewal_billing_cycles, Integer
@@ -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 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
@@ -65,6 +65,10 @@ module Recurly
65
65
  # @!attribute routing_number_bank
66
66
  # @return [String] The bank name of this routing number.
67
67
  define_attribute :routing_number_bank, String
68
+
69
+ # @!attribute username
70
+ # @return [String] Username of the associated payment method. Currently only associated with Venmo.
71
+ define_attribute :username, String
68
72
  end
69
73
  end
70
74
  end
@@ -74,6 +74,14 @@ module Recurly
74
74
  # @return [String] Object type
75
75
  define_attribute :object, String
76
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
+
77
85
  # @!attribute revenue_schedule_type
78
86
  # @return [String] Revenue schedule type
79
87
  define_attribute :revenue_schedule_type, String
@@ -19,7 +19,7 @@ module Recurly
19
19
  define_attribute :tax_inclusive, :Boolean
20
20
 
21
21
  # @!attribute unit_amount
22
- # @return [Float] Unit price
22
+ # @return [Float] This field should not be sent when the pricing model is 'ramp'.
23
23
  define_attribute :unit_amount, Float
24
24
  end
25
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 billing cycle where a ramp interval starts.
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
@@ -126,6 +126,10 @@ module Recurly
126
126
  # @return [Integer] Subscription quantity
127
127
  define_attribute :quantity, Integer
128
128
 
129
+ # @!attribute ramp_intervals
130
+ # @return [Array[SubscriptionRampIntervalResponse]] The ramp intervals representing the pricing schedule for the subscription.
131
+ define_attribute :ramp_intervals, Array, { :item_type => :SubscriptionRampIntervalResponse }
132
+
129
133
  # @!attribute remaining_billing_cycles
130
134
  # @return [Integer] The remaining billing cycles in the current term.
131
135
  define_attribute :remaining_billing_cycles, Integer
@@ -54,6 +54,10 @@ module Recurly
54
54
  # @return [Integer] Subscription quantity
55
55
  define_attribute :quantity, Integer
56
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
+
57
61
  # @!attribute revenue_schedule_type
58
62
  # @return [String] Revenue schedule type
59
63
  define_attribute :revenue_schedule_type, String
@@ -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 the billing cycle where a ramp interval starts.
15
+ define_attribute :starting_billing_cycle, Integer
16
+
17
+ # @!attribute unit_amount
18
+ # @return [Float] Represents the price for the ramp interval.
19
+ define_attribute :unit_amount, Float
20
+ end
21
+ end
22
+ end
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.19.0"
2
+ VERSION = "4.21.1"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -2441,6 +2441,47 @@ paths:
2441
2441
  {\n\t\tfmt.Printf(\"Resource not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
2442
2442
  Recurly error: %v\", e)\n\treturn nil, err\n}\n\nfmt.Printf(\"Fetched Transaction:
2443
2443
  %v\", transaction)"
2444
+ "/accounts/{account_id}/billing_info/verify_cvv":
2445
+ post:
2446
+ tags:
2447
+ - billing_info
2448
+ operationId: verify_billing_info_cvv
2449
+ summary: Verify an account's credit card billing cvv
2450
+ parameters:
2451
+ - "$ref": "#/components/parameters/account_id"
2452
+ requestBody:
2453
+ content:
2454
+ application/json:
2455
+ schema:
2456
+ "$ref": "#/components/schemas/BillingInfoVerifyCVV"
2457
+ responses:
2458
+ '200':
2459
+ description: Transaction information from verify.
2460
+ content:
2461
+ application/json:
2462
+ schema:
2463
+ "$ref": "#/components/schemas/Transaction"
2464
+ '429':
2465
+ description: Over limit error. A credit card can only be checked 3 times
2466
+ in 24 hours.
2467
+ content:
2468
+ application/json:
2469
+ schema:
2470
+ "$ref": "#/components/schemas/Error"
2471
+ '422':
2472
+ description: Invalid billing information, or error running the verification
2473
+ transaction.
2474
+ content:
2475
+ application/json:
2476
+ schema:
2477
+ "$ref": "#/components/schemas/ErrorMayHaveTransaction"
2478
+ default:
2479
+ description: Unexpected error.
2480
+ content:
2481
+ application/json:
2482
+ schema:
2483
+ "$ref": "#/components/schemas/Error"
2484
+ x-code-samples: []
2444
2485
  "/accounts/{account_id}/billing_infos":
2445
2486
  get:
2446
2487
  tags:
@@ -14922,6 +14963,8 @@ paths:
14922
14963
  "$ref": "#/components/schemas/Error"
14923
14964
  x-code-samples: []
14924
14965
  "/dunning_campaigns/{dunning_campaign_id}/bulk_update":
14966
+ parameters:
14967
+ - "$ref": "#/components/parameters/dunning_campaign_id"
14925
14968
  put:
14926
14969
  tags:
14927
14970
  - dunning_campaigns
@@ -16940,6 +16983,12 @@ components:
16940
16983
  type: string
16941
16984
  description: An identifier for a specific payment gateway.
16942
16985
  maxLength: 13
16986
+ BillingInfoVerifyCVV:
16987
+ type: object
16988
+ properties:
16989
+ verification_value:
16990
+ type: string
16991
+ description: Unique security code for a credit card.
16943
16992
  Coupon:
16944
16993
  type: object
16945
16994
  properties:
@@ -17535,7 +17584,7 @@ components:
17535
17584
  title: Field value
17536
17585
  description: Any values that resemble a credit card number or security code
17537
17586
  (CVV/CVC) will be rejected.
17538
- maxLength: 100
17587
+ maxLength: 255
17539
17588
  required:
17540
17589
  - name
17541
17590
  - value
@@ -18959,6 +19008,14 @@ components:
18959
19008
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
18960
19009
  will expire at the end of its term. `auto_renew` can be overridden on
18961
19010
  the subscription record itself.
19011
+ pricing_model:
19012
+ title: Pricing Model
19013
+ "$ref": "#/components/schemas/PricingModelTypeEnum"
19014
+ ramp_intervals:
19015
+ type: array
19016
+ title: Ramp Intervals
19017
+ items:
19018
+ "$ref": "#/components/schemas/PlanRampInterval"
18962
19019
  revenue_schedule_type:
18963
19020
  title: Revenue schedule type
18964
19021
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19121,6 +19178,14 @@ components:
19121
19178
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
19122
19179
  will expire at the end of its term. `auto_renew` can be overridden on
19123
19180
  the subscription record itself.
19181
+ pricing_model:
19182
+ title: Pricing Model
19183
+ "$ref": "#/components/schemas/PricingModelTypeEnum"
19184
+ ramp_intervals:
19185
+ type: array
19186
+ title: Ramp Intervals
19187
+ items:
19188
+ "$ref": "#/components/schemas/PlanRampInterval"
19124
19189
  revenue_schedule_type:
19125
19190
  title: Revenue schedule type
19126
19191
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19242,6 +19307,7 @@ components:
19242
19307
  type: number
19243
19308
  format: float
19244
19309
  title: Unit price
19310
+ description: This field should not be sent when the pricing model is 'ramp'.
19245
19311
  minimum: 0
19246
19312
  maximum: 1000000
19247
19313
  tax_inclusive:
@@ -19250,6 +19316,19 @@ components:
19250
19316
  default: false
19251
19317
  description: This field is deprecated. Please do not use it.
19252
19318
  deprecated: true
19319
+ PlanRampInterval:
19320
+ type: object
19321
+ title: Plan Ramp Interval
19322
+ properties:
19323
+ starting_billing_cycle:
19324
+ type: integer
19325
+ description: Represents the billing cycle where a ramp interval starts.
19326
+ default: 1
19327
+ currencies:
19328
+ type: array
19329
+ description: Represents the price for the ramp interval.
19330
+ items:
19331
+ "$ref": "#/components/schemas/PlanRampPricing"
19253
19332
  PlanUpdate:
19254
19333
  type: object
19255
19334
  properties:
@@ -19316,6 +19395,11 @@ components:
19316
19395
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
19317
19396
  will expire at the end of its term. `auto_renew` can be overridden on
19318
19397
  the subscription record itself.
19398
+ ramp_intervals:
19399
+ type: array
19400
+ title: Ramp Intervals
19401
+ items:
19402
+ "$ref": "#/components/schemas/PlanRampInterval"
19319
19403
  revenue_schedule_type:
19320
19404
  title: Revenue schedule type
19321
19405
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19362,6 +19446,7 @@ components:
19362
19446
  currencies:
19363
19447
  type: array
19364
19448
  title: Pricing
19449
+ description: Optional when the pricing model is 'ramp'.
19365
19450
  items:
19366
19451
  "$ref": "#/components/schemas/PlanPricing"
19367
19452
  minItems: 1
@@ -19441,6 +19526,24 @@ components:
19441
19526
  If `unit_amount_decimal` is provided, `unit_amount` cannot be provided.
19442
19527
  required:
19443
19528
  - currency
19529
+ PlanRampPricing:
19530
+ type: object
19531
+ properties:
19532
+ currency:
19533
+ type: string
19534
+ title: Currency
19535
+ description: 3-letter ISO 4217 currency code.
19536
+ maxLength: 3
19537
+ unit_amount:
19538
+ type: number
19539
+ format: float
19540
+ title: Unit price
19541
+ description: Represents the price for the Ramp Interval.
19542
+ minimum: 0
19543
+ maximum: 1000000
19544
+ required:
19545
+ - currency
19546
+ - unit_amount
19444
19547
  Pricing:
19445
19548
  type: object
19446
19549
  properties:
@@ -20044,6 +20147,13 @@ components:
20044
20147
  default: true
20045
20148
  title: Auto renew
20046
20149
  description: Whether the subscription renews at the end of its term.
20150
+ ramp_intervals:
20151
+ type: array
20152
+ title: Ramp Intervals
20153
+ description: The ramp intervals representing the pricing schedule for the
20154
+ subscription.
20155
+ items:
20156
+ "$ref": "#/components/schemas/SubscriptionRampIntervalResponse"
20047
20157
  paused_at:
20048
20158
  type: string
20049
20159
  format: date-time
@@ -20546,6 +20656,13 @@ components:
20546
20656
  readOnly: true
20547
20657
  billing_info:
20548
20658
  "$ref": "#/components/schemas/SubscriptionChangeBillingInfo"
20659
+ ramp_intervals:
20660
+ type: array
20661
+ title: Ramp Intervals
20662
+ description: The ramp intervals representing the pricing schedule for the
20663
+ subscription.
20664
+ items:
20665
+ "$ref": "#/components/schemas/SubscriptionRampIntervalResponse"
20549
20666
  SubscriptionChangeBillingInfo:
20550
20667
  type: object
20551
20668
  description: Accept nested attributes for three_d_secure_action_result_token_id
@@ -20671,6 +20788,12 @@ components:
20671
20788
  "$ref": "#/components/schemas/GatewayTransactionTypeEnum"
20672
20789
  billing_info:
20673
20790
  "$ref": "#/components/schemas/SubscriptionChangeBillingInfoCreate"
20791
+ ramp_intervals:
20792
+ type: array
20793
+ title: Ramp Intervals
20794
+ description: The new set of ramp intervals for the subscription.
20795
+ items:
20796
+ "$ref": "#/components/schemas/SubscriptionRampInterval"
20674
20797
  SubscriptionChangeShippingCreate:
20675
20798
  type: object
20676
20799
  title: Shipping details that will be changed on a subscription
@@ -20700,7 +20823,7 @@ components:
20700
20823
  zero then a `method_id` or `method_code` is required.
20701
20824
  address_id:
20702
20825
  type: string
20703
- titpe: Shipping address ID
20826
+ title: Shipping address ID
20704
20827
  description: Assign a shipping address from the account's existing shipping
20705
20828
  addresses. If this and address are both present, address will take precedence.
20706
20829
  address:
@@ -20825,6 +20948,12 @@ components:
20825
20948
  default: true
20826
20949
  title: Auto renew
20827
20950
  description: Whether the subscription renews at the end of its term.
20951
+ ramp_intervals:
20952
+ type: array
20953
+ title: Ramp Intervals
20954
+ description: The new set of ramp intervals for the subscription.
20955
+ items:
20956
+ "$ref": "#/components/schemas/SubscriptionRampInterval"
20828
20957
  revenue_schedule_type:
20829
20958
  title: Revenue schedule type
20830
20959
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -20964,6 +21093,12 @@ components:
20964
21093
  revenue_schedule_type:
20965
21094
  title: Revenue schedule type
20966
21095
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
21096
+ ramp_intervals:
21097
+ type: array
21098
+ title: Ramp Intervals
21099
+ description: The new set of ramp intervals for the subscription.
21100
+ items:
21101
+ "$ref": "#/components/schemas/SubscriptionRampInterval"
20967
21102
  required:
20968
21103
  - plan_code
20969
21104
  SubscriptionUpdate:
@@ -21145,6 +21280,32 @@ components:
21145
21280
  format: float
21146
21281
  title: Assigns the subscription's shipping cost. If this is greater than
21147
21282
  zero then a `method_id` or `method_code` is required.
21283
+ SubscriptionRampInterval:
21284
+ type: object
21285
+ title: Subscription Ramp Interval
21286
+ properties:
21287
+ starting_billing_cycle:
21288
+ type: integer
21289
+ description: Represents the billing cycle where a ramp interval starts.
21290
+ default: 1
21291
+ unit_amount:
21292
+ type: integer
21293
+ description: Represents the price for the ramp interval.
21294
+ SubscriptionRampIntervalResponse:
21295
+ type: object
21296
+ title: Subscription Ramp Interval
21297
+ properties:
21298
+ starting_billing_cycle:
21299
+ type: integer
21300
+ description: Represents the billing cycle where a ramp interval starts.
21301
+ remaining_billing_cycles:
21302
+ type: integer
21303
+ description: Represents how many billing cycles are left in a ramp interval.
21304
+ unit_amount:
21305
+ type: number
21306
+ format: float
21307
+ title: Unit price
21308
+ description: Represents the price for the ramp interval.
21148
21309
  TaxInfo:
21149
21310
  type: object
21150
21311
  title: Tax info
@@ -21998,6 +22159,10 @@ components:
21998
22159
  routing_number_bank:
21999
22160
  type: string
22000
22161
  description: The bank name of this routing number.
22162
+ username:
22163
+ type: string
22164
+ description: Username of the associated payment method. Currently only associated
22165
+ with Venmo.
22001
22166
  Error:
22002
22167
  type: object
22003
22168
  properties:
@@ -22327,6 +22492,16 @@ components:
22327
22492
  - api_only
22328
22493
  - read_only
22329
22494
  - write
22495
+ PricingModelTypeEnum:
22496
+ type: string
22497
+ enum:
22498
+ - fixed
22499
+ - ramp
22500
+ default: fixed
22501
+ description: |
22502
+ A fixed pricing model has the same price for each billing period.
22503
+ A ramp pricing model defines a set of Ramp Intervals, where a subscription changes price on
22504
+ a specified cadence of billing periods. The price change could be an increase or decrease.
22330
22505
  RevenueScheduleTypeEnum:
22331
22506
  type: string
22332
22507
  enum:
@@ -22594,6 +22769,7 @@ components:
22594
22769
  - paypal_billing_agreement
22595
22770
  - roku
22596
22771
  - sepadirectdebit
22772
+ - venmo
22597
22773
  - wire_transfer
22598
22774
  - braintree_v_zero
22599
22775
  CardTypeEnum:
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.19.0
4
+ version: 4.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-11 00:00:00.000000000 Z
11
+ date: 2022-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -156,6 +156,7 @@ files:
156
156
  - lib/recurly/requests/address.rb
157
157
  - lib/recurly/requests/billing_info_create.rb
158
158
  - lib/recurly/requests/billing_info_verify.rb
159
+ - lib/recurly/requests/billing_info_verify_cvv.rb
159
160
  - lib/recurly/requests/coupon_bulk_create.rb
160
161
  - lib/recurly/requests/coupon_create.rb
161
162
  - lib/recurly/requests/coupon_pricing.rb
@@ -181,6 +182,8 @@ files:
181
182
  - lib/recurly/requests/plan_create.rb
182
183
  - lib/recurly/requests/plan_hosted_pages.rb
183
184
  - lib/recurly/requests/plan_pricing.rb
185
+ - lib/recurly/requests/plan_ramp_interval.rb
186
+ - lib/recurly/requests/plan_ramp_pricing.rb
184
187
  - lib/recurly/requests/plan_update.rb
185
188
  - lib/recurly/requests/pricing.rb
186
189
  - lib/recurly/requests/purchase_create.rb
@@ -201,6 +204,7 @@ files:
201
204
  - lib/recurly/requests/subscription_create.rb
202
205
  - lib/recurly/requests/subscription_pause.rb
203
206
  - lib/recurly/requests/subscription_purchase.rb
207
+ - lib/recurly/requests/subscription_ramp_interval.rb
204
208
  - lib/recurly/requests/subscription_shipping_create.rb
205
209
  - lib/recurly/requests/subscription_shipping_purchase.rb
206
210
  - lib/recurly/requests/subscription_shipping_update.rb
@@ -261,6 +265,8 @@ files:
261
265
  - lib/recurly/resources/plan_hosted_pages.rb
262
266
  - lib/recurly/resources/plan_mini.rb
263
267
  - lib/recurly/resources/plan_pricing.rb
268
+ - lib/recurly/resources/plan_ramp_interval.rb
269
+ - lib/recurly/resources/plan_ramp_pricing.rb
264
270
  - lib/recurly/resources/pricing.rb
265
271
  - lib/recurly/resources/settings.rb
266
272
  - lib/recurly/resources/shipping_address.rb
@@ -273,6 +279,7 @@ files:
273
279
  - lib/recurly/resources/subscription_add_on_tier.rb
274
280
  - lib/recurly/resources/subscription_change.rb
275
281
  - lib/recurly/resources/subscription_change_billing_info.rb
282
+ - lib/recurly/resources/subscription_ramp_interval_response.rb
276
283
  - lib/recurly/resources/subscription_shipping.rb
277
284
  - lib/recurly/resources/tax_detail.rb
278
285
  - lib/recurly/resources/tax_info.rb
@@ -309,7 +316,7 @@ metadata:
309
316
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
310
317
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
311
318
  homepage_uri: https://github.com/recurly/recurly-client-ruby
312
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.19.0
319
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.21.1
313
320
  post_install_message:
314
321
  rdoc_options: []
315
322
  require_paths: