recurly 4.18.0 → 4.21.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: e6350d81107627313accb7813754e37e2e8c85156d1c0ae8d5d3c479c649347c
4
- data.tar.gz: b7d579a7443eba62a85622ff0093ac611fee38cc9740e41755100a0d694e2cb2
3
+ metadata.gz: 461956ea7d4159327c37b2b54ce98540652bd173e3a5c8d96eebb97377090b98
4
+ data.tar.gz: adf5d47eb201904c78973318eb3b4ebba0843e5c68607c3a929656fc2b505bf5
5
5
  SHA512:
6
- metadata.gz: 8d73edf3e7bc58f744c6efc71a659c256453f1c46b3d0ae3c74c3784b5ecf7a720b74d438a81f66f15cc145aba13dfaf6f3c24bdd2f42f8980182e3aa607b6ba
7
- data.tar.gz: eeadb1726e33c8f011f2ab72eb1784881550bc39426ae299c139b788ed9031e12050e0b947bfa7db44623728475025f185e58f7700dbcbc2dfcb2342f92aad5c
6
+ metadata.gz: 90d0d1aaec37a2bd5324560324eed493e4e7d3bbb5ea657e941a7d7a2e793b3cb442fd97398ad7afb49026def3928c5daaac028f90df230d9104f300d061b734
7
+ data.tar.gz: '069b0be5d31e2a32eddc35e72d5342912bce1a1b95e00d718c49b7a49a654d98a8c24a78669d37d6fddf8f0b015a19abad79f3a88da22adf8d55130d6d07fdac'
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.18.0
2
+ current_version = 4.21.0
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.0](https://github.com/recurly/recurly-client-ruby/tree/4.21.0) (2022-09-07)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.20.0...4.21.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 [#790](https://github.com/recurly/recurly-client-ruby/pull/790) ([recurly-integrations](https://github.com/recurly-integrations))
11
+ - 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))
12
+
13
+
14
+
15
+ ## [4.20.0](https://github.com/recurly/recurly-client-ruby/tree/4.20.0) (2022-08-03)
16
+
17
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.19.0...4.20.0)
18
+
19
+
20
+ **Merged Pull Requests**
21
+
22
+ - Generated Latest Changes for v2021-02-25 [#783](https://github.com/recurly/recurly-client-ruby/pull/783) ([recurly-integrations](https://github.com/recurly-integrations))
23
+
24
+
25
+
26
+ ## [4.19.0](https://github.com/recurly/recurly-client-ruby/tree/4.19.0) (2022-07-11)
27
+
28
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.18.0...4.19.0)
29
+
30
+
31
+ **Merged Pull Requests**
32
+
33
+ - Generated Latest Changes for v2021-02-25 [#778](https://github.com/recurly/recurly-client-ruby/pull/778) ([recurly-integrations](https://github.com/recurly-integrations))
34
+
35
+
36
+
3
37
  ## [4.18.0](https://github.com/recurly/recurly-client-ruby/tree/4.18.0) (2022-06-16)
4
38
 
5
39
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.17.0...4.18.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.18'
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
 
@@ -26,6 +26,10 @@ module Recurly
26
26
  # @return [Boolean] The `backup_payment_method` field is used to designate a billing info as a backup on the account that will be tried if the initial billing info used for an invoice is declined. All payment methods, including the billing info marked `primary_payment_method` can be set as a backup. An account can have a maximum of 1 backup, if a user sets a different payment method as a backup, the existing backup will no longer be marked as such.
27
27
  define_attribute :backup_payment_method, :Boolean
28
28
 
29
+ # @!attribute card_type
30
+ # @return [String]
31
+ define_attribute :card_type, String
32
+
29
33
  # @!attribute company
30
34
  # @return [String] Company name
31
35
  define_attribute :company, String
@@ -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
@@ -174,6 +174,10 @@ module Recurly
174
174
  # @return [Boolean] `true` exempts tax on charges, `false` applies tax on charges. If not defined, then defaults to the Plan and Site settings. This attribute does not work for credits (negative line items). Credits are always applied post-tax. Pre-tax discounts should use the Coupons feature.
175
175
  define_attribute :tax_exempt, :Boolean
176
176
 
177
+ # @!attribute tax_inclusive
178
+ # @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to utilize this flag.
179
+ define_attribute :tax_inclusive, :Boolean
180
+
177
181
  # @!attribute tax_info
178
182
  # @return [TaxInfo] Tax info
179
183
  define_attribute :tax_info, :TaxInfo
@@ -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
@@ -158,6 +162,10 @@ module Recurly
158
162
  # @return [Float] Estimated tax
159
163
  define_attribute :tax, Float
160
164
 
165
+ # @!attribute tax_inclusive
166
+ # @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to utilize this flag.
167
+ define_attribute :tax_inclusive, :Boolean
168
+
161
169
  # @!attribute tax_info
162
170
  # @return [TaxInfo] Tax info
163
171
  define_attribute :tax_info, :TaxInfo
@@ -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 [Integer] Represents the price for the ramp interval.
19
+ define_attribute :unit_amount, Integer
20
+ end
21
+ end
22
+ end
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.18.0"
2
+ VERSION = "4.21.0"
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
@@ -16931,6 +16974,8 @@ components:
16931
16974
  "$ref": "#/components/schemas/ExternalHppTypeEnum"
16932
16975
  online_banking_payment_type:
16933
16976
  "$ref": "#/components/schemas/OnlineBankingPaymentTypeEnum"
16977
+ card_type:
16978
+ "$ref": "#/components/schemas/CardTypeEnum"
16934
16979
  BillingInfoVerify:
16935
16980
  type: object
16936
16981
  properties:
@@ -16938,6 +16983,12 @@ components:
16938
16983
  type: string
16939
16984
  description: An identifier for a specific payment gateway.
16940
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.
16941
16992
  Coupon:
16942
16993
  type: object
16943
16994
  properties:
@@ -17533,7 +17584,7 @@ components:
17533
17584
  title: Field value
17534
17585
  description: Any values that resemble a credit card number or security code
17535
17586
  (CVV/CVC) will be rejected.
17536
- maxLength: 100
17587
+ maxLength: 255
17537
17588
  required:
17538
17589
  - name
17539
17590
  - value
@@ -18580,6 +18631,12 @@ components:
18580
18631
  type: string
18581
18632
  title: Unit amount decimal
18582
18633
  description: Positive amount for a charge, negative amount for a credit.
18634
+ tax_inclusive:
18635
+ type: boolean
18636
+ title: Tax Inclusive?
18637
+ description: Determines whether or not tax is included in the unit amount.
18638
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
18639
+ feature) must be enabled to utilize this flag.
18583
18640
  subtotal:
18584
18641
  type: number
18585
18642
  format: float
@@ -18951,6 +19008,14 @@ components:
18951
19008
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
18952
19009
  will expire at the end of its term. `auto_renew` can be overridden on
18953
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"
18954
19019
  revenue_schedule_type:
18955
19020
  title: Revenue schedule type
18956
19021
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19113,6 +19178,14 @@ components:
19113
19178
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
19114
19179
  will expire at the end of its term. `auto_renew` can be overridden on
19115
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"
19116
19189
  revenue_schedule_type:
19117
19190
  title: Revenue schedule type
19118
19191
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19234,6 +19307,7 @@ components:
19234
19307
  type: number
19235
19308
  format: float
19236
19309
  title: Unit price
19310
+ description: This field should not be sent when the pricing model is 'ramp'.
19237
19311
  minimum: 0
19238
19312
  maximum: 1000000
19239
19313
  tax_inclusive:
@@ -19242,6 +19316,19 @@ components:
19242
19316
  default: false
19243
19317
  description: This field is deprecated. Please do not use it.
19244
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"
19245
19332
  PlanUpdate:
19246
19333
  type: object
19247
19334
  properties:
@@ -19308,6 +19395,11 @@ components:
19308
19395
  renew its term at renewal. If `auto_renew` is `false`, then a subscription
19309
19396
  will expire at the end of its term. `auto_renew` can be overridden on
19310
19397
  the subscription record itself.
19398
+ ramp_intervals:
19399
+ type: array
19400
+ title: Ramp Intervals
19401
+ items:
19402
+ "$ref": "#/components/schemas/PlanRampInterval"
19311
19403
  revenue_schedule_type:
19312
19404
  title: Revenue schedule type
19313
19405
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -19354,6 +19446,7 @@ components:
19354
19446
  currencies:
19355
19447
  type: array
19356
19448
  title: Pricing
19449
+ description: Optional when the pricing model is 'ramp'.
19357
19450
  items:
19358
19451
  "$ref": "#/components/schemas/PlanPricing"
19359
19452
  minItems: 1
@@ -19433,6 +19526,24 @@ components:
19433
19526
  If `unit_amount_decimal` is provided, `unit_amount` cannot be provided.
19434
19527
  required:
19435
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
19436
19547
  Pricing:
19437
19548
  type: object
19438
19549
  properties:
@@ -20036,6 +20147,13 @@ components:
20036
20147
  default: true
20037
20148
  title: Auto renew
20038
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"
20039
20157
  paused_at:
20040
20158
  type: string
20041
20159
  format: date-time
@@ -20059,6 +20177,12 @@ components:
20059
20177
  type: number
20060
20178
  format: float
20061
20179
  title: Subscription unit price
20180
+ tax_inclusive:
20181
+ type: boolean
20182
+ title: Tax Inclusive?
20183
+ description: Determines whether or not tax is included in the unit amount.
20184
+ The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing
20185
+ feature) must be enabled to utilize this flag.
20062
20186
  quantity:
20063
20187
  type: integer
20064
20188
  title: Subscription quantity
@@ -20532,6 +20656,13 @@ components:
20532
20656
  readOnly: true
20533
20657
  billing_info:
20534
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"
20535
20666
  SubscriptionChangeBillingInfo:
20536
20667
  type: object
20537
20668
  description: Accept nested attributes for three_d_secure_action_result_token_id
@@ -20657,6 +20788,12 @@ components:
20657
20788
  "$ref": "#/components/schemas/GatewayTransactionTypeEnum"
20658
20789
  billing_info:
20659
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"
20660
20797
  SubscriptionChangeShippingCreate:
20661
20798
  type: object
20662
20799
  title: Shipping details that will be changed on a subscription
@@ -20686,7 +20823,7 @@ components:
20686
20823
  zero then a `method_id` or `method_code` is required.
20687
20824
  address_id:
20688
20825
  type: string
20689
- titpe: Shipping address ID
20826
+ title: Shipping address ID
20690
20827
  description: Assign a shipping address from the account's existing shipping
20691
20828
  addresses. If this and address are both present, address will take precedence.
20692
20829
  address:
@@ -20811,6 +20948,12 @@ components:
20811
20948
  default: true
20812
20949
  title: Auto renew
20813
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"
20814
20957
  revenue_schedule_type:
20815
20958
  title: Revenue schedule type
20816
20959
  "$ref": "#/components/schemas/RevenueScheduleTypeEnum"
@@ -20950,6 +21093,12 @@ components:
20950
21093
  revenue_schedule_type:
20951
21094
  title: Revenue schedule type
20952
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"
20953
21102
  required:
20954
21103
  - plan_code
20955
21104
  SubscriptionUpdate:
@@ -21131,6 +21280,30 @@ components:
21131
21280
  format: float
21132
21281
  title: Assigns the subscription's shipping cost. If this is greater than
21133
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: integer
21306
+ description: Represents the price for the ramp interval.
21134
21307
  TaxInfo:
21135
21308
  type: object
21136
21309
  title: Tax info
@@ -21984,6 +22157,10 @@ components:
21984
22157
  routing_number_bank:
21985
22158
  type: string
21986
22159
  description: The bank name of this routing number.
22160
+ username:
22161
+ type: string
22162
+ description: Username of the associated payment method. Currently only associated
22163
+ with Venmo.
21987
22164
  Error:
21988
22165
  type: object
21989
22166
  properties:
@@ -22313,6 +22490,16 @@ components:
22313
22490
  - api_only
22314
22491
  - read_only
22315
22492
  - write
22493
+ PricingModelTypeEnum:
22494
+ type: string
22495
+ enum:
22496
+ - fixed
22497
+ - ramp
22498
+ default: fixed
22499
+ description: |
22500
+ A fixed pricing model has the same price for each billing period.
22501
+ A ramp pricing model defines a set of Ramp Intervals, where a subscription changes price on
22502
+ a specified cadence of billing periods. The price change could be an increase or decrease.
22316
22503
  RevenueScheduleTypeEnum:
22317
22504
  type: string
22318
22505
  enum:
@@ -22580,6 +22767,7 @@ components:
22580
22767
  - paypal_billing_agreement
22581
22768
  - roku
22582
22769
  - sepadirectdebit
22770
+ - venmo
22583
22771
  - wire_transfer
22584
22772
  - braintree_v_zero
22585
22773
  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.18.0
4
+ version: 4.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-16 00:00:00.000000000 Z
11
+ date: 2022-09-07 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.18.0
319
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.21.0
313
320
  post_install_message:
314
321
  rdoc_options: []
315
322
  require_paths: