recurly 4.28.0 → 4.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16800abba256fceed49ee4141796878faa9b1d10c97752fd18e05ae6f7be3761
4
- data.tar.gz: 8fcb048d891ab4ae3c6a401cdaf343d1889bd53337b976ca0d86616d53ae8706
3
+ metadata.gz: 0a12c336abc5627ae6108c79356cc295fdab9e5417fc932a7bcf41192fc08e1a
4
+ data.tar.gz: 4f2125b55ea52e1afe80feda3c48ad6e3688c879ffa1ccd954180f721a4bf4d2
5
5
  SHA512:
6
- metadata.gz: c108d83003c365f301e93d255078a067ff6ecf440ba1efc3d5e0de61d40be977b5de1f1668d4661c927aeb8d8650d4d49765f6be2c9206d4545fc0315a29becf
7
- data.tar.gz: d1fc3157a45ac11d9e790d2510e7de1496a5549f1dd827b973ea69a056329b8a3b01b725c7b956a3ecbba896c03415316f29b94710408676a404e9ded6e5641a
6
+ metadata.gz: 7e717e56f0f8fd73609e0c500f2dc6162450db20c20760d529e32e5c6c530169e1ff359a13d97c2a06fed6e059cec561a38db9142020b248854d7086108b45da
7
+ data.tar.gz: 8f99005efd5625d1dfaa9fa9e1f56ea8128b85234b14990e8ba95f806fc52f79b1429c7f4d778d2cf94803b2b000354843687d2aa54b9b50ed0d0ee8cd3a4e61
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.28.0
2
+ current_version = 4.29.0
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.29.0](https://github.com/recurly/recurly-client-ruby/tree/4.29.0) (2023-02-07)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.28.0...4.29.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 (GiftCard endpoints and new transaction error support) [#827](https://github.com/recurly/recurly-client-ruby/pull/827) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
3
14
  ## [4.28.0](https://github.com/recurly/recurly-client-ruby/tree/4.28.0) (2023-01-19)
4
15
 
5
16
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.27.0...4.28.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.28'
8
+ gem 'recurly', '~> 4.29'
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.
@@ -4215,5 +4215,75 @@ module Recurly
4215
4215
  path = interpolate_path("/accounts/{account_id}/external_subscriptions", account_id: account_id)
4216
4216
  pager(path, **options)
4217
4217
  end
4218
+
4219
+ # List gift cards
4220
+ #
4221
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_gift_cards list_gift_cards api documentation}
4222
+ #
4223
+ # @param params [Hash] Optional query string parameters:
4224
+ #
4225
+ # @return [Pager<Resources::GiftCard>] List of all created gift cards on your site.
4226
+ #
4227
+ def list_gift_cards(**options)
4228
+ path = "/gift_cards"
4229
+ pager(path, **options)
4230
+ end
4231
+
4232
+ # Create gift card
4233
+ #
4234
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_gift_card create_gift_card api documentation}
4235
+ #
4236
+ # @param body [Requests::GiftCardCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GiftCardCreate}
4237
+ # @param params [Hash] Optional query string parameters:
4238
+ #
4239
+ # @return [Resources::GiftCard] Returns the gift card
4240
+ #
4241
+ def create_gift_card(body:, **options)
4242
+ path = "/gift_cards"
4243
+ post(path, body, Requests::GiftCardCreate, **options)
4244
+ end
4245
+
4246
+ # Fetch a gift card
4247
+ #
4248
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_gift_card get_gift_card api documentation}
4249
+ #
4250
+ # @param gift_card_id [String] Gift Card ID, e.g. +e28zov4fw0v2+.
4251
+ # @param params [Hash] Optional query string parameters:
4252
+ #
4253
+ # @return [Resources::GiftCard] Gift card details
4254
+ #
4255
+ def get_gift_card(gift_card_id:, **options)
4256
+ path = interpolate_path("/gift_cards/{gift_card_id}", gift_card_id: gift_card_id)
4257
+ get(path, **options)
4258
+ end
4259
+
4260
+ # Preview gift card
4261
+ #
4262
+ # {https://developers.recurly.com/api/v2021-02-25#operation/preview_gift_card preview_gift_card api documentation}
4263
+ #
4264
+ # @param body [Requests::GiftCardCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GiftCardCreate}
4265
+ # @param params [Hash] Optional query string parameters:
4266
+ #
4267
+ # @return [Resources::GiftCard] Returns the gift card
4268
+ #
4269
+ def preview_gift_card(body:, **options)
4270
+ path = "/gift_cards/preview"
4271
+ post(path, body, Requests::GiftCardCreate, **options)
4272
+ end
4273
+
4274
+ # Redeem gift card
4275
+ #
4276
+ # {https://developers.recurly.com/api/v2021-02-25#operation/redeem_gift_card redeem_gift_card api documentation}
4277
+ #
4278
+ # @param redemption_code [String] Gift Card redemption code, e.g., +N1A2T8IRXSCMO40V+.
4279
+ # @param body [Requests::GiftCardRedeem] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::GiftCardRedeem}
4280
+ # @param params [Hash] Optional query string parameters:
4281
+ #
4282
+ # @return [Resources::GiftCard] Redeems and returns the gift card
4283
+ #
4284
+ def redeem_gift_card(redemption_code:, body:, **options)
4285
+ path = interpolate_path("/gift_cards/{redemption_code}/redeem", redemption_code: redemption_code)
4286
+ post(path, body, Requests::GiftCardRedeem, **options)
4287
+ end
4218
4288
  end
4219
4289
  end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class AccountReference < Request
8
+
9
+ # @!attribute code
10
+ # @return [String]
11
+ define_attribute :code, String
12
+
13
+ # @!attribute id
14
+ # @return [String]
15
+ define_attribute :id, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,30 @@
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 GiftCardCreate < Request
8
+
9
+ # @!attribute currency
10
+ # @return [String] 3-letter ISO 4217 currency code.
11
+ define_attribute :currency, String
12
+
13
+ # @!attribute delivery
14
+ # @return [GiftCardDeliveryCreate] The delivery details for the gift card.
15
+ define_attribute :delivery, :GiftCardDeliveryCreate
16
+
17
+ # @!attribute gifter_account
18
+ # @return [AccountPurchase] Block of account details for the gifter. This references an existing account_code.
19
+ define_attribute :gifter_account, :AccountPurchase
20
+
21
+ # @!attribute product_code
22
+ # @return [String] The product code or SKU of the gift card product.
23
+ define_attribute :product_code, String
24
+
25
+ # @!attribute unit_amount
26
+ # @return [Float] The amount of the gift card, which is the amount of the charge to the gifter account and the amount of credit that is applied to the recipient account upon successful redemption.
27
+ define_attribute :unit_amount, Float
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,42 @@
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 GiftCardDeliveryCreate < Request
8
+
9
+ # @!attribute deliver_at
10
+ # @return [DateTime] When the gift card should be delivered to the recipient. If null, the gift card will be delivered immediately. If a datetime is provided, the delivery will be in an hourly window, rounding down. For example, 6:23 pm will be in the 6:00 pm hourly batch.
11
+ define_attribute :deliver_at, DateTime
12
+
13
+ # @!attribute email_address
14
+ # @return [String] The email address of the recipient. Required if `method` is `email`.
15
+ define_attribute :email_address, String
16
+
17
+ # @!attribute first_name
18
+ # @return [String] The first name of the recipient.
19
+ define_attribute :first_name, String
20
+
21
+ # @!attribute gifter_name
22
+ # @return [String] The name of the gifter for the purpose of a message displayed to the recipient.
23
+ define_attribute :gifter_name, String
24
+
25
+ # @!attribute last_name
26
+ # @return [String] The last name of the recipient.
27
+ define_attribute :last_name, String
28
+
29
+ # @!attribute method
30
+ # @return [String] Whether the delivery method is email or postal service.
31
+ define_attribute :method, String
32
+
33
+ # @!attribute personal_message
34
+ # @return [String] The personal message from the gifter to the recipient.
35
+ define_attribute :personal_message, String
36
+
37
+ # @!attribute recipient_address
38
+ # @return [Address] Address information for the recipient. Required if `method` is `post`.
39
+ define_attribute :recipient_address, :Address
40
+ end
41
+ end
42
+ end
@@ -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 GiftCardRedeem < Request
8
+
9
+ # @!attribute recipient_account
10
+ # @return [AccountReference] The account for the recipient of the gift card.
11
+ define_attribute :recipient_account, :AccountReference
12
+ end
13
+ end
14
+ end
@@ -46,6 +46,10 @@ module Recurly
46
46
  # @return [String] This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
47
47
  define_attribute :customer_notes, String
48
48
 
49
+ # @!attribute gift_card_redemption_code
50
+ # @return [String] A gift card redemption code to be redeemed on the purchase invoice.
51
+ define_attribute :gift_card_redemption_code, String
52
+
49
53
  # @!attribute net_terms
50
54
  # @return [Integer] Integer representing the number of days after an invoice's creation that the invoice will become past due. If an invoice's net terms are set to '0', it is due 'On Receipt' and will become past due 24 hours after it’s created. If an invoice is due net 30, it will become past due at 31 days exactly.
51
55
  define_attribute :net_terms, Integer
@@ -0,0 +1,78 @@
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 GiftCard < Resource
8
+
9
+ # @!attribute balance
10
+ # @return [Float] The remaining credit on the recipient account associated with this gift card. Only has a value once the gift card has been redeemed. Can be used to create gift card balance displays for your customers.
11
+ define_attribute :balance, Float
12
+
13
+ # @!attribute canceled_at
14
+ # @return [DateTime] When the gift card was canceled.
15
+ define_attribute :canceled_at, DateTime
16
+
17
+ # @!attribute created_at
18
+ # @return [DateTime] Created at
19
+ define_attribute :created_at, DateTime
20
+
21
+ # @!attribute currency
22
+ # @return [String] 3-letter ISO 4217 currency code.
23
+ define_attribute :currency, String
24
+
25
+ # @!attribute delivered_at
26
+ # @return [DateTime] When the gift card was sent to the recipient by Recurly via email, if method was email and the "Gift Card Delivery" email template was enabled. This will be empty for post delivery or email delivery where the email template was disabled.
27
+ define_attribute :delivered_at, DateTime
28
+
29
+ # @!attribute delivery
30
+ # @return [GiftCardDelivery] The delivery details for the gift card.
31
+ define_attribute :delivery, :GiftCardDelivery
32
+
33
+ # @!attribute gifter_account_id
34
+ # @return [String] The ID of the account that purchased the gift card.
35
+ define_attribute :gifter_account_id, String
36
+
37
+ # @!attribute id
38
+ # @return [String] Gift card ID
39
+ define_attribute :id, String
40
+
41
+ # @!attribute object
42
+ # @return [String] Object type
43
+ define_attribute :object, String
44
+
45
+ # @!attribute product_code
46
+ # @return [String] The product code or SKU of the gift card product.
47
+ define_attribute :product_code, String
48
+
49
+ # @!attribute purchase_invoice_id
50
+ # @return [String] The ID of the invoice for the gift card purchase made by the gifter.
51
+ define_attribute :purchase_invoice_id, String
52
+
53
+ # @!attribute recipient_account_id
54
+ # @return [String] The ID of the account that redeemed the gift card redemption code. Does not have a value until gift card is redeemed.
55
+ define_attribute :recipient_account_id, String
56
+
57
+ # @!attribute redeemed_at
58
+ # @return [DateTime] When the gift card was redeemed by the recipient.
59
+ define_attribute :redeemed_at, DateTime
60
+
61
+ # @!attribute redemption_code
62
+ # @return [String] The unique redemption code for the gift card, generated by Recurly. Will be 16 characters, alphanumeric, displayed uppercase, but accepted in any case at redemption. Used by the recipient account to create a credit in the amount of the `unit_amount` on their account.
63
+ define_attribute :redemption_code, String
64
+
65
+ # @!attribute redemption_invoice_id
66
+ # @return [String] The ID of the invoice for the gift card redemption made by the recipient. Does not have a value until gift card is redeemed.
67
+ define_attribute :redemption_invoice_id, String
68
+
69
+ # @!attribute unit_amount
70
+ # @return [Float] The amount of the gift card, which is the amount of the charge to the gifter account and the amount of credit that is applied to the recipient account upon successful redemption.
71
+ define_attribute :unit_amount, Float
72
+
73
+ # @!attribute updated_at
74
+ # @return [DateTime] Last updated at
75
+ define_attribute :updated_at, DateTime
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,42 @@
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 GiftCardDelivery < Resource
8
+
9
+ # @!attribute deliver_at
10
+ # @return [DateTime] When the gift card should be delivered to the recipient. If null, the gift card will be delivered immediately. If a datetime is provided, the delivery will be in an hourly window, rounding down. For example, 6:23 pm will be in the 6:00 pm hourly batch.
11
+ define_attribute :deliver_at, DateTime
12
+
13
+ # @!attribute email_address
14
+ # @return [String] The email address of the recipient.
15
+ define_attribute :email_address, String
16
+
17
+ # @!attribute first_name
18
+ # @return [String] The first name of the recipient.
19
+ define_attribute :first_name, String
20
+
21
+ # @!attribute gifter_name
22
+ # @return [String] The name of the gifter for the purpose of a message displayed to the recipient.
23
+ define_attribute :gifter_name, String
24
+
25
+ # @!attribute last_name
26
+ # @return [String] The last name of the recipient.
27
+ define_attribute :last_name, String
28
+
29
+ # @!attribute method
30
+ # @return [String] Whether the delivery method is email or postal service.
31
+ define_attribute :method, String
32
+
33
+ # @!attribute personal_message
34
+ # @return [String] The personal message from the gifter to the recipient.
35
+ define_attribute :personal_message, String
36
+
37
+ # @!attribute recipient_address
38
+ # @return [Address] Address information for the recipient.
39
+ define_attribute :recipient_address, :Address
40
+ end
41
+ end
42
+ end
@@ -46,6 +46,10 @@ module Recurly
46
46
  # @return [String] Collection method
47
47
  define_attribute :collection_method, String
48
48
 
49
+ # @!attribute converted_at
50
+ # @return [DateTime] When the subscription was converted from a gift card.
51
+ define_attribute :converted_at, DateTime
52
+
49
53
  # @!attribute coupon_redemptions
50
54
  # @return [Array[CouponRedemptionMini]] Returns subscription level coupon redemptions that are tied to this subscription.
51
55
  define_attribute :coupon_redemptions, Array, { :item_type => :CouponRedemptionMini }
@@ -150,6 +154,10 @@ module Recurly
150
154
  # @return [SubscriptionShipping] Subscription shipping details
151
155
  define_attribute :shipping, :SubscriptionShipping
152
156
 
157
+ # @!attribute started_with_gift
158
+ # @return [Boolean] Whether the subscription was started with a gift certificate.
159
+ define_attribute :started_with_gift, :Boolean
160
+
153
161
  # @!attribute state
154
162
  # @return [String] State
155
163
  define_attribute :state, String
@@ -14,6 +14,10 @@ module Recurly
14
14
  # @return [String] Code
15
15
  define_attribute :code, String
16
16
 
17
+ # @!attribute decline_code
18
+ # @return [String] Decline code
19
+ define_attribute :decline_code, String
20
+
17
21
  # @!attribute merchant_advice
18
22
  # @return [String] Merchant message
19
23
  define_attribute :merchant_advice, String
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.28.0"
2
+ VERSION = "4.29.0"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -201,6 +201,7 @@ x-tagGroups:
201
201
  - automated_exports
202
202
  - external_subscriptions
203
203
  - external_products
204
+ - gift_cards
204
205
  - name: Products and Promotions
205
206
  tags:
206
207
  - item
@@ -350,6 +351,10 @@ tags:
350
351
  description: A product from an external resource that is not managed by the Recurly
351
352
  platform and instead is managed by third-party platforms like Apple App Store
352
353
  and Google Play Store.
354
+ - name: gift_cards
355
+ x-displayName: Gift Cards
356
+ description: Add gift card purchases to your checkout and allow gift card recipients
357
+ to redeem the gift card for credit towards any of your products.
353
358
  paths:
354
359
  "/sites":
355
360
  get:
@@ -15402,6 +15407,175 @@ paths:
15402
15407
  schema:
15403
15408
  "$ref": "#/components/schemas/Error"
15404
15409
  x-code-samples: []
15410
+ "/gift_cards":
15411
+ get:
15412
+ tags:
15413
+ - gift_cards
15414
+ operationId: list_gift_cards
15415
+ summary: List gift cards
15416
+ responses:
15417
+ '200':
15418
+ description: List of all created gift cards on your site.
15419
+ content:
15420
+ application/json:
15421
+ schema:
15422
+ "$ref": "#/components/schemas/GiftCardList"
15423
+ '404':
15424
+ description: Incorrect site.
15425
+ content:
15426
+ application/json:
15427
+ schema:
15428
+ "$ref": "#/components/schemas/Error"
15429
+ default:
15430
+ description: Unexpected error.
15431
+ content:
15432
+ application/json:
15433
+ schema:
15434
+ "$ref": "#/components/schemas/Error"
15435
+ x-code-samples: []
15436
+ post:
15437
+ tags:
15438
+ - gift_cards
15439
+ operationId: create_gift_card
15440
+ summary: Create gift card
15441
+ requestBody:
15442
+ content:
15443
+ application/json:
15444
+ schema:
15445
+ "$ref": "#/components/schemas/GiftCardCreate"
15446
+ required: true
15447
+ responses:
15448
+ '201':
15449
+ description: Returns the gift card
15450
+ content:
15451
+ application/json:
15452
+ schema:
15453
+ "$ref": "#/components/schemas/GiftCard"
15454
+ '400':
15455
+ description: Bad request; perhaps missing or invalid parameters.
15456
+ content:
15457
+ application/json:
15458
+ schema:
15459
+ "$ref": "#/components/schemas/Error"
15460
+ '422':
15461
+ description: Gift card cannot be completed for the specified reason.
15462
+ content:
15463
+ application/json:
15464
+ schema:
15465
+ "$ref": "#/components/schemas/Error"
15466
+ default:
15467
+ description: Unexpected error.
15468
+ content:
15469
+ application/json:
15470
+ schema:
15471
+ "$ref": "#/components/schemas/Error"
15472
+ x-code-samples: []
15473
+ "/gift_cards/{gift_card_id}":
15474
+ parameters:
15475
+ - "$ref": "#/components/parameters/gift_card_id"
15476
+ get:
15477
+ tags:
15478
+ - gift_cards
15479
+ operationId: get_gift_card
15480
+ summary: Fetch a gift card
15481
+ responses:
15482
+ '200':
15483
+ description: Gift card details
15484
+ content:
15485
+ application/json:
15486
+ schema:
15487
+ "$ref": "#/components/schemas/GiftCard"
15488
+ '404':
15489
+ description: Incorrect site or gift card ID.
15490
+ content:
15491
+ application/json:
15492
+ schema:
15493
+ "$ref": "#/components/schemas/Error"
15494
+ default:
15495
+ description: Unexpected error.
15496
+ content:
15497
+ application/json:
15498
+ schema:
15499
+ "$ref": "#/components/schemas/Error"
15500
+ x-code-samples: []
15501
+ "/gift_cards/preview":
15502
+ post:
15503
+ tags:
15504
+ - gift_cards
15505
+ operationId: preview_gift_card
15506
+ summary: Preview gift card
15507
+ requestBody:
15508
+ content:
15509
+ application/json:
15510
+ schema:
15511
+ "$ref": "#/components/schemas/GiftCardCreate"
15512
+ required: true
15513
+ responses:
15514
+ '201':
15515
+ description: Returns the gift card
15516
+ content:
15517
+ application/json:
15518
+ schema:
15519
+ "$ref": "#/components/schemas/GiftCard"
15520
+ '400':
15521
+ description: Bad request; perhaps missing or invalid parameters.
15522
+ content:
15523
+ application/json:
15524
+ schema:
15525
+ "$ref": "#/components/schemas/Error"
15526
+ '422':
15527
+ description: Gift card cannot be completed for the specified reason.
15528
+ content:
15529
+ application/json:
15530
+ schema:
15531
+ "$ref": "#/components/schemas/Error"
15532
+ default:
15533
+ description: Unexpected error.
15534
+ content:
15535
+ application/json:
15536
+ schema:
15537
+ "$ref": "#/components/schemas/Error"
15538
+ x-code-samples: []
15539
+ "/gift_cards/{redemption_code}/redeem":
15540
+ parameters:
15541
+ - "$ref": "#/components/parameters/redemption_code"
15542
+ post:
15543
+ tags:
15544
+ - gift_cards
15545
+ operationId: redeem_gift_card
15546
+ summary: Redeem gift card
15547
+ requestBody:
15548
+ content:
15549
+ application/json:
15550
+ schema:
15551
+ "$ref": "#/components/schemas/GiftCardRedeem"
15552
+ required: true
15553
+ responses:
15554
+ '201':
15555
+ description: Redeems and returns the gift card
15556
+ content:
15557
+ application/json:
15558
+ schema:
15559
+ "$ref": "#/components/schemas/GiftCard"
15560
+ '400':
15561
+ description: Bad request; perhaps missing or invalid parameters.
15562
+ content:
15563
+ application/json:
15564
+ schema:
15565
+ "$ref": "#/components/schemas/Error"
15566
+ '422':
15567
+ description: Gift card cannot be redeemed for the specified reason.
15568
+ content:
15569
+ application/json:
15570
+ schema:
15571
+ "$ref": "#/components/schemas/Error"
15572
+ default:
15573
+ description: Unexpected error.
15574
+ content:
15575
+ application/json:
15576
+ schema:
15577
+ "$ref": "#/components/schemas/Error"
15578
+ x-code-samples: []
15405
15579
  servers:
15406
15580
  - url: https://v3.recurly.com
15407
15581
  - url: https://v3.eu.recurly.com
@@ -15576,6 +15750,20 @@ components:
15576
15750
  required: true
15577
15751
  schema:
15578
15752
  type: string
15753
+ gift_card_id:
15754
+ name: gift_card_id
15755
+ in: path
15756
+ description: Gift Card ID, e.g. `e28zov4fw0v2`.
15757
+ required: true
15758
+ schema:
15759
+ type: string
15760
+ redemption_code:
15761
+ name: redemption_code
15762
+ in: path
15763
+ description: Gift Card redemption code, e.g., `N1A2T8IRXSCMO40V`.
15764
+ required: true
15765
+ schema:
15766
+ type: string
15579
15767
  ids:
15580
15768
  name: ids
15581
15769
  in: query
@@ -16257,6 +16445,15 @@ components:
16257
16445
  required:
16258
16446
  - code
16259
16447
  - "$ref": "#/components/schemas/AccountUpdate"
16448
+ AccountReference:
16449
+ type: object
16450
+ properties:
16451
+ id:
16452
+ type: string
16453
+ maxLength: 13
16454
+ code:
16455
+ type: string
16456
+ maxLength: 50
16260
16457
  AccountUpdate:
16261
16458
  type: object
16262
16459
  properties:
@@ -20721,6 +20918,16 @@ components:
20721
20918
  subscription.
20722
20919
  maxLength: 13
20723
20920
  readOnly: true
20921
+ started_with_gift:
20922
+ type: boolean
20923
+ default: false
20924
+ description: Whether the subscription was started with a gift certificate.
20925
+ title: Started with Gift
20926
+ converted_at:
20927
+ type: string
20928
+ format: date-time
20929
+ description: When the subscription was converted from a gift card.
20930
+ title: Converted at
20724
20931
  SubscriptionAddOn:
20725
20932
  type: object
20726
20933
  title: Subscription Add-on
@@ -21433,6 +21640,11 @@ components:
21433
21640
  created by this request. Supports 'moto' value, which is the acronym for
21434
21641
  mail order and telephone transactions.
21435
21642
  "$ref": "#/components/schemas/GatewayTransactionTypeEnum"
21643
+ gift_card_redemption_code:
21644
+ type: string
21645
+ title: Gift card Redemption Code
21646
+ description: A gift card redemption code to be redeemed on the purchase
21647
+ invoice.
21436
21648
  required:
21437
21649
  - plan_code
21438
21650
  - currency
@@ -22850,6 +23062,262 @@ components:
22850
23062
  type: string
22851
23063
  description: Username of the associated payment method. Currently only associated
22852
23064
  with Venmo.
23065
+ GiftCardList:
23066
+ type: object
23067
+ properties:
23068
+ object:
23069
+ type: string
23070
+ title: Object type
23071
+ description: Will always be List.
23072
+ has_more:
23073
+ type: boolean
23074
+ description: Indicates there are more results on subsequent pages.
23075
+ next:
23076
+ type: string
23077
+ description: Path to subsequent page of results.
23078
+ data:
23079
+ type: array
23080
+ items:
23081
+ "$ref": "#/components/schemas/GiftCard"
23082
+ GiftCard:
23083
+ type: object
23084
+ description: Gift card details
23085
+ properties:
23086
+ id:
23087
+ title: Gift card ID
23088
+ type: string
23089
+ maxLength: 13
23090
+ readOnly: true
23091
+ object:
23092
+ title: Object type
23093
+ type: string
23094
+ readOnly: true
23095
+ gifter_account_id:
23096
+ title: Gifter account ID
23097
+ type: string
23098
+ maxLength: 13
23099
+ description: The ID of the account that purchased the gift card.
23100
+ recipient_account_id:
23101
+ title: Recipient account ID
23102
+ type: string
23103
+ maxLength: 13
23104
+ description: The ID of the account that redeemed the gift card redemption
23105
+ code. Does not have a value until gift card is redeemed.
23106
+ purchase_invoice_id:
23107
+ title: Purchase invoice ID
23108
+ type: string
23109
+ maxLength: 13
23110
+ description: The ID of the invoice for the gift card purchase made by the
23111
+ gifter.
23112
+ redemption_invoice_id:
23113
+ title: Redemption invoice ID
23114
+ type: string
23115
+ maxLength: 13
23116
+ description: The ID of the invoice for the gift card redemption made by
23117
+ the recipient. Does not have a value until gift card is redeemed.
23118
+ redemption_code:
23119
+ title: Redemption code
23120
+ type: string
23121
+ description: The unique redemption code for the gift card, generated by
23122
+ Recurly. Will be 16 characters, alphanumeric, displayed uppercase, but
23123
+ accepted in any case at redemption. Used by the recipient account to create
23124
+ a credit in the amount of the `unit_amount` on their account.
23125
+ balance:
23126
+ title: Remaining balance
23127
+ type: number
23128
+ format: float
23129
+ description: The remaining credit on the recipient account associated with
23130
+ this gift card. Only has a value once the gift card has been redeemed.
23131
+ Can be used to create gift card balance displays for your customers.
23132
+ product_code:
23133
+ title: Product code
23134
+ type: string
23135
+ description: The product code or SKU of the gift card product.
23136
+ unit_amount:
23137
+ title: Purchase unit amount
23138
+ type: number
23139
+ format: float
23140
+ description: The amount of the gift card, which is the amount of the charge
23141
+ to the gifter account and the amount of credit that is applied to the
23142
+ recipient account upon successful redemption.
23143
+ currency:
23144
+ title: Currency
23145
+ type: string
23146
+ description: 3-letter ISO 4217 currency code.
23147
+ maxLength: 3
23148
+ delivery:
23149
+ title: Delivery details
23150
+ description: The delivery details for the gift card.
23151
+ readOnly: true
23152
+ "$ref": "#/components/schemas/GiftCardDelivery"
23153
+ created_at:
23154
+ type: string
23155
+ format: date-time
23156
+ title: Created at
23157
+ readOnly: true
23158
+ updated_at:
23159
+ type: string
23160
+ format: date-time
23161
+ title: Last updated at
23162
+ readOnly: true
23163
+ delivered_at:
23164
+ type: string
23165
+ format: date-time
23166
+ title: Delivered at
23167
+ readOnly: true
23168
+ description: When the gift card was sent to the recipient by Recurly via
23169
+ email, if method was email and the "Gift Card Delivery" email template
23170
+ was enabled. This will be empty for post delivery or email delivery where
23171
+ the email template was disabled.
23172
+ redeemed_at:
23173
+ type: string
23174
+ format: date-time
23175
+ title: Redeemed at
23176
+ readOnly: true
23177
+ description: When the gift card was redeemed by the recipient.
23178
+ canceled_at:
23179
+ type: string
23180
+ format: date-time
23181
+ title: Canceled at
23182
+ readOnly: true
23183
+ description: When the gift card was canceled.
23184
+ GiftCardCreate:
23185
+ type: object
23186
+ description: Gift card details
23187
+ properties:
23188
+ product_code:
23189
+ title: Product code
23190
+ type: string
23191
+ description: The product code or SKU of the gift card product.
23192
+ unit_amount:
23193
+ title: Purchase unit amount
23194
+ type: number
23195
+ format: float
23196
+ description: The amount of the gift card, which is the amount of the charge
23197
+ to the gifter account and the amount of credit that is applied to the
23198
+ recipient account upon successful redemption.
23199
+ currency:
23200
+ title: Currency
23201
+ type: string
23202
+ description: 3-letter ISO 4217 currency code.
23203
+ maxLength: 3
23204
+ delivery:
23205
+ title: Delivery details
23206
+ description: The delivery details for the gift card.
23207
+ readOnly: true
23208
+ "$ref": "#/components/schemas/GiftCardDeliveryCreate"
23209
+ gifter_account:
23210
+ title: Gifter account details
23211
+ description: Block of account details for the gifter. This references an
23212
+ existing account_code.
23213
+ readOnly: true
23214
+ "$ref": "#/components/schemas/AccountPurchase"
23215
+ required:
23216
+ - product_code
23217
+ - unit_amount
23218
+ - currency
23219
+ - delivery
23220
+ - gifter_account
23221
+ GiftCardDeliveryCreate:
23222
+ type: object
23223
+ description: Gift card delivery details
23224
+ properties:
23225
+ method:
23226
+ title: Delivery method
23227
+ description: Whether the delivery method is email or postal service.
23228
+ "$ref": "#/components/schemas/DeliveryMethodEnum"
23229
+ email_address:
23230
+ title: Recipient email address
23231
+ type: string
23232
+ description: The email address of the recipient. Required if `method` is
23233
+ `email`.
23234
+ deliver_at:
23235
+ type: string
23236
+ format: date-time
23237
+ title: Deliver at
23238
+ readOnly: true
23239
+ description: When the gift card should be delivered to the recipient. If
23240
+ null, the gift card will be delivered immediately. If a datetime is provided,
23241
+ the delivery will be in an hourly window, rounding down. For example,
23242
+ 6:23 pm will be in the 6:00 pm hourly batch.
23243
+ first_name:
23244
+ title: Recipient first name
23245
+ type: string
23246
+ description: The first name of the recipient.
23247
+ last_name:
23248
+ title: Recipient last name
23249
+ type: string
23250
+ description: The last name of the recipient.
23251
+ recipient_address:
23252
+ title: Recipient address
23253
+ description: Address information for the recipient. Required if `method`
23254
+ is `post`.
23255
+ "$ref": "#/components/schemas/Address"
23256
+ gifter_name:
23257
+ title: Gifter name
23258
+ type: string
23259
+ description: The name of the gifter for the purpose of a message displayed
23260
+ to the recipient.
23261
+ personal_message:
23262
+ title: Personal message
23263
+ type: string
23264
+ maxLength: 255
23265
+ description: The personal message from the gifter to the recipient.
23266
+ required:
23267
+ - method
23268
+ GiftCardDelivery:
23269
+ type: object
23270
+ description: Gift card delivery details
23271
+ properties:
23272
+ method:
23273
+ title: Delivery method
23274
+ description: Whether the delivery method is email or postal service.
23275
+ "$ref": "#/components/schemas/DeliveryMethodEnum"
23276
+ email_address:
23277
+ title: Recipient email address
23278
+ type: string
23279
+ description: The email address of the recipient.
23280
+ deliver_at:
23281
+ type: string
23282
+ format: date-time
23283
+ title: Deliver at
23284
+ readOnly: true
23285
+ description: When the gift card should be delivered to the recipient. If
23286
+ null, the gift card will be delivered immediately. If a datetime is provided,
23287
+ the delivery will be in an hourly window, rounding down. For example,
23288
+ 6:23 pm will be in the 6:00 pm hourly batch.
23289
+ first_name:
23290
+ title: Recipient first name
23291
+ type: string
23292
+ description: The first name of the recipient.
23293
+ last_name:
23294
+ title: Recipient last name
23295
+ type: string
23296
+ description: The last name of the recipient.
23297
+ recipient_address:
23298
+ title: Recipient address
23299
+ description: Address information for the recipient.
23300
+ "$ref": "#/components/schemas/Address"
23301
+ gifter_name:
23302
+ title: Gifter name
23303
+ type: string
23304
+ description: The name of the gifter for the purpose of a message displayed
23305
+ to the recipient.
23306
+ personal_message:
23307
+ title: Personal message
23308
+ type: string
23309
+ maxLength: 255
23310
+ description: The personal message from the gifter to the recipient.
23311
+ GiftCardRedeem:
23312
+ type: object
23313
+ description: The information necessary to redeem a gift card.
23314
+ properties:
23315
+ recipient_account:
23316
+ title: Recipient account
23317
+ description: The account for the recipient of the gift card.
23318
+ "$ref": "#/components/schemas/AccountReference"
23319
+ required:
23320
+ - recipient_account
22853
23321
  Error:
22854
23322
  type: object
22855
23323
  properties:
@@ -22891,6 +23359,9 @@ components:
22891
23359
  code:
22892
23360
  title: Code
22893
23361
  "$ref": "#/components/schemas/ErrorCodeEnum"
23362
+ decline_code:
23363
+ title: Decline code
23364
+ "$ref": "#/components/schemas/DeclineCodeEnum"
22894
23365
  message:
22895
23366
  type: string
22896
23367
  title: Customer message
@@ -23062,6 +23533,11 @@ components:
23062
23533
  enum:
23063
23534
  - parent
23064
23535
  - self
23536
+ DeliveryMethodEnum:
23537
+ type: string
23538
+ enum:
23539
+ - email
23540
+ - post
23065
23541
  GatewayTransactionTypeEnum:
23066
23542
  type: string
23067
23543
  enum:
@@ -23699,6 +24175,38 @@ components:
23699
24175
  - unmapped_partner_error
23700
24176
  - vaultly_service_unavailable
23701
24177
  - zero_dollar_auth_not_supported
24178
+ DeclineCodeEnum:
24179
+ type: string
24180
+ enum:
24181
+ - account_closed
24182
+ - call_issuer
24183
+ - card_not_activated
24184
+ - card_not_supported
24185
+ - cardholder_requested_stop
24186
+ - do_not_honor
24187
+ - do_not_try_again
24188
+ - exceeds_daily_limit
24189
+ - generic_decline
24190
+ - expired_card
24191
+ - fraudulent
24192
+ - insufficient_funds
24193
+ - incorrect_address
24194
+ - incorrect_security_code
24195
+ - invalid_amount
24196
+ - invalid_number
24197
+ - invalid_transaction
24198
+ - issuer_unavailable
24199
+ - lifecycle_decline
24200
+ - lost_card
24201
+ - pickup_card
24202
+ - policy_decline
24203
+ - restricted_card
24204
+ - restricted_card_chargeback
24205
+ - security_decline
24206
+ - stolen_card
24207
+ - try_again
24208
+ - update_cardholder_data
24209
+ - requires_3d_secure
23702
24210
  ExportDates:
23703
24211
  type: object
23704
24212
  properties:
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.28.0
4
+ version: 4.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-19 00:00:00.000000000 Z
11
+ date: 2023-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,6 +150,7 @@ files:
150
150
  - lib/recurly/requests/account_acquisition_update.rb
151
151
  - lib/recurly/requests/account_create.rb
152
152
  - lib/recurly/requests/account_purchase.rb
153
+ - lib/recurly/requests/account_reference.rb
153
154
  - lib/recurly/requests/account_update.rb
154
155
  - lib/recurly/requests/add_on_create.rb
155
156
  - lib/recurly/requests/add_on_pricing.rb
@@ -167,6 +168,9 @@ files:
167
168
  - lib/recurly/requests/dunning_campaigns_bulk_update.rb
168
169
  - lib/recurly/requests/external_refund.rb
169
170
  - lib/recurly/requests/external_transaction.rb
171
+ - lib/recurly/requests/gift_card_create.rb
172
+ - lib/recurly/requests/gift_card_delivery_create.rb
173
+ - lib/recurly/requests/gift_card_redeem.rb
170
174
  - lib/recurly/requests/invoice_address.rb
171
175
  - lib/recurly/requests/invoice_collect.rb
172
176
  - lib/recurly/requests/invoice_create.rb
@@ -257,6 +261,8 @@ files:
257
261
  - lib/recurly/resources/external_resource_mini.rb
258
262
  - lib/recurly/resources/external_subscription.rb
259
263
  - lib/recurly/resources/fraud_info.rb
264
+ - lib/recurly/resources/gift_card.rb
265
+ - lib/recurly/resources/gift_card_delivery.rb
260
266
  - lib/recurly/resources/granted_by.rb
261
267
  - lib/recurly/resources/invoice.rb
262
268
  - lib/recurly/resources/invoice_address.rb
@@ -326,7 +332,7 @@ metadata:
326
332
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
327
333
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
328
334
  homepage_uri: https://github.com/recurly/recurly-client-ruby
329
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.28.0
335
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.29.0
330
336
  post_install_message:
331
337
  rdoc_options: []
332
338
  require_paths: