recurly 4.19.0 → 4.21.1

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: 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: