recurly 3.14.0 → 3.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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