recurly 4.74.0 → 4.75.0
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.
- checksums.yaml +4 -4
- data/.bumpversion.cfg +1 -1
- data/CHANGELOG.md +12 -0
- data/GETTING_STARTED.md +1 -1
- data/lib/recurly/client/operations.rb +29 -0
- data/lib/recurly/requests/coupon_bulk_create_sync.rb +14 -0
- data/lib/recurly/resources/unique_coupon_code_generation_response.rb +18 -0
- data/lib/recurly/version.rb +1 -1
- data/openapi/api.yaml +141 -0
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 620411c58288a2895fc1edffdf688f3f0b6ecfd4aabc648c867b45f76d9cb7ba
|
|
4
|
+
data.tar.gz: a68e9d658aeda3673feaea79a5d3dfdd03b0c38092bb4d424fd1bab1b8a571a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6d21ea0b716136ad05ecd1400f5744a5de7dc866b64fca446b3b3725973a5e8dadfe0d0a2f801e0f7928486823351ea6222cf4356c693c778ec38a3df4fa5f7d
|
|
7
|
+
data.tar.gz: ef3216cb66e8af64e95d37bd6611cb27a6f45173308fb8e9fe1796947ff465180e32b805bc86ee212e9cb5432b9b070bd48157d1623fd95170e7a67d305a1305
|
data/.bumpversion.cfg
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.75.0](https://github.com/recurly/recurly-client-ruby/tree/4.75.0) (2026-04-15)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.74.0...4.75.0)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
**Merged Pull Requests**
|
|
9
|
+
|
|
10
|
+
- Generated Latest Changes for v2021-02-25 [#954](https://github.com/recurly/recurly-client-ruby/pull/954) ([recurly-integrations](https://github.com/recurly-integrations))
|
|
11
|
+
- Generated Latest Changes for v2021-02-25 [#951](https://github.com/recurly/recurly-client-ruby/pull/951) ([recurly-integrations](https://github.com/recurly-integrations))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
3
15
|
## [4.74.0](https://github.com/recurly/recurly-client-ruby/tree/4.74.0) (2026-02-06)
|
|
4
16
|
|
|
5
17
|
[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.73.0...4.74.0)
|
data/GETTING_STARTED.md
CHANGED
|
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
|
|
|
5
5
|
In your Gemfile, add `recurly` as a dependency.
|
|
6
6
|
|
|
7
7
|
```ruby
|
|
8
|
-
gem 'recurly', '~> 4.
|
|
8
|
+
gem 'recurly', '~> 4.75'
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
> *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
|
|
@@ -248,6 +248,20 @@ module Recurly
|
|
|
248
248
|
delete(path, **options)
|
|
249
249
|
end
|
|
250
250
|
|
|
251
|
+
# Redact an account (GDPR Right to Erasure)
|
|
252
|
+
#
|
|
253
|
+
# {https://developers.recurly.com/api/v2021-02-25#operation/redact_account redact_account api documentation}
|
|
254
|
+
#
|
|
255
|
+
# @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+.
|
|
256
|
+
# @param params [Hash] Optional query string parameters:
|
|
257
|
+
#
|
|
258
|
+
# @return [Resources::Account] Account has been accepted for redaction and will be processed asynchronously.
|
|
259
|
+
#
|
|
260
|
+
def redact_account(account_id:, **options)
|
|
261
|
+
path = interpolate_path("/accounts/{account_id}/redact", account_id: account_id)
|
|
262
|
+
put(path, **options)
|
|
263
|
+
end
|
|
264
|
+
|
|
251
265
|
# Fetch an account's acquisition data
|
|
252
266
|
#
|
|
253
267
|
# {https://developers.recurly.com/api/v2021-02-25#operation/get_account_acquisition get_account_acquisition api documentation}
|
|
@@ -1745,6 +1759,21 @@ module Recurly
|
|
|
1745
1759
|
post(path, body, Requests::CouponBulkCreate, **options)
|
|
1746
1760
|
end
|
|
1747
1761
|
|
|
1762
|
+
# Generate unique coupon codes synchronously
|
|
1763
|
+
#
|
|
1764
|
+
# {https://developers.recurly.com/api/v2021-02-25#operation/generate_unique_coupon_codes_sync generate_unique_coupon_codes_sync api documentation}
|
|
1765
|
+
#
|
|
1766
|
+
# @param coupon_id [String] Coupon ID or code. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-10off+.
|
|
1767
|
+
# @param body [Requests::CouponBulkCreateSync] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::CouponBulkCreateSync}
|
|
1768
|
+
# @param params [Hash] Optional query string parameters:
|
|
1769
|
+
#
|
|
1770
|
+
# @return [Resources::UniqueCouponCodeGenerationResponse] The newly generated unique coupon codes.
|
|
1771
|
+
#
|
|
1772
|
+
def generate_unique_coupon_codes_sync(coupon_id:, body:, **options)
|
|
1773
|
+
path = interpolate_path("/coupons/{coupon_id}/generate_sync", coupon_id: coupon_id)
|
|
1774
|
+
post(path, body, Requests::CouponBulkCreateSync, **options)
|
|
1775
|
+
end
|
|
1776
|
+
|
|
1748
1777
|
# Restore an inactive coupon
|
|
1749
1778
|
#
|
|
1750
1779
|
# {https://developers.recurly.com/api/v2021-02-25#operation/restore_coupon restore_coupon api documentation}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
|
4
|
+
# need and we will usher them to the appropriate places.
|
|
5
|
+
module Recurly
|
|
6
|
+
module Requests
|
|
7
|
+
class CouponBulkCreateSync < Request
|
|
8
|
+
|
|
9
|
+
# @!attribute number_of_unique_codes
|
|
10
|
+
# @return [Integer] The quantity of unique coupon codes to generate. A bulk coupon can have up to 100,000 unique codes (or your site's configured limit).
|
|
11
|
+
define_attribute :number_of_unique_codes, Integer
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# This file is automatically created by Recurly's OpenAPI generation process
|
|
2
|
+
# and thus any edits you make by hand will be lost. If you wish to make a
|
|
3
|
+
# change to this file, please create a Github issue explaining the changes you
|
|
4
|
+
# need and we will usher them to the appropriate places.
|
|
5
|
+
module Recurly
|
|
6
|
+
module Resources
|
|
7
|
+
class UniqueCouponCodeGenerationResponse < Resource
|
|
8
|
+
|
|
9
|
+
# @!attribute object
|
|
10
|
+
# @return [String] Object type
|
|
11
|
+
define_attribute :object, String
|
|
12
|
+
|
|
13
|
+
# @!attribute unique_coupon_codes
|
|
14
|
+
# @return [Array[UniqueCouponCode]] An array containing the newly generated unique coupon codes.
|
|
15
|
+
define_attribute :unique_coupon_codes, Array, { :item_type => :UniqueCouponCode }
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
data/lib/recurly/version.rb
CHANGED
data/openapi/api.yaml
CHANGED
|
@@ -1404,6 +1404,45 @@ paths:
|
|
|
1404
1404
|
not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
|
|
1405
1405
|
Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Deactivated
|
|
1406
1406
|
Account: %s\", account.Id)"
|
|
1407
|
+
"/accounts/{account_id}/redact":
|
|
1408
|
+
parameters:
|
|
1409
|
+
- "$ref": "#/components/parameters/account_id"
|
|
1410
|
+
put:
|
|
1411
|
+
tags:
|
|
1412
|
+
- account
|
|
1413
|
+
operationId: redact_account
|
|
1414
|
+
summary: Redact an account (GDPR Right to Erasure)
|
|
1415
|
+
description: Permanently and irreversibly removes all personally identifiable
|
|
1416
|
+
information (PII) from an account to fulfill a data subject's right to erasure
|
|
1417
|
+
under GDPR and similar privacy regulations (e.g. CCPA). This includes billing
|
|
1418
|
+
information, shipping addresses, and transaction details such as names, email
|
|
1419
|
+
addresses, and payment card data. The underlying account and transaction records
|
|
1420
|
+
are retained for financial and audit purposes, but all personal data fields
|
|
1421
|
+
are cleared. The account must have no active subscriptions, uninvoiced charges,
|
|
1422
|
+
or partially paid invoices before it can be redacted. Redaction is processed
|
|
1423
|
+
asynchronously and cannot be undone.
|
|
1424
|
+
responses:
|
|
1425
|
+
'200':
|
|
1426
|
+
description: Account has been accepted for redaction and will be processed
|
|
1427
|
+
asynchronously.
|
|
1428
|
+
content:
|
|
1429
|
+
application/json:
|
|
1430
|
+
schema:
|
|
1431
|
+
"$ref": "#/components/schemas/Account"
|
|
1432
|
+
'422':
|
|
1433
|
+
description: Account cannot be redacted. Common reasons include active subscriptions,
|
|
1434
|
+
uninvoiced charges, or partially paid invoices.
|
|
1435
|
+
content:
|
|
1436
|
+
application/json:
|
|
1437
|
+
schema:
|
|
1438
|
+
"$ref": "#/components/schemas/Error"
|
|
1439
|
+
default:
|
|
1440
|
+
description: Unexpected error.
|
|
1441
|
+
content:
|
|
1442
|
+
application/json:
|
|
1443
|
+
schema:
|
|
1444
|
+
"$ref": "#/components/schemas/Error"
|
|
1445
|
+
x-code-samples: []
|
|
1407
1446
|
"/accounts/{account_id}/acquisition":
|
|
1408
1447
|
parameters:
|
|
1409
1448
|
- "$ref": "#/components/parameters/account_id"
|
|
@@ -6505,6 +6544,55 @@ paths:
|
|
|
6505
6544
|
schema:
|
|
6506
6545
|
"$ref": "#/components/schemas/Error"
|
|
6507
6546
|
x-code-samples: []
|
|
6547
|
+
"/coupons/{coupon_id}/generate_sync":
|
|
6548
|
+
post:
|
|
6549
|
+
tags:
|
|
6550
|
+
- unique_coupon_code
|
|
6551
|
+
operationId: generate_unique_coupon_codes_sync
|
|
6552
|
+
summary: Generate unique coupon codes synchronously
|
|
6553
|
+
description: Generates up to 200 unique coupon codes for a bulk coupon and returns
|
|
6554
|
+
them directly in the response. For larger batches, use the asynchronous generate
|
|
6555
|
+
endpoint instead.
|
|
6556
|
+
parameters:
|
|
6557
|
+
- "$ref": "#/components/parameters/coupon_id"
|
|
6558
|
+
requestBody:
|
|
6559
|
+
content:
|
|
6560
|
+
application/json:
|
|
6561
|
+
schema:
|
|
6562
|
+
"$ref": "#/components/schemas/CouponBulkCreateSync"
|
|
6563
|
+
required: true
|
|
6564
|
+
responses:
|
|
6565
|
+
'200':
|
|
6566
|
+
description: The newly generated unique coupon codes.
|
|
6567
|
+
content:
|
|
6568
|
+
application/json:
|
|
6569
|
+
schema:
|
|
6570
|
+
"$ref": "#/components/schemas/UniqueCouponCodeGenerationResponse"
|
|
6571
|
+
'400':
|
|
6572
|
+
description: Invalid or unpermitted parameter.
|
|
6573
|
+
content:
|
|
6574
|
+
application/json:
|
|
6575
|
+
schema:
|
|
6576
|
+
"$ref": "#/components/schemas/Error"
|
|
6577
|
+
'404':
|
|
6578
|
+
description: Incorrect site or coupon ID.
|
|
6579
|
+
content:
|
|
6580
|
+
application/json:
|
|
6581
|
+
schema:
|
|
6582
|
+
"$ref": "#/components/schemas/Error"
|
|
6583
|
+
'422':
|
|
6584
|
+
description: Unprocessable entity.
|
|
6585
|
+
content:
|
|
6586
|
+
application/json:
|
|
6587
|
+
schema:
|
|
6588
|
+
"$ref": "#/components/schemas/Error"
|
|
6589
|
+
default:
|
|
6590
|
+
description: Unexpected error.
|
|
6591
|
+
content:
|
|
6592
|
+
application/json:
|
|
6593
|
+
schema:
|
|
6594
|
+
"$ref": "#/components/schemas/Error"
|
|
6595
|
+
x-code-samples: []
|
|
6508
6596
|
"/coupons/{coupon_id}/restore":
|
|
6509
6597
|
put:
|
|
6510
6598
|
tags:
|
|
@@ -19841,6 +19929,18 @@ components:
|
|
|
19841
19929
|
description: The quantity of unique coupon codes to generate. A bulk coupon
|
|
19842
19930
|
can have up to 100,000 unique codes (or your site's configured limit).
|
|
19843
19931
|
minimum: 1
|
|
19932
|
+
CouponBulkCreateSync:
|
|
19933
|
+
type: object
|
|
19934
|
+
properties:
|
|
19935
|
+
number_of_unique_codes:
|
|
19936
|
+
type: integer
|
|
19937
|
+
title: Number of unique codes
|
|
19938
|
+
description: The quantity of unique coupon codes to generate. A bulk coupon
|
|
19939
|
+
can have up to 100,000 unique codes (or your site's configured limit).
|
|
19940
|
+
minimum: 1
|
|
19941
|
+
maximum: 200
|
|
19942
|
+
required:
|
|
19943
|
+
- number_of_unique_codes
|
|
19844
19944
|
CouponMini:
|
|
19845
19945
|
type: object
|
|
19846
19946
|
properties:
|
|
@@ -25243,6 +25343,28 @@ components:
|
|
|
25243
25343
|
"$ref": "#/components/schemas/Transaction/properties/initiator"
|
|
25244
25344
|
merchant_reason_code:
|
|
25245
25345
|
"$ref": "#/components/schemas/Transaction/properties/merchant_reason_code"
|
|
25346
|
+
skip_gateway_fraud:
|
|
25347
|
+
type: boolean
|
|
25348
|
+
title: Skip Gateway Fraud
|
|
25349
|
+
description: When set to `true`, instructs the payment gateway to
|
|
25350
|
+
skip fraud checks for this transaction. This is useful for recurring
|
|
25351
|
+
transactions where fraud checks have already been performed on the
|
|
25352
|
+
initial transaction. Note that not all gateways support this feature.
|
|
25353
|
+
For Stripe, this skips Radar fraud rules; for Adyen, this skips
|
|
25354
|
+
skip_recurly_fraud:
|
|
25355
|
+
type: boolean
|
|
25356
|
+
title: Skip Recurly Fraud
|
|
25357
|
+
description: When set to `true`, skips Recurly's fraud detection checks
|
|
25358
|
+
for this transaction, including Kount and IP-based fraud screening.
|
|
25359
|
+
Does not affect gateway-level fraud checks. Use `skip_all_fraud`
|
|
25360
|
+
to skip all fraud checks.
|
|
25361
|
+
skip_all_fraud:
|
|
25362
|
+
type: boolean
|
|
25363
|
+
title: Skip All Fraud
|
|
25364
|
+
description: When set to `true`, skips all fraud checks for this transaction,
|
|
25365
|
+
including both gateway-level fraud checks and Recurly's fraud detection
|
|
25366
|
+
services. This is useful for trusted transactions where fraud screening
|
|
25367
|
+
is not required.
|
|
25246
25368
|
customer_notes:
|
|
25247
25369
|
type: string
|
|
25248
25370
|
title: Customer notes
|
|
@@ -25830,6 +25952,20 @@ components:
|
|
|
25830
25952
|
type: string
|
|
25831
25953
|
format: date-time
|
|
25832
25954
|
description: When the external product was updated in Recurly.
|
|
25955
|
+
UniqueCouponCodeGenerationResponse:
|
|
25956
|
+
type: object
|
|
25957
|
+
properties:
|
|
25958
|
+
object:
|
|
25959
|
+
type: string
|
|
25960
|
+
title: Object type
|
|
25961
|
+
readOnly: true
|
|
25962
|
+
unique_coupon_codes:
|
|
25963
|
+
type: array
|
|
25964
|
+
title: Unique coupon codes
|
|
25965
|
+
description: An array containing the newly generated unique coupon codes.
|
|
25966
|
+
maxItems: 200
|
|
25967
|
+
items:
|
|
25968
|
+
"$ref": "#/components/schemas/UniqueCouponCode"
|
|
25833
25969
|
ExternalSubscription:
|
|
25834
25970
|
type: object
|
|
25835
25971
|
description: Subscription from an external resource such as Apple App Store
|
|
@@ -27241,9 +27377,13 @@ components:
|
|
|
27241
27377
|
default: all
|
|
27242
27378
|
enum:
|
|
27243
27379
|
- pending
|
|
27380
|
+
- processing
|
|
27244
27381
|
- past_due
|
|
27245
27382
|
- paid
|
|
27246
27383
|
- failed
|
|
27384
|
+
- open
|
|
27385
|
+
- closed
|
|
27386
|
+
- voided
|
|
27247
27387
|
CollectionMethodEnum:
|
|
27248
27388
|
type: string
|
|
27249
27389
|
enum:
|
|
@@ -27551,6 +27691,7 @@ components:
|
|
|
27551
27691
|
- pix_automatico
|
|
27552
27692
|
- mercadopago
|
|
27553
27693
|
- klarna
|
|
27694
|
+
- braintree_google_pay
|
|
27554
27695
|
CardTypeEnum:
|
|
27555
27696
|
type: string
|
|
27556
27697
|
enum:
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: recurly
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.75.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Recurly
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-04-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|
|
@@ -178,6 +178,7 @@ files:
|
|
|
178
178
|
- lib/recurly/requests/billing_info_verify.rb
|
|
179
179
|
- lib/recurly/requests/billing_info_verify_cvv.rb
|
|
180
180
|
- lib/recurly/requests/coupon_bulk_create.rb
|
|
181
|
+
- lib/recurly/requests/coupon_bulk_create_sync.rb
|
|
181
182
|
- lib/recurly/requests/coupon_create.rb
|
|
182
183
|
- lib/recurly/requests/coupon_pricing.rb
|
|
183
184
|
- lib/recurly/requests/coupon_redemption_create.rb
|
|
@@ -360,6 +361,7 @@ files:
|
|
|
360
361
|
- lib/recurly/resources/transaction_next_action.rb
|
|
361
362
|
- lib/recurly/resources/transaction_payment_gateway.rb
|
|
362
363
|
- lib/recurly/resources/unique_coupon_code.rb
|
|
364
|
+
- lib/recurly/resources/unique_coupon_code_generation_response.rb
|
|
363
365
|
- lib/recurly/resources/unique_coupon_code_params.rb
|
|
364
366
|
- lib/recurly/resources/usage.rb
|
|
365
367
|
- lib/recurly/resources/user.rb
|
|
@@ -388,7 +390,7 @@ metadata:
|
|
|
388
390
|
changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
|
|
389
391
|
documentation_uri: https://recurly.github.io/recurly-client-ruby/
|
|
390
392
|
homepage_uri: https://github.com/recurly/recurly-client-ruby
|
|
391
|
-
source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.
|
|
393
|
+
source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.75.0
|
|
392
394
|
post_install_message:
|
|
393
395
|
rdoc_options: []
|
|
394
396
|
require_paths:
|