recurly 3.14.0 → 3.18.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,10 @@ module Recurly
6
6
  module Resources
7
7
  class Coupon < Resource
8
8
 
9
+ # @!attribute applies_to_all_items
10
+ # @return [Boolean] The coupon is valid for all items if true. If false then `items` will list the applicable items.
11
+ define_attribute :applies_to_all_items, :Boolean
12
+
9
13
  # @!attribute applies_to_all_plans
10
14
  # @return [Boolean] The coupon is valid for all plans if true. If false then `plans` and `plans_names` will list the applicable plans.
11
15
  define_attribute :applies_to_all_plans, :Boolean
@@ -66,6 +70,10 @@ module Recurly
66
70
  # @return [String] Description of the coupon on the invoice.
67
71
  define_attribute :invoice_description, String
68
72
 
73
+ # @!attribute items
74
+ # @return [Array[ItemMini]] A list of items for which this coupon applies. This will be `null` if `applies_to_all_items=true`.
75
+ define_attribute :items, Array, { :item_type => :ItemMini }
76
+
69
77
  # @!attribute max_redemptions
70
78
  # @return [Integer] A maximum number of redemptions for the coupon. The coupon will expire when it hits its maximum redemptions.
71
79
  define_attribute :max_redemptions, Integer
@@ -42,6 +42,10 @@ module Recurly
42
42
  # @return [String] Coupon Redemption state
43
43
  define_attribute :state, String
44
44
 
45
+ # @!attribute subscription_id
46
+ # @return [String] Subscription ID
47
+ define_attribute :subscription_id, String
48
+
45
49
  # @!attribute updated_at
46
50
  # @return [DateTime] Last updated at
47
51
  define_attribute :updated_at, DateTime
@@ -18,6 +18,10 @@ module Recurly
18
18
  # @return [Float] The outstanding balance remaining on this invoice.
19
19
  define_attribute :balance, Float
20
20
 
21
+ # @!attribute billing_info_id
22
+ # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info.
23
+ define_attribute :billing_info_id, String
24
+
21
25
  # @!attribute closed_at
22
26
  # @return [DateTime] Date invoice was marked paid or failed.
23
27
  define_attribute :closed_at, DateTime
@@ -30,6 +30,10 @@ module Recurly
30
30
  # @return [DateTime] Recurring subscriptions paid with ACH will have this attribute set. This timestamp is used for alerting customers to reauthorize in 3 years in accordance with NACHA rules. If a subscription becomes inactive or the billing info is no longer a bank account, this timestamp is cleared.
31
31
  define_attribute :bank_account_authorized_at, DateTime
32
32
 
33
+ # @!attribute billing_info_id
34
+ # @return [String] Billing Info ID.
35
+ define_attribute :billing_info_id, String
36
+
33
37
  # @!attribute canceled_at
34
38
  # @return [DateTime] Canceled at
35
39
  define_attribute :canceled_at, DateTime
@@ -39,7 +43,7 @@ module Recurly
39
43
  define_attribute :collection_method, String
40
44
 
41
45
  # @!attribute coupon_redemptions
42
- # @return [Array[CouponRedemptionMini]] Coupon redemptions
46
+ # @return [Array[CouponRedemptionMini]] Returns subscription level coupon redemptions that are tied to this subscription.
43
47
  define_attribute :coupon_redemptions, Array, { :item_type => :CouponRedemptionMini }
44
48
 
45
49
  # @!attribute created_at
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "3.14.0"
2
+ VERSION = "3.18.1"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -275,8 +275,8 @@ tags:
275
275
  allow for individual delivery and tracking.
276
276
  - name: coupon_redemption
277
277
  x-displayName: Coupon Redemption
278
- description: Coupon redemptions are created when a coupon is applied to an account.
279
- This allows you to track your promotions.
278
+ description: Coupon redemptions are created when a coupon is applied to an account
279
+ or subscription. This allows you to track your promotions.
280
280
  - name: unique_coupon_code
281
281
  x-displayName: Unique Coupon Code
282
282
  description: Unique coupon codes are generated from bulk coupons.
@@ -1142,14 +1142,11 @@ paths:
1142
1142
  const account = await client.deactivateAccount(accountId)
1143
1143
  console.log('Deleted account: ', account.code)
1144
1144
  } catch (err) {
1145
- if (err && err.type === 'not-found') {
1145
+ if (err instanceof recurly.errors.NotFoundError) {
1146
1146
  // If the request was not found, you may want to alert the user or
1147
1147
  // just return null
1148
1148
  console.log('Resource Not Found')
1149
1149
  }
1150
- // If we don't know what to do with the err, we should
1151
- // probably re-raise and let our web framework and logger handle it
1152
- throw err
1153
1150
  }
1154
1151
  - lang: Python
1155
1152
  source: |
@@ -1649,14 +1646,11 @@ paths:
1649
1646
  const account = await client.reactivateAccount(accountId)
1650
1647
  console.log('Reactivated account: ', account.code)
1651
1648
  } catch (err) {
1652
- if (err && err.type === 'not_found') {
1649
+ if (err instanceof recurly.errors.NotFoundError) {
1653
1650
  // If the request was not found, you may want to alert the user or
1654
1651
  // just return null
1655
1652
  console.log('Resource Not Found')
1656
1653
  }
1657
- // If we don't know what to do with the err, we should
1658
- // probably re-raise and let our web framework and logger handle it
1659
- throw err
1660
1654
  }
1661
1655
  - lang: Python
1662
1656
  source: |
@@ -1974,8 +1968,8 @@ paths:
1974
1968
  summary: Set an account's billing information
1975
1969
  description: |
1976
1970
  If you're using Recurly.js to securely submit data from webforms without sending it through your server,
1977
- you can associate the billing information with an account by passing in the `token_id`. Be sure to only
1978
- set this field.
1971
+ you can associate the billing information with an account by passing in the `token_id`. The only other
1972
+ field permitted with `token_id` is `primary_payment_method`.
1979
1973
 
1980
1974
  For credit card payments you'll need the following required fields:
1981
1975
 
@@ -2250,6 +2244,221 @@ paths:
2250
2244
  {\n\t\tfmt.Printf(\"Resource not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
2251
2245
  Recurly error: %v\", e)\n\treturn nil, err\n}\n\nfmt.Printf(\"Removed Billing
2252
2246
  Info: %v\", billingInfo)"
2247
+ "/sites/{site_id}/accounts/{account_id}/billing_infos":
2248
+ get:
2249
+ tags:
2250
+ - account
2251
+ - billing_info
2252
+ operationId: list_billing_infos
2253
+ summary: Get the list of billing information associated with an account
2254
+ description: See the [Pagination Guide](/guides/pagination.html) to learn how
2255
+ to use pagination in the API and Client Libraries.
2256
+ parameters:
2257
+ - "$ref": "#/components/parameters/site_id"
2258
+ - "$ref": "#/components/parameters/account_id"
2259
+ - "$ref": "#/components/parameters/ids"
2260
+ - "$ref": "#/components/parameters/sort_dates"
2261
+ - "$ref": "#/components/parameters/filter_begin_time"
2262
+ - "$ref": "#/components/parameters/filter_end_time"
2263
+ responses:
2264
+ '200':
2265
+ description: A list of the the billing information for an account's
2266
+ content:
2267
+ application/json:
2268
+ schema:
2269
+ "$ref": "#/components/schemas/BillingInfoList"
2270
+ '400':
2271
+ description: Invalid or unpermitted parameter
2272
+ content:
2273
+ application/json:
2274
+ schema:
2275
+ "$ref": "#/components/schemas/Error"
2276
+ '404':
2277
+ description: Incorrect site or account
2278
+ content:
2279
+ application/json:
2280
+ schema:
2281
+ "$ref": "#/components/schemas/Error"
2282
+ x-code-samples: []
2283
+ post:
2284
+ tags:
2285
+ - account
2286
+ - billing_info
2287
+ operationId: create_billing_info
2288
+ summary: Set an account's billing information when the wallet feature is enabled
2289
+ description: |
2290
+ If you're using Recurly.js to securely submit data from webforms without sending it through your server,
2291
+ you can associate the billing information with an account by passing in the `token_id`. The only other
2292
+ field permitted with `token_id` is `primary_payment_method`.
2293
+
2294
+ For credit card payments you'll need the following required fields:
2295
+
2296
+ - first_name
2297
+ - last_name
2298
+ - number
2299
+ - month
2300
+ - year
2301
+
2302
+ For external (not Recurly.js) tokenized payments you'll need the following required fields:
2303
+
2304
+ - first_name
2305
+ - last_name
2306
+ - gateway_token
2307
+ - gateway_code
2308
+ parameters:
2309
+ - "$ref": "#/components/parameters/site_id"
2310
+ - "$ref": "#/components/parameters/account_id"
2311
+ requestBody:
2312
+ content:
2313
+ application/json:
2314
+ schema:
2315
+ "$ref": "#/components/schemas/BillingInfoCreate"
2316
+ required: true
2317
+ responses:
2318
+ '200':
2319
+ description: Updated billing information.
2320
+ content:
2321
+ application/json:
2322
+ schema:
2323
+ "$ref": "#/components/schemas/BillingInfo"
2324
+ '400':
2325
+ description: Bad request, perhaps invalid JSON?
2326
+ content:
2327
+ application/json:
2328
+ schema:
2329
+ "$ref": "#/components/schemas/Error"
2330
+ '404':
2331
+ description: Incorrect site or account ID.
2332
+ content:
2333
+ application/json:
2334
+ schema:
2335
+ "$ref": "#/components/schemas/Error"
2336
+ '422':
2337
+ description: Invalid billing information, or error running the verification
2338
+ transaction.
2339
+ content:
2340
+ application/json:
2341
+ schema:
2342
+ "$ref": "#/components/schemas/ErrorMayHaveTransaction"
2343
+ x-code-samples: []
2344
+ "/sites/{site_id}/accounts/{account_id}/billing_infos/{billing_info_id}":
2345
+ get:
2346
+ tags:
2347
+ - account
2348
+ - billing_info
2349
+ operationId: get_a_billing_info
2350
+ summary: Fetch a billing info
2351
+ parameters:
2352
+ - "$ref": "#/components/parameters/site_id"
2353
+ - "$ref": "#/components/parameters/account_id"
2354
+ - "$ref": "#/components/parameters/billing_info_id"
2355
+ responses:
2356
+ '200':
2357
+ description: A billing info.
2358
+ content:
2359
+ application/json:
2360
+ schema:
2361
+ "$ref": "#/components/schemas/BillingInfo"
2362
+ '404':
2363
+ description: Incorrect site, account, or billing info ID.
2364
+ content:
2365
+ application/json:
2366
+ schema:
2367
+ "$ref": "#/components/schemas/Error"
2368
+ x-code-samples: []
2369
+ put:
2370
+ tags:
2371
+ - account
2372
+ - billing_info
2373
+ operationId: update_a_billing_info
2374
+ summary: Update an account's billing information
2375
+ description: |
2376
+ If you're using Recurly.js to securely submit data from webforms without sending it through your server,
2377
+ you can associate the billing information with an account by passing in the `token_id`. The only other
2378
+ field permitted with `token_id` is `primary_payment_method`.
2379
+
2380
+ For credit card payments you'll need the following required fields:
2381
+
2382
+ - first_name
2383
+ - last_name
2384
+ - number
2385
+ - month
2386
+ - year
2387
+
2388
+ For external (not Recurly.js) tokenized payments you'll need the following required fields:
2389
+
2390
+ - first_name
2391
+ - last_name
2392
+ - gateway_token
2393
+ - gateway_code
2394
+ parameters:
2395
+ - "$ref": "#/components/parameters/site_id"
2396
+ - "$ref": "#/components/parameters/account_id"
2397
+ - "$ref": "#/components/parameters/billing_info_id"
2398
+ requestBody:
2399
+ content:
2400
+ application/json:
2401
+ schema:
2402
+ "$ref": "#/components/schemas/BillingInfoCreate"
2403
+ required: true
2404
+ responses:
2405
+ '200':
2406
+ description: Updated billing information.
2407
+ content:
2408
+ application/json:
2409
+ schema:
2410
+ "$ref": "#/components/schemas/BillingInfo"
2411
+ '400':
2412
+ description: Bad request, perhaps invalid JSON?
2413
+ content:
2414
+ application/json:
2415
+ schema:
2416
+ "$ref": "#/components/schemas/Error"
2417
+ '404':
2418
+ description: Incorrect site or account ID.
2419
+ content:
2420
+ application/json:
2421
+ schema:
2422
+ "$ref": "#/components/schemas/Error"
2423
+ '422':
2424
+ description: Invalid billing information, or error running the verification
2425
+ transaction.
2426
+ content:
2427
+ application/json:
2428
+ schema:
2429
+ "$ref": "#/components/schemas/ErrorMayHaveTransaction"
2430
+ x-code-samples: []
2431
+ delete:
2432
+ tags:
2433
+ - account
2434
+ - billing_info
2435
+ operationId: remove_a_billing_info
2436
+ summary: Remove an account's billing information
2437
+ parameters:
2438
+ - "$ref": "#/components/parameters/site_id"
2439
+ - "$ref": "#/components/parameters/account_id"
2440
+ - "$ref": "#/components/parameters/billing_info_id"
2441
+ description: You may remove any stored billing information for an account. If
2442
+ the account has a subscription, the renewal will go into dunning unless the
2443
+ billing information is updated before the renewal occurs.
2444
+ responses:
2445
+ '204':
2446
+ description: Billing information deleted
2447
+ '404':
2448
+ description: Account has no billing information, or incorrect site or account
2449
+ ID.
2450
+ content:
2451
+ application/json:
2452
+ schema:
2453
+ "$ref": "#/components/schemas/Error"
2454
+ '422':
2455
+ description: Billing info cannot be deleted. Please set a new primary billing
2456
+ info before deleting this billing info
2457
+ content:
2458
+ application/json:
2459
+ schema:
2460
+ "$ref": "#/components/schemas/Error"
2461
+ x-code-samples: []
2253
2462
  "/sites/{site_id}/accounts/{account_id}/coupon_redemptions":
2254
2463
  get:
2255
2464
  tags:
@@ -2266,6 +2475,7 @@ paths:
2266
2475
  - "$ref": "#/components/parameters/sort_dates"
2267
2476
  - "$ref": "#/components/parameters/filter_begin_time"
2268
2477
  - "$ref": "#/components/parameters/filter_end_time"
2478
+ - "$ref": "#/components/parameters/filter_state"
2269
2479
  responses:
2270
2480
  '200':
2271
2481
  description: A list of the the coupon redemptions on an account.
@@ -2462,7 +2672,7 @@ paths:
2462
2672
  - account
2463
2673
  - coupon_redemption
2464
2674
  operationId: create_coupon_redemption
2465
- summary: Generate an active coupon redemption on an account
2675
+ summary: Generate an active coupon redemption on an account or subscription
2466
2676
  parameters:
2467
2677
  - "$ref": "#/components/parameters/site_id"
2468
2678
  - "$ref": "#/components/parameters/account_id"
@@ -5527,7 +5737,108 @@ paths:
5527
5737
  application/json:
5528
5738
  schema:
5529
5739
  "$ref": "#/components/schemas/Error"
5530
- x-code-samples: []
5740
+ x-code-samples:
5741
+ - lang: Node.js
5742
+ source: |
5743
+ try {
5744
+ const coupon = await client.restoreCoupon(couponId, {
5745
+ name: "New Coupon Name"
5746
+ })
5747
+ console.log('Restored coupon: ', coupon.code)
5748
+ } catch (err) {
5749
+ if (err instanceof recurly.errors.NotFoundError) {
5750
+ // If the request was not found, you may want to alert the user or
5751
+ // just return null
5752
+ console.log('Resource Not Found')
5753
+ }
5754
+
5755
+ }
5756
+ - lang: Python
5757
+ source: |
5758
+ try:
5759
+ coupon = client.restore_coupon(coupon_id, {
5760
+ "name": "New Coupon Name"
5761
+ })
5762
+ print("Restored Coupon %s" % coupon)
5763
+ except recurly.errors.NotFoundError:
5764
+ # If the resource was not found, you may want to alert the user or
5765
+ # just return nil
5766
+ print("Resource Not Found")
5767
+ - lang: ".NET"
5768
+ source: |
5769
+ try
5770
+ {
5771
+ var couponReq = new CouponUpdate() {
5772
+ Name = "New Coupon Name"
5773
+ };
5774
+ Coupon coupon = client.RestoreCoupon(couponId, couponReq);
5775
+ Console.WriteLine($"Restored coupon {coupon.Code}");
5776
+ }
5777
+ catch (Recurly.Errors.Validation ex)
5778
+ {
5779
+ // If the request was not valid, you may want to tell your user
5780
+ // why. You can find the invalid params and reasons in ex.Error.Params
5781
+ Console.WriteLine($"Failed validation: {ex.Error.Message}");
5782
+ }
5783
+ catch (Recurly.Errors.ApiError ex)
5784
+ {
5785
+ // Use ApiError to catch a generic error from the API
5786
+ Console.WriteLine($"Unexpected Recurly Error: {ex.Error.Message}");
5787
+ }
5788
+ - lang: Ruby
5789
+ source: |
5790
+ begin
5791
+ coupon = @client.restore_coupon(coupon_id: coupon_id, body: {
5792
+ name: "New Coupon Name"
5793
+ })
5794
+ puts "Restored coupon #{coupon}"
5795
+ rescue Recurly::Errors::NotFoundError
5796
+ # If the resource was not found, you may want to alert the user or
5797
+ # just return nil
5798
+ puts "Resource Not Found"
5799
+ end
5800
+ - lang: Java
5801
+ source: |
5802
+ try {
5803
+ final CouponUpdate couponUpdate = new CouponUpdate();
5804
+ couponUpdate.setName("New Coupon Name");
5805
+
5806
+ final Coupon coupon = client.restoreCoupon(couponId, couponUpdate);
5807
+ System.out.println("Restored coupon: " + coupon.getCode());
5808
+ } catch (ValidationException e) {
5809
+ // If the request was not valid, you may want to tell your user
5810
+ // why. You can find the invalid params and reasons in e.getError().getParams()
5811
+ System.out.println("Failed validation: " + e.getError().getMessage());
5812
+ } catch (ApiException e) {
5813
+ // Use ApiException to catch a generic error from the API
5814
+ System.out.println("Unexpected Recurly Error: " + e.getError().getMessage());
5815
+ }
5816
+ - lang: PHP
5817
+ source: |
5818
+ try {
5819
+ $coupon_update = [
5820
+ "name" => "New Coupon Name"
5821
+ ];
5822
+ $coupon = $client->restoreCoupon($coupon_id, $coupon_update);
5823
+
5824
+ echo 'Restored Coupon:' . PHP_EOL;
5825
+ var_dump($coupon);
5826
+ } catch (\Recurly\Errors\NotFound $e) {
5827
+ // Could not find the resource, you may want to inform the user
5828
+ // or just return a NULL
5829
+ echo 'Could not find resource.' . PHP_EOL;
5830
+ var_dump($e);
5831
+ } catch (\Recurly\RecurlyError $e) {
5832
+ // Something bad happened... tell the user so that they can fix it?
5833
+ echo 'Some unexpected Recurly error happened. Try again later.' . PHP_EOL;
5834
+ }
5835
+ - lang: Go
5836
+ source: "updateReq := &recurly.CouponUpdate{\n\tName: recurly.String(\"New
5837
+ Coupon Name\"),\n}\ncoupon, err := client.RestoreCoupon(couponId, updateReq)\nif
5838
+ e, ok := err.(*recurly.Error); ok {\n\tif e.Type == recurly.ErrorTypeValidation
5839
+ {\n\t\tfmt.Printf(\"Failed validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
5840
+ Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Restored Coupon:
5841
+ %s\", coupon.Id)"
5531
5842
  "/sites/{site_id}/coupons/{coupon_id}/unique_coupon_codes":
5532
5843
  get:
5533
5844
  tags:
@@ -6526,14 +6837,11 @@ paths:
6526
6837
  const item = await client.deactivateItem(itemId)
6527
6838
  console.log('Deleted item: ', item.code)
6528
6839
  } catch (err) {
6529
- if (err && err.type === 'not-found') {
6840
+ if (err instanceof recurly.errors.NotFoundError) {
6530
6841
  // If the request was not found, you may want to alert the user or
6531
6842
  // just return null
6532
6843
  console.log('Resource Not Found')
6533
6844
  }
6534
- // If we don't know what to do with the err, we should
6535
- // probably re-raise and let our web framework and logger handle it
6536
- throw err
6537
6845
  }
6538
6846
  - lang: Python
6539
6847
  source: |
@@ -6650,14 +6958,11 @@ paths:
6650
6958
  const item = await client.reactivateItem(itemId)
6651
6959
  console.log('Reactivated item: ', item.code)
6652
6960
  } catch (err) {
6653
- if (err && err.type === 'not_found') {
6961
+ if (err instanceof recurly.errors.NotFoundError) {
6654
6962
  // If the request was not found, you may want to alert the user or
6655
6963
  // just return null
6656
6964
  console.log('Resource Not Found')
6657
6965
  }
6658
- // If we don't know what to do with the err, we should
6659
- // probably re-raise and let our web framework and logger handle it
6660
- throw err
6661
6966
  }
6662
6967
  - lang: Python
6663
6968
  source: |
@@ -11236,6 +11541,16 @@ paths:
11236
11541
  - partial
11237
11542
  - none
11238
11543
  default: none
11544
+ - name: charge
11545
+ in: query
11546
+ description: Applicable only if the subscription has usage based add-ons and
11547
+ unbilled usage logged for the current billing cycle. If true, current billing
11548
+ cycle unbilled usage is billed on the final invoice. If false, Recurly will
11549
+ create a negative usage record for current billing cycle usage that will
11550
+ zero out the final invoice line items.
11551
+ schema:
11552
+ default: true
11553
+ type: boolean
11239
11554
  responses:
11240
11555
  '200':
11241
11556
  description: An expired subscription.
@@ -13933,6 +14248,13 @@ components:
13933
14248
  required: true
13934
14249
  schema:
13935
14250
  type: string
14251
+ billing_info_id:
14252
+ name: billing_info_id
14253
+ in: path
14254
+ description: Billing Info ID.
14255
+ required: true
14256
+ schema:
14257
+ type: string
13936
14258
  usage_id:
13937
14259
  name: usage_id
13938
14260
  in: path
@@ -14360,6 +14682,23 @@ components:
14360
14682
  type: array
14361
14683
  items:
14362
14684
  "$ref": "#/components/schemas/AddOn"
14685
+ BillingInfoList:
14686
+ type: object
14687
+ properties:
14688
+ object:
14689
+ type: string
14690
+ title: Object type
14691
+ description: Will always be List.
14692
+ has_more:
14693
+ type: boolean
14694
+ description: Indicates there are more results on subsequent pages.
14695
+ next:
14696
+ type: string
14697
+ description: Path to subsequent page of results.
14698
+ data:
14699
+ type: array
14700
+ items:
14701
+ "$ref": "#/components/schemas/BillingInfo"
14363
14702
  CreditPaymentList:
14364
14703
  type: object
14365
14704
  properties:
@@ -14815,7 +15154,7 @@ components:
14815
15154
  maxLength: 255
14816
15155
  company:
14817
15156
  type: string
14818
- maxLength: 50
15157
+ maxLength: 100
14819
15158
  vat_number:
14820
15159
  type: string
14821
15160
  description: The VAT number of the account (to avoid having the VAT applied).
@@ -15717,6 +16056,16 @@ components:
15717
16056
  risk_rules_triggered:
15718
16057
  type: object
15719
16058
  title: Kount rules
16059
+ primary_payment_method:
16060
+ type: boolean
16061
+ description: The `primary_payment_method` indicator is used to designate
16062
+ the primary billing info on the account. The first billing info created
16063
+ on an account will always become primary. Adding additional billing infos
16064
+ provides the flexibility to mark another billing info as primary, or adding
16065
+ additional non-primary billing infos. This can be accomplished by passing
16066
+ the `primary_payment_method` indicator. When adding billing infos via
16067
+ the billing_info and /accounts endpoints, this value is not permitted,
16068
+ and will return an error if provided.
15720
16069
  created_at:
15721
16070
  type: string
15722
16071
  format: date-time
@@ -15857,6 +16206,28 @@ components:
15857
16206
  - checking
15858
16207
  - savings
15859
16208
  description: The bank account type. (ACH only)
16209
+ tax_identifier:
16210
+ type: string
16211
+ description: Tax identifier is required if adding a billing info that is
16212
+ a consumer card in Brazil. This would be the customer's CPF, CPF is a
16213
+ Brazilian tax identifier for all tax paying residents.
16214
+ tax_identifier_type:
16215
+ type: string
16216
+ enum:
16217
+ - cpf
16218
+ description: this field and a value of 'cpf' are required if adding a billing
16219
+ info that is an elo or hipercard type in Brazil.
16220
+ primary_payment_method:
16221
+ type: boolean
16222
+ title: Primary Payment Method
16223
+ description: The `primary_payment_method` indicator is used to designate
16224
+ the primary billing info on the account. The first billing info created
16225
+ on an account will always become primary. Adding additional billing infos
16226
+ provides the flexibility to mark another billing info as primary, or adding
16227
+ additional non-primary billing infos. This can be accomplished by passing
16228
+ the `primary_payment_method` indicator. When adding billing infos via
16229
+ the billing_info and /accounts endpoints, this value is not permitted,
16230
+ and will return an error if provided.
15860
16231
  Coupon:
15861
16232
  type: object
15862
16233
  properties:
@@ -15955,6 +16326,13 @@ components:
15955
16326
  description: The coupon is valid for all plans if true. If false then `plans`
15956
16327
  and `plans_names` will list the applicable plans.
15957
16328
  default: true
16329
+ applies_to_all_items:
16330
+ type: boolean
16331
+ title: Applies to all items?
16332
+ description: |
16333
+ The coupon is valid for all items if true. If false then `items`
16334
+ will list the applicable items.
16335
+ default: false
15958
16336
  applies_to_non_plan_charges:
15959
16337
  type: boolean
15960
16338
  title: Applied to all non-plan charges?
@@ -15973,6 +16351,14 @@ components:
15973
16351
  `null` if `applies_to_all_plans=true`.
15974
16352
  items:
15975
16353
  "$ref": "#/components/schemas/PlanMini"
16354
+ items:
16355
+ type: array
16356
+ title: Items
16357
+ description: |
16358
+ A list of items for which this coupon applies. This will be
16359
+ `null` if `applies_to_all_items=true`.
16360
+ items:
16361
+ "$ref": "#/components/schemas/ItemMini"
15976
16362
  redemption_resource:
15977
16363
  type: string
15978
16364
  title: Redemption resource
@@ -16101,6 +16487,16 @@ components:
16101
16487
  The coupon is valid for all plans if true. If false then
16102
16488
  `plans` and `plans_names` will list the applicable plans.
16103
16489
  default: true
16490
+ applies_to_all_items:
16491
+ type: boolean
16492
+ title: Applies to all items?
16493
+ description: |
16494
+ To apply coupon to Items in your Catalog, include a list
16495
+ of `item_codes` in the request that the coupon will apply to. Or set value
16496
+ to true to apply to all Items in your Catalog. The following values
16497
+ are not permitted when `applies_to_all_items` is included: `free_trial_amount`
16498
+ and `free_trial_unit`.
16499
+ default: false
16104
16500
  plan_codes:
16105
16501
  type: array
16106
16502
  title: Plan codes
@@ -16110,6 +16506,16 @@ components:
16110
16506
  when `applies_to_all_plans` is true.
16111
16507
  items:
16112
16508
  type: string
16509
+ item_codes:
16510
+ type: array
16511
+ title: Item codes
16512
+ description: |
16513
+ List of item codes to which this coupon applies. Sending
16514
+ `item_codes` is only permitted when `applies_to_all_items` is set to false.
16515
+ The following values are not permitted when `item_codes` is included:
16516
+ `free_trial_amount` and `free_trial_unit`.
16517
+ items:
16518
+ type: string
16113
16519
  duration:
16114
16520
  type: string
16115
16521
  title: Duration
@@ -16305,6 +16711,9 @@ components:
16305
16711
  description: The Account on which the coupon was applied.
16306
16712
  readOnly: true
16307
16713
  "$ref": "#/components/schemas/AccountMini"
16714
+ subscription_id:
16715
+ type: string
16716
+ title: Subscription ID
16308
16717
  coupon:
16309
16718
  "$ref": "#/components/schemas/Coupon"
16310
16719
  state:
@@ -16352,6 +16761,9 @@ components:
16352
16761
  title: Currency
16353
16762
  description: 3-letter ISO 4217 currency code.
16354
16763
  maxLength: 3
16764
+ subscription_id:
16765
+ type: string
16766
+ title: Subscription ID
16355
16767
  required:
16356
16768
  - coupon_id
16357
16769
  CouponRedemptionMini:
@@ -16926,6 +17338,13 @@ components:
16926
17338
  - voided
16927
17339
  account:
16928
17340
  "$ref": "#/components/schemas/AccountMini"
17341
+ billing_info_id:
17342
+ type: string
17343
+ title: Billing info ID
17344
+ description: The `billing_info_id` is the value that represents a specific
17345
+ billing info for an end customer. When `billing_info_id` is used to assign
17346
+ billing info to the subscription, all future billing events for the subscription
17347
+ will bill to the specified billing info.
16929
17348
  subscription_ids:
16930
17349
  type: array
16931
17350
  title: Subscription IDs
@@ -17167,6 +17586,13 @@ components:
17167
17586
  mail order and telephone transactions.
17168
17587
  enum:
17169
17588
  - moto
17589
+ billing_info_id:
17590
+ type: string
17591
+ title: Billing Info ID
17592
+ description: The `billing_info_id` is the value that represents a specific
17593
+ billing info for an end customer. When `billing_info_id` is used to assign
17594
+ billing info to the subscription, all future billing events for the subscription
17595
+ will bill to the specified billing info.
17170
17596
  InvoiceCollection:
17171
17597
  type: object
17172
17598
  title: Invoice collection
@@ -18311,13 +18737,13 @@ components:
18311
18737
  the setup fee will be charged at the time of signup. Setup fees do not
18312
18738
  increase with the quantity of a subscription plan.
18313
18739
  minimum: 0
18314
- maximum: 100000
18740
+ maximum: 1000000
18315
18741
  unit_amount:
18316
18742
  type: number
18317
18743
  format: float
18318
18744
  title: Unit price
18319
18745
  minimum: 0
18320
- maximum: 100000
18746
+ maximum: 1000000
18321
18747
  PlanUpdate:
18322
18748
  type: object
18323
18749
  properties:
@@ -18450,11 +18876,6 @@ components:
18450
18876
  type: object
18451
18877
  title: Hosted pages settings
18452
18878
  "$ref": "#/components/schemas/PlanHostedPages"
18453
- add_ons:
18454
- type: array
18455
- title: Add Ons
18456
- items:
18457
- "$ref": "#/components/schemas/AddOnCreate"
18458
18879
  allow_any_item_on_subscriptions:
18459
18880
  type: boolean
18460
18881
  title: Allow any item on subscriptions
@@ -18475,7 +18896,7 @@ components:
18475
18896
  format: float
18476
18897
  title: Unit price
18477
18898
  minimum: 0
18478
- maximum: 100000
18899
+ maximum: 1000000
18479
18900
  required:
18480
18901
  - currency
18481
18902
  - unit_amount
@@ -18492,7 +18913,7 @@ components:
18492
18913
  format: float
18493
18914
  title: Unit price
18494
18915
  minimum: 0
18495
- maximum: 100000
18916
+ maximum: 1000000
18496
18917
  required:
18497
18918
  - currency
18498
18919
  - unit_amount
@@ -19001,6 +19422,8 @@ components:
19001
19422
  coupon_redemptions:
19002
19423
  type: array
19003
19424
  title: Coupon redemptions
19425
+ description: Returns subscription level coupon redemptions that are tied
19426
+ to this subscription.
19004
19427
  items:
19005
19428
  "$ref": "#/components/schemas/CouponRedemptionMini"
19006
19429
  pending_change:
@@ -19165,6 +19588,10 @@ components:
19165
19588
  set. This timestamp is used for alerting customers to reauthorize in 3
19166
19589
  years in accordance with NACHA rules. If a subscription becomes inactive
19167
19590
  or the billing info is no longer a bank account, this timestamp is cleared.
19591
+ billing_info_id:
19592
+ type: string
19593
+ title: Billing Info ID
19594
+ description: Billing Info ID.
19168
19595
  SubscriptionAddOn:
19169
19596
  type: object
19170
19597
  title: Subscription Add-on
@@ -19285,6 +19712,7 @@ components:
19285
19712
  * Optionally, override the add-on's default unit amount.
19286
19713
  * If the plan add-on's `tier_type` is `tiered`, `volume`, or `stairstep`, then `unit_amount` must be absent.
19287
19714
  minimum: 0
19715
+ maximum: 1000000
19288
19716
  tiers:
19289
19717
  type: array
19290
19718
  title: Tiers
@@ -19358,6 +19786,7 @@ components:
19358
19786
  title: Unit amount
19359
19787
  description: Optionally, override the add-on's default unit amount.
19360
19788
  minimum: 0
19789
+ maximum: 1000000
19361
19790
  tiers:
19362
19791
  type: array
19363
19792
  title: Tiers
@@ -19398,6 +19827,7 @@ components:
19398
19827
  format: float
19399
19828
  title: Unit amount
19400
19829
  minimum: 0
19830
+ maximum: 1000000
19401
19831
  SubscriptionCancel:
19402
19832
  type: object
19403
19833
  properties:
@@ -19530,7 +19960,7 @@ components:
19530
19960
  the plan's default unit amount. The subscription's current currency will
19531
19961
  be used.
19532
19962
  minimum: 0
19533
- maximum: 100000
19963
+ maximum: 1000000
19534
19964
  quantity:
19535
19965
  type: integer
19536
19966
  title: Quantity
@@ -19655,6 +20085,13 @@ components:
19655
20085
  are provided the `plan_id` will be used.
19656
20086
  account:
19657
20087
  "$ref": "#/components/schemas/AccountCreate"
20088
+ billing_info_id:
20089
+ type: string
20090
+ title: Billing Info ID
20091
+ description: The `billing_info_id` is the value that represents a specific
20092
+ billing info for an end customer. When `billing_info_id` is used to assign
20093
+ billing info to the subscription, all future billing events for the subscription
20094
+ will bill to the specified billing info.
19658
20095
  shipping:
19659
20096
  title: Shipping address
19660
20097
  description: Create a shipping address on the account and assign it to the
@@ -19680,7 +20117,7 @@ components:
19680
20117
  this value. If not provided, the subscription will inherit the price from
19681
20118
  the subscription plan for the provided currency.
19682
20119
  minimum: 0
19683
- maximum: 100000
20120
+ maximum: 1000000
19684
20121
  quantity:
19685
20122
  type: integer
19686
20123
  title: Quantity
@@ -19814,7 +20251,7 @@ components:
19814
20251
  this value in cents. If not provided, the subscription will inherit the
19815
20252
  price from the subscription plan for the provided currency.
19816
20253
  minimum: 0
19817
- maximum: 100000
20254
+ maximum: 1000000
19818
20255
  quantity:
19819
20256
  type: integer
19820
20257
  title: Quantity
@@ -19957,6 +20394,13 @@ components:
19957
20394
  default: 0
19958
20395
  shipping:
19959
20396
  "$ref": "#/components/schemas/SubscriptionShippingUpdate"
20397
+ billing_info_id:
20398
+ type: string
20399
+ title: Billing Info ID
20400
+ description: The `billing_info_id` is the value that represents a specific
20401
+ billing info for an end customer. When `billing_info_id` is used to assign
20402
+ billing info to the subscription, all future billing events for the subscription
20403
+ will bill to the specified billing info.
19960
20404
  SubscriptionPause:
19961
20405
  type: object
19962
20406
  properties:
@@ -20581,6 +21025,13 @@ components:
20581
21025
  maxLength: 3
20582
21026
  account:
20583
21027
  "$ref": "#/components/schemas/AccountPurchase"
21028
+ billing_info_id:
21029
+ type: string
21030
+ title: Billing info ID
21031
+ description: The `billing_info_id` is the value that represents a specific
21032
+ billing info for an end customer. When `billing_info_id` is used to assign
21033
+ billing info to the subscription, all future billing events for the subscription
21034
+ will bill to the specified billing info.
20584
21035
  collection_method:
20585
21036
  type: string
20586
21037
  title: Collection method
@@ -20789,6 +21240,7 @@ components:
20789
21240
  - invalid_permissions
20790
21241
  - invalid_token
20791
21242
  - not_found
21243
+ - service_not_available
20792
21244
  - simultaneous_request
20793
21245
  - transaction
20794
21246
  - unauthorized