recurly 3.29.0 → 3.29.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/.github/workflows/ci.yml +3 -3
  4. data/.github/workflows/docs.yml +1 -1
  5. data/CHANGELOG.md +11 -0
  6. data/lib/data/ca-certificates.crt +0 -40
  7. data/lib/recurly/client/operations.rb +89 -40
  8. data/lib/recurly/errors/api_errors.rb +0 -31
  9. data/lib/recurly/requests/add_on_create.rb +1 -1
  10. data/lib/recurly/requests/add_on_update.rb +1 -1
  11. data/lib/recurly/requests/address.rb +1 -1
  12. data/lib/recurly/requests/billing_info_create.rb +5 -1
  13. data/lib/recurly/requests/billing_info_verify.rb +4 -0
  14. data/lib/recurly/requests/billing_info_verify_cvv.rb +26 -0
  15. data/lib/recurly/requests/credit_application_policy.rb +18 -0
  16. data/lib/recurly/requests/custom_field.rb +8 -0
  17. data/lib/recurly/requests/invoice_address.rb +1 -1
  18. data/lib/recurly/requests/invoice_create.rb +9 -1
  19. data/lib/recurly/requests/item_create.rb +1 -1
  20. data/lib/recurly/requests/item_update.rb +1 -1
  21. data/lib/recurly/requests/line_item_create.rb +5 -1
  22. data/lib/recurly/requests/plan_create.rb +1 -1
  23. data/lib/recurly/requests/plan_update.rb +1 -1
  24. data/lib/recurly/requests/purchase_create.rb +8 -0
  25. data/lib/recurly/requests/shipping_address_create.rb +1 -1
  26. data/lib/recurly/requests/shipping_address_update.rb +1 -1
  27. data/lib/recurly/requests/subscription_create.rb +13 -1
  28. data/lib/recurly/requests/subscription_purchase.rb +21 -1
  29. data/lib/recurly/requests/subscription_update.rb +8 -0
  30. data/lib/recurly/resources/add_on.rb +1 -1
  31. data/lib/recurly/resources/address.rb +1 -1
  32. data/lib/recurly/resources/credit_application_policy.rb +18 -0
  33. data/lib/recurly/resources/custom_field.rb +8 -0
  34. data/lib/recurly/resources/invoice.rb +8 -0
  35. data/lib/recurly/resources/invoice_address.rb +1 -1
  36. data/lib/recurly/resources/item.rb +1 -1
  37. data/lib/recurly/resources/line_item.rb +6 -2
  38. data/lib/recurly/resources/plan.rb +1 -1
  39. data/lib/recurly/resources/shipping_address.rb +1 -1
  40. data/lib/recurly/resources/subscription.rb +8 -0
  41. data/lib/recurly/resources/tax_detail.rb +4 -4
  42. data/lib/recurly/resources/tax_info.rb +1 -1
  43. data/lib/recurly/version.rb +1 -1
  44. data/openapi/api.yaml +10713 -306
  45. metadata +9 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7989dd4fbadfae7f91fa74b1d0c449d15a25f8353effe843920e62aef460c08
4
- data.tar.gz: a11feb7a78daf76d06725d5bee7d67c6369eb24496013a6425633ac43b6cdded
3
+ metadata.gz: fd9765341ee9d05206afe55144081c3dbcf60a9c8506b1d15db77b5e33e1e448
4
+ data.tar.gz: 7115cf93abdec02b6e25137c0854365f43c4c0e9771a6cce20384c6cea46193c
5
5
  SHA512:
6
- metadata.gz: 59efb8e9ae948e5bc2820023f108dfe0e5b56839a30a65a1692d8b6cc0030a3cc1a56c3fc14dad3d8b681d72ec48236fb5115c022e24e12bfa9b0bd0c50b4a62
7
- data.tar.gz: cc15baa7ddcc508e672b96bb0840c1b36604d1051e636ef41d4ab03bc0f316245694dc0577a28303726c59027af006edb4ef4c11b02e60eb46d093a43e6f5175
6
+ metadata.gz: b297044e5091ddb1f3ce44e06700349aa44f5783a33c9e74c24136933c2379b423e545ccf32ff27315e2077b07e470b084aa3be3fe195c71b4c0567e14e1f195
7
+ data.tar.gz: 83eba8d233f670a41a6b975be7487e7b92fb21cff3382e836218288e08b3c1d9c917e46adda10fd67957e2cde74561a9d10f966c33f32bf593fb6f534a2cbe89
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 3.29.0
2
+ current_version = 3.29.1
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
@@ -5,11 +5,11 @@ concurrency:
5
5
  cancel-in-progress: true
6
6
  jobs:
7
7
  build:
8
- runs-on: ubuntu-latest
8
+ runs-on: ubuntu-24.04
9
9
  name: Ruby ${{ matrix.ruby }} tests
10
10
  strategy:
11
11
  matrix:
12
- ruby: [2.4, 2.5, 2.6, 2.7, 3.0]
12
+ ruby: ['2.4', '2.5', '2.6', '2.7', '3.0']
13
13
  steps:
14
14
  - uses: actions/checkout@v3
15
15
  - name: Setup ruby
@@ -20,7 +20,7 @@ jobs:
20
20
  - run: ./scripts/test
21
21
  buildall:
22
22
  if: ${{ always() }}
23
- runs-on: ubuntu-latest
23
+ runs-on: ubuntu-24.04
24
24
  name: Build (matrix)
25
25
  needs: build
26
26
  steps:
@@ -6,7 +6,7 @@ name: Documentation
6
6
  jobs:
7
7
  build:
8
8
  name: Publish
9
- runs-on: ubuntu-latest
9
+ runs-on: ubuntu-24.04
10
10
  steps:
11
11
  - uses: actions/checkout@v2
12
12
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.29.1](https://github.com/recurly/recurly-client-ruby/tree/3.29.1) (2026-10-23)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/3.29.0...3.29.1)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2019-10-10 [#977](https://github.com/recurly/recurly-client-ruby/pull/977) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
3
14
  ## [3.29.0](https://github.com/recurly/recurly-client-ruby/tree/3.29.0) (2024-05-24)
4
15
 
5
16
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/3.28.0...3.29.0)
@@ -261,30 +261,6 @@ gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
261
261
  X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
262
262
  -----END CERTIFICATE-----
263
263
 
264
- Comodo AAA Services root
265
- ========================
266
- -----BEGIN CERTIFICATE-----
267
- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
268
- R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
269
- TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
270
- MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
271
- c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
272
- BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
273
- ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
274
- C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
275
- i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
276
- Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
277
- Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
278
- Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
279
- BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
280
- cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
281
- LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
282
- 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
283
- Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
284
- 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
285
- 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
286
- -----END CERTIFICATE-----
287
-
288
264
  QuoVadis Root CA
289
265
  ================
290
266
  -----BEGIN CERTIFICATE-----
@@ -3347,22 +3323,6 @@ U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
3347
3323
  iN66zB+Afko=
3348
3324
  -----END CERTIFICATE-----
3349
3325
 
3350
- emSign ECC Root CA - G3
3351
- =======================
3352
- -----BEGIN CERTIFICATE-----
3353
- MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG
3354
- A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg
3355
- MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4
3356
- MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11
3357
- ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
3358
- RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc
3359
- 58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr
3360
- MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC
3361
- AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D
3362
- CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7
3363
- jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj
3364
- -----END CERTIFICATE-----
3365
-
3366
3326
  emSign Root CA - C1
3367
3327
  ===================
3368
3328
  -----BEGIN CERTIFICATE-----
@@ -109,7 +109,7 @@ module Recurly
109
109
  # end
110
110
  #
111
111
  def list_accounts(**options)
112
- path = interpolate_path("/accounts")
112
+ path = "/accounts"
113
113
  pager(path, **options)
114
114
  end
115
115
 
@@ -159,7 +159,7 @@ module Recurly
159
159
  # end
160
160
  #
161
161
  def create_account(body:, **options)
162
- path = interpolate_path("/accounts")
162
+ path = "/accounts"
163
163
  post(path, body, Requests::AccountCreate, **options)
164
164
  end
165
165
 
@@ -469,6 +469,21 @@ module Recurly
469
469
  post(path, options[:body], Requests::BillingInfoVerify, **options)
470
470
  end
471
471
 
472
+ # Verify an account's credit card billing cvv
473
+ #
474
+ # {https://developers.recurly.com/api/v2019-10-10#operation/verify_billing_info_cvv verify_billing_info_cvv api documentation}
475
+ #
476
+ # @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+.
477
+ # @param body [Requests::BillingInfoVerifyCVV] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerifyCVV}
478
+ # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
479
+ #
480
+ # @return [Resources::Transaction] Transaction information from verify.
481
+ #
482
+ def verify_billing_info_cvv(account_id:, body:, **options)
483
+ path = interpolate_path("/accounts/{account_id}/billing_info/verify_cvv", account_id: account_id)
484
+ post(path, body, Requests::BillingInfoVerifyCVV, **options)
485
+ end
486
+
472
487
  # Get the list of billing information associated with an account
473
488
  #
474
489
  # {https://developers.recurly.com/api/v2019-10-10#operation/list_billing_infos list_billing_infos api documentation}
@@ -566,6 +581,38 @@ module Recurly
566
581
  delete(path, **options)
567
582
  end
568
583
 
584
+ # Verify a billing information's credit card
585
+ #
586
+ # {https://developers.recurly.com/api/v2019-10-10#operation/verify_billing_infos verify_billing_infos api documentation}
587
+ #
588
+ # @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+.
589
+ # @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.
590
+ # @param body [Requests::BillingInfoVerify] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerify}
591
+ # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
592
+ #
593
+ # @return [Resources::Transaction] Transaction information from verify.
594
+ #
595
+ def verify_billing_infos(account_id:, billing_info_id:, **options)
596
+ path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}/verify", account_id: account_id, billing_info_id: billing_info_id)
597
+ post(path, options[:body], Requests::BillingInfoVerify, **options)
598
+ end
599
+
600
+ # Verify a billing information's credit card cvv
601
+ #
602
+ # {https://developers.recurly.com/api/v2019-10-10#operation/verify_billing_infos_cvv verify_billing_infos_cvv api documentation}
603
+ #
604
+ # @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+.
605
+ # @param billing_info_id [String] Billing Info ID. Can ONLY be used for sites utilizing the Wallet feature.
606
+ # @param body [Requests::BillingInfoVerifyCVV] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::BillingInfoVerifyCVV}
607
+ # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
608
+ #
609
+ # @return [Resources::Transaction] Transaction information from verify.
610
+ #
611
+ def verify_billing_infos_cvv(account_id:, billing_info_id:, body:, **options)
612
+ path = interpolate_path("/accounts/{account_id}/billing_infos/{billing_info_id}/verify_cvv", account_id: account_id, billing_info_id: billing_info_id)
613
+ post(path, body, Requests::BillingInfoVerifyCVV, **options)
614
+ end
615
+
569
616
  # List the coupon redemptions for an account
570
617
  #
571
618
  # {https://developers.recurly.com/api/v2019-10-10#operation/list_account_coupon_redemptions list_account_coupon_redemptions api documentation}
@@ -1333,7 +1380,7 @@ module Recurly
1333
1380
  # end
1334
1381
  #
1335
1382
  def list_account_acquisition(**options)
1336
- path = interpolate_path("/acquisitions")
1383
+ path = "/acquisitions"
1337
1384
  pager(path, **options)
1338
1385
  end
1339
1386
 
@@ -1375,7 +1422,7 @@ module Recurly
1375
1422
  # end
1376
1423
  #
1377
1424
  def list_coupons(**options)
1378
- path = interpolate_path("/coupons")
1425
+ path = "/coupons"
1379
1426
  pager(path, **options)
1380
1427
  end
1381
1428
 
@@ -1411,7 +1458,7 @@ module Recurly
1411
1458
  # end
1412
1459
  #
1413
1460
  def create_coupon(body:, **options)
1414
- path = interpolate_path("/coupons")
1461
+ path = "/coupons"
1415
1462
  post(path, body, Requests::CouponCreate, **options)
1416
1463
  end
1417
1464
 
@@ -1578,7 +1625,7 @@ module Recurly
1578
1625
  # end
1579
1626
  #
1580
1627
  def list_credit_payments(**options)
1581
- path = interpolate_path("/credit_payments")
1628
+ path = "/credit_payments"
1582
1629
  pager(path, **options)
1583
1630
  end
1584
1631
 
@@ -1635,7 +1682,7 @@ module Recurly
1635
1682
  # end
1636
1683
  #
1637
1684
  def list_custom_field_definitions(**options)
1638
- path = interpolate_path("/custom_field_definitions")
1685
+ path = "/custom_field_definitions"
1639
1686
  pager(path, **options)
1640
1687
  end
1641
1688
 
@@ -1703,7 +1750,7 @@ module Recurly
1703
1750
  # end
1704
1751
  #
1705
1752
  def list_items(**options)
1706
- path = interpolate_path("/items")
1753
+ path = "/items"
1707
1754
  pager(path, **options)
1708
1755
  end
1709
1756
 
@@ -1738,7 +1785,7 @@ module Recurly
1738
1785
  # end
1739
1786
  #
1740
1787
  def create_item(body:, **options)
1741
- path = interpolate_path("/items")
1788
+ path = "/items"
1742
1789
  post(path, body, Requests::ItemCreate, **options)
1743
1790
  end
1744
1791
 
@@ -1876,7 +1923,7 @@ module Recurly
1876
1923
  # @return [Pager<Resources::MeasuredUnit>] A list of the site's measured units.
1877
1924
  #
1878
1925
  def list_measured_unit(**options)
1879
- path = interpolate_path("/measured_units")
1926
+ path = "/measured_units"
1880
1927
  pager(path, **options)
1881
1928
  end
1882
1929
 
@@ -1890,7 +1937,7 @@ module Recurly
1890
1937
  # @return [Resources::MeasuredUnit] A new measured unit.
1891
1938
  #
1892
1939
  def create_measured_unit(body:, **options)
1893
- path = interpolate_path("/measured_units")
1940
+ path = "/measured_units"
1894
1941
  post(path, body, Requests::MeasuredUnitCreate, **options)
1895
1942
  end
1896
1943
 
@@ -1982,7 +2029,7 @@ module Recurly
1982
2029
  # end
1983
2030
  #
1984
2031
  def list_invoices(**options)
1985
- path = interpolate_path("/invoices")
2032
+ path = "/invoices"
1986
2033
  pager(path, **options)
1987
2034
  end
1988
2035
 
@@ -1990,7 +2037,7 @@ module Recurly
1990
2037
  #
1991
2038
  # {https://developers.recurly.com/api/v2019-10-10#operation/get_invoice get_invoice api documentation}
1992
2039
  #
1993
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2040
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
1994
2041
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
1995
2042
  #
1996
2043
  # @return [Resources::Invoice] An invoice.
@@ -2013,7 +2060,7 @@ module Recurly
2013
2060
  #
2014
2061
  # {https://developers.recurly.com/api/v2019-10-10#operation/put_invoice put_invoice api documentation}
2015
2062
  #
2016
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2063
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2017
2064
  # @param body [Requests::InvoiceUpdatable] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceUpdatable}
2018
2065
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2019
2066
  #
@@ -2041,7 +2088,7 @@ module Recurly
2041
2088
  #
2042
2089
  # {https://developers.recurly.com/api/v2019-10-10#operation/get_invoice_pdf get_invoice_pdf api documentation}
2043
2090
  #
2044
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2091
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2045
2092
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2046
2093
  #
2047
2094
  # @return [Resources::BinaryFile] An invoice as a PDF.
@@ -2067,7 +2114,7 @@ module Recurly
2067
2114
  #
2068
2115
  # {https://developers.recurly.com/api/v2019-10-10#operation/apply_credit_balance apply_credit_balance api documentation}
2069
2116
  #
2070
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2117
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2071
2118
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2072
2119
  #
2073
2120
  # @return [Resources::Invoice] The updated invoice.
@@ -2090,7 +2137,7 @@ module Recurly
2090
2137
  #
2091
2138
  # {https://developers.recurly.com/api/v2019-10-10#operation/collect_invoice collect_invoice api documentation}
2092
2139
  #
2093
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2140
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2094
2141
  # @param body [Requests::InvoiceCollect] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceCollect}
2095
2142
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2096
2143
  #
@@ -2114,7 +2161,7 @@ module Recurly
2114
2161
  #
2115
2162
  # {https://developers.recurly.com/api/v2019-10-10#operation/fail_invoice fail_invoice api documentation}
2116
2163
  #
2117
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2164
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2118
2165
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2119
2166
  #
2120
2167
  # @return [Resources::Invoice] The updated invoice.
@@ -2137,7 +2184,7 @@ module Recurly
2137
2184
  #
2138
2185
  # {https://developers.recurly.com/api/v2019-10-10#operation/mark_invoice_successful mark_invoice_successful api documentation}
2139
2186
  #
2140
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2187
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2141
2188
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2142
2189
  #
2143
2190
  # @return [Resources::Invoice] The updated invoice.
@@ -2160,7 +2207,7 @@ module Recurly
2160
2207
  #
2161
2208
  # {https://developers.recurly.com/api/v2019-10-10#operation/reopen_invoice reopen_invoice api documentation}
2162
2209
  #
2163
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2210
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2164
2211
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2165
2212
  #
2166
2213
  # @return [Resources::Invoice] The updated invoice.
@@ -2183,7 +2230,7 @@ module Recurly
2183
2230
  #
2184
2231
  # {https://developers.recurly.com/api/v2019-10-10#operation/void_invoice void_invoice api documentation}
2185
2232
  #
2186
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2233
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2187
2234
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2188
2235
  #
2189
2236
  # @return [Resources::Invoice] The updated invoice.
@@ -2206,7 +2253,7 @@ module Recurly
2206
2253
  #
2207
2254
  # {https://developers.recurly.com/api/v2019-10-10#operation/record_external_transaction record_external_transaction api documentation}
2208
2255
  #
2209
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2256
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2210
2257
  # @param body [Requests::ExternalTransaction] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalTransaction}
2211
2258
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2212
2259
  #
@@ -2221,7 +2268,7 @@ module Recurly
2221
2268
  #
2222
2269
  # {https://developers.recurly.com/api/v2019-10-10#operation/list_invoice_line_items list_invoice_line_items api documentation}
2223
2270
  #
2224
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2271
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2225
2272
  # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2226
2273
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2227
2274
  #
@@ -2270,7 +2317,7 @@ module Recurly
2270
2317
  #
2271
2318
  # {https://developers.recurly.com/api/v2019-10-10#operation/list_invoice_coupon_redemptions list_invoice_coupon_redemptions api documentation}
2272
2319
  #
2273
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2320
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2274
2321
  # @param ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
2275
2322
  # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
2276
2323
  #
@@ -2314,7 +2361,7 @@ module Recurly
2314
2361
  #
2315
2362
  # {https://developers.recurly.com/api/v2019-10-10#operation/list_related_invoices list_related_invoices api documentation}
2316
2363
  #
2317
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2364
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2318
2365
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2319
2366
  #
2320
2367
  # @return [Pager<Resources::Invoice>] A list of the credit or charge invoices associated with the invoice.
@@ -2336,7 +2383,7 @@ module Recurly
2336
2383
  #
2337
2384
  # {https://developers.recurly.com/api/v2019-10-10#operation/refund_invoice refund_invoice api documentation}
2338
2385
  #
2339
- # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+.
2386
+ # @param invoice_id [String] Invoice ID or number. For ID no prefix is used e.g. +e28zov4fw0v2+. For number use prefix +number-+, e.g. +number-1000+. For number with prefix or country code, use +number-+ and +prefix+, e.g. +number-TEST-FR1001+
2340
2387
  # @param body [Requests::InvoiceRefund] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::InvoiceRefund}
2341
2388
  # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
2342
2389
  #
@@ -2406,7 +2453,7 @@ module Recurly
2406
2453
  # end
2407
2454
  #
2408
2455
  def list_line_items(**options)
2409
- path = interpolate_path("/line_items")
2456
+ path = "/line_items"
2410
2457
  pager(path, **options)
2411
2458
  end
2412
2459
 
@@ -2497,7 +2544,7 @@ module Recurly
2497
2544
  # end
2498
2545
  #
2499
2546
  def list_plans(**options)
2500
- path = interpolate_path("/plans")
2547
+ path = "/plans"
2501
2548
  pager(path, **options)
2502
2549
  end
2503
2550
 
@@ -2537,7 +2584,7 @@ module Recurly
2537
2584
  # end
2538
2585
  #
2539
2586
  def create_plan(body:, **options)
2540
- path = interpolate_path("/plans")
2587
+ path = "/plans"
2541
2588
  post(path, body, Requests::PlanCreate, **options)
2542
2589
  end
2543
2590
 
@@ -2822,7 +2869,7 @@ module Recurly
2822
2869
  # end
2823
2870
  #
2824
2871
  def list_add_ons(**options)
2825
- path = interpolate_path("/add_ons")
2872
+ path = "/add_ons"
2826
2873
  pager(path, **options)
2827
2874
  end
2828
2875
 
@@ -2889,7 +2936,7 @@ module Recurly
2889
2936
  # end
2890
2937
  #
2891
2938
  def list_shipping_methods(**options)
2892
- path = interpolate_path("/shipping_methods")
2939
+ path = "/shipping_methods"
2893
2940
  pager(path, **options)
2894
2941
  end
2895
2942
 
@@ -2903,7 +2950,7 @@ module Recurly
2903
2950
  # @return [Resources::ShippingMethod] A new shipping method.
2904
2951
  #
2905
2952
  def create_shipping_method(body:, **options)
2906
- path = interpolate_path("/shipping_methods")
2953
+ path = "/shipping_methods"
2907
2954
  post(path, body, Requests::ShippingMethodCreate, **options)
2908
2955
  end
2909
2956
 
@@ -2994,7 +3041,7 @@ module Recurly
2994
3041
  # end
2995
3042
  #
2996
3043
  def list_subscriptions(**options)
2997
- path = interpolate_path("/subscriptions")
3044
+ path = "/subscriptions"
2998
3045
  pager(path, **options)
2999
3046
  end
3000
3047
 
@@ -3027,7 +3074,7 @@ module Recurly
3027
3074
  # end
3028
3075
  #
3029
3076
  def create_subscription(body:, **options)
3030
- path = interpolate_path("/subscriptions")
3077
+ path = "/subscriptions"
3031
3078
  post(path, body, Requests::SubscriptionCreate, **options)
3032
3079
  end
3033
3080
 
@@ -3248,12 +3295,13 @@ module Recurly
3248
3295
  # {https://developers.recurly.com/api/v2019-10-10#operation/get_preview_renewal get_preview_renewal api documentation}
3249
3296
  #
3250
3297
  # @param subscription_id [String] Subscription ID or UUID. For ID no prefix is used e.g. +e28zov4fw0v2+. For UUID use prefix +uuid-+, e.g. +uuid-123457890+.
3298
+ # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3251
3299
  #
3252
3300
  # @return [Resources::InvoiceCollection] A preview of the subscription's renewal invoice(s).
3253
3301
  #
3254
- def get_preview_renewal(subscription_id:)
3302
+ def get_preview_renewal(subscription_id:, **options)
3255
3303
  path = interpolate_path("/subscriptions/{subscription_id}/preview_renewal", subscription_id: subscription_id)
3256
- get(path)
3304
+ get(path, **options)
3257
3305
  end
3258
3306
 
3259
3307
  # Fetch a subscription's pending change
@@ -3637,7 +3685,7 @@ module Recurly
3637
3685
  # end
3638
3686
  #
3639
3687
  def list_transactions(**options)
3640
- path = interpolate_path("/transactions")
3688
+ path = "/transactions"
3641
3689
  pager(path, **options)
3642
3690
  end
3643
3691
 
@@ -3742,7 +3790,7 @@ module Recurly
3742
3790
  # end
3743
3791
  #
3744
3792
  def create_purchase(body:, **options)
3745
- path = interpolate_path("/purchases")
3793
+ path = "/purchases"
3746
3794
  post(path, body, Requests::PurchaseCreate, **options)
3747
3795
  end
3748
3796
 
@@ -3782,7 +3830,7 @@ module Recurly
3782
3830
  # end
3783
3831
  #
3784
3832
  def preview_purchase(body:, **options)
3785
- path = interpolate_path("/purchases/preview")
3833
+ path = "/purchases/preview"
3786
3834
  post(path, body, Requests::PurchaseCreate, **options)
3787
3835
  end
3788
3836
 
@@ -3806,7 +3854,7 @@ module Recurly
3806
3854
  # end
3807
3855
  #
3808
3856
  def get_export_dates(**options)
3809
- path = interpolate_path("/export_dates")
3857
+ path = "/export_dates"
3810
3858
  get(path, **options)
3811
3859
  end
3812
3860
 
@@ -3843,6 +3891,7 @@ module Recurly
3843
3891
  # order. In descending order updated records will move behind the cursor and could
3844
3892
  # prevent some records from being returned.
3845
3893
  #
3894
+ # @param site_id [String] Site ID or subdomain. For ID no prefix is used e.g. +e28zov4fw0v2+. For subdomain use prefix +subdomain-+, e.g. +subdomain-recurly+.
3846
3895
  #
3847
3896
  # @return [Pager<Resources::DunningCampaign>] A list of the the dunning_campaigns on an account.
3848
3897
  #
@@ -21,67 +21,36 @@ module Recurly
21
21
  }
22
22
 
23
23
  class ResponseError < Errors::APIError; end
24
-
25
24
  class ServerError < ResponseError; end
26
-
27
25
  class InternalServerError < ServerError; end
28
-
29
26
  class ServiceNotAvailableError < InternalServerError; end
30
-
31
27
  class TaxServiceError < InternalServerError; end
32
-
33
28
  class BadGatewayError < ServerError; end
34
-
35
29
  class ServiceUnavailableError < ServerError; end
36
-
37
30
  class RedirectionError < ResponseError; end
38
-
39
31
  class NotModifiedError < ResponseError; end
40
-
41
32
  class ClientError < Errors::APIError; end
42
-
43
33
  class BadRequestError < ClientError; end
44
-
45
34
  class InvalidContentTypeError < BadRequestError; end
46
-
47
35
  class UnauthorizedError < ClientError; end
48
-
49
36
  class PaymentRequiredError < ClientError; end
50
-
51
37
  class ForbiddenError < ClientError; end
52
-
53
38
  class InvalidApiKeyError < ForbiddenError; end
54
-
55
39
  class InvalidPermissionsError < ForbiddenError; end
56
-
57
40
  class NotFoundError < ClientError; end
58
-
59
41
  class NotAcceptableError < ClientError; end
60
-
61
42
  class UnknownApiVersionError < NotAcceptableError; end
62
-
63
43
  class UnavailableInApiVersionError < NotAcceptableError; end
64
-
65
44
  class InvalidApiVersionError < NotAcceptableError; end
66
-
67
45
  class PreconditionFailedError < ClientError; end
68
-
69
46
  class UnprocessableEntityError < ClientError; end
70
-
71
47
  class ValidationError < UnprocessableEntityError; end
72
-
73
48
  class MissingFeatureError < UnprocessableEntityError; end
74
-
75
49
  class TransactionError < UnprocessableEntityError; end
76
-
77
50
  class SimultaneousRequestError < UnprocessableEntityError; end
78
-
79
51
  class ImmutableSubscriptionError < UnprocessableEntityError; end
80
-
81
52
  class InvalidTokenError < UnprocessableEntityError; end
82
-
83
53
  class TooManyRequestsError < ClientError; end
84
-
85
54
  class RateLimitedError < TooManyRequestsError; end
86
55
  end
87
56
  end
@@ -71,7 +71,7 @@ module Recurly
71
71
  define_attribute :revenue_schedule_type, String
72
72
 
73
73
  # @!attribute tax_code
74
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`. If `item_code`/`item_id` is part of the request then `tax_code` must be absent.
74
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes. If `item_code`/`item_id` is part of the request then `tax_code` must be absent.
75
75
  define_attribute :tax_code, String
76
76
 
77
77
  # @!attribute tier_type
@@ -59,7 +59,7 @@ module Recurly
59
59
  define_attribute :revenue_schedule_type, String
60
60
 
61
61
  # @!attribute tax_code
62
- # @return [String] Optional field used by Avalara, Vertex, and Recurly's EU VAT tax feature to determine taxation rules. If you have your own AvaTax or Vertex account configured, use their tax codes to assign specific tax rules. If you are using Recurly's EU VAT feature, you can use values of `unknown`, `physical`, or `digital`. If an `Item` is associated to the `AddOn` then `tax code` must be absent.
62
+ # @return [String] Optional field used by Avalara, Vertex, and Recurly's In-the-Box tax solution to determine taxation rules. You can pass in specific tax codes using any of these tax integrations. For Recurly's In-the-Box tax offering you can also choose to instead use simple values of `unknown`, `physical`, or `digital` tax codes. If an `Item` is associated to the `AddOn` then `tax_code` must be absent.
63
63
  define_attribute :tax_code, String
64
64
 
65
65
  # @!attribute tiers
@@ -19,7 +19,7 @@ module Recurly
19
19
  define_attribute :first_name, String
20
20
 
21
21
  # @!attribute geo_code
22
- # @return [String] Code that represents a geographic entity (location or object). Only returned for Sling Vertex Integration
22
+ # @return [String] Code that represents a geographic entity (location or object). Only returned when Vertex or Avalara for Communications is enabled.
23
23
  define_attribute :geo_code, String
24
24
 
25
25
  # @!attribute last_name
@@ -55,7 +55,7 @@ module Recurly
55
55
  define_attribute :gateway_attributes, :GatewayAttributes
56
56
 
57
57
  # @!attribute gateway_code
58
- # @return [String] An identifier for a specific payment gateway. Must be used in conjunction with `gateway_token`.
58
+ # @return [String] An identifier for a specific payment gateway.
59
59
  define_attribute :gateway_code, String
60
60
 
61
61
  # @!attribute gateway_token
@@ -106,6 +106,10 @@ module Recurly
106
106
  # @return [String] Bank identifier code for UK based banks. Required for Bacs based billing infos. (Bacs only)
107
107
  define_attribute :sort_code, String
108
108
 
109
+ # @!attribute store_billing_info
110
+ # @return [Boolean] Whether to store this billing info onto its associated account. Defaults to `true`.
111
+ define_attribute :store_billing_info, :Boolean
112
+
109
113
  # @!attribute tax_identifier
110
114
  # @return [String] Tax identifier is required if adding a billing info that is a consumer card in Brazil. This would be the customer's CPF, CPF is a Brazilian tax identifier for all tax paying residents.
111
115
  define_attribute :tax_identifier, String