Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
3c178fe
modify external subscription
amandamfielding Jul 6, 2023
13d2661
Add starting_on and ending_on to subscription ramp interval
Jul 11, 2023
e946460
Merge pull request #857 from recurly/modify-external-subs
ELepolt Jul 17, 2023
164286b
2.19.7
Jul 17, 2023
2d15812
Merge branch 'v2' into subscription_ramp_intervals
Patrick-Duvall Jul 26, 2023
0b42297
Merge pull request #858 from recurly/subscription_ramp_intervals
csampson Jul 27, 2023
98b6ca6
Fixed usage of Minitest
csampson Jul 27, 2023
b0af509
Merge pull request #862 from recurly/fix-errors-spec
mroman-recurly Jul 27, 2023
02b7c74
2.19.8
Jul 27, 2023
999a67b
add action_result to subscription & trx
fkosouski Aug 2, 2023
c5bf945
add tests for action_result
fkosouski Aug 3, 2023
98a06f0
Merge pull request #863 from recurly/add-action-result-field
douglaslise Aug 8, 2023
54fee68
2.19.9
Aug 10, 2023
50d7daa
add external payment phases
amandamfielding Nov 20, 2023
ffcc881
Merge pull request #868 from recurly/external-payment-phases
ELepolt Dec 6, 2023
f33f29f
2.19.10
Dec 6, 2023
f516a11
Adding support for General Ledger Accounts
faiberrec Jan 18, 2024
b234d74
Merge pull request #875 from recurly/add_general_ledger_accounts
Smolations Jan 25, 2024
3cfba57
add get for pobs
Jan 26, 2024
a7738e6
Merge pull request #879 from recurly/add-pobs
faiberrec Jan 26, 2024
dfc00e2
add get business_entities
Jan 30, 2024
fb3dba7
Merge pull request #880 from recurly/get_business_entities
faiberrec Jan 31, 2024
c056cf3
add plan setup fee revrec
Feb 12, 2024
83fa6df
Merge pull request #881 from recurly/add_plan_setup_fee_revrec
faiberrec Feb 12, 2024
68e9bc2
add revrec to shipping methods
Feb 13, 2024
e76fe7f
Merge pull request #883 from recurly/add_revrec_shipping_methods
tilley-kyle Feb 14, 2024
1d942d4
add revrec to addons and items
Feb 21, 2024
9305c96
Merge pull request #885 from recurly/add_revrec_addons
8eth Feb 22, 2024
bcaa1f3
add revrec to gift cards
Feb 23, 2024
cf497d6
Merge pull request #889 from recurly/add_revrec_gift_cards
faiberrec Feb 23, 2024
d3f5a5f
add revrec to purchases and adjustments
Mar 1, 2024
b3d8546
Merge pull request #891 from recurly/add_revrec_purchases
Smolations Mar 5, 2024
133f2ec
Merge pull request #878 from recurly/add_revrec_features_to_ruby
8eth Mar 13, 2024
f4073d1
2.19.11
Mar 13, 2024
ff0a76a
add card_network_preference field
gilv93 Mar 19, 2024
9da52e9
Merge pull request #896 from recurly/add_card_network_preference
arzitney Mar 19, 2024
0dd5973
2.19.12
Mar 19, 2024
e1a4d68
Add net_terms_type to Invoices, Purchases, and Subscriptions
Apr 1, 2024
3ce3ea6
Merge pull request #897 from recurly/add-net-terms-type-to-ruby
btruncali1 Apr 4, 2024
c536406
2.19.13
Apr 4, 2024
610eb26
Add subscription change proflex options
Patrick-Duvall Apr 25, 2024
c1023cb
Merge pull request #898 from recurly/add_sub_change_proflex
csampson May 7, 2024
f92bbec
2.19.14
May 8, 2024
fb7dd20
GET external_subscription by external_id
paulorbpinho-fullstacklabs Jun 18, 2024
c873318
Merge pull request #907 from recurly/v2_get_external_subscription_by_…
amandamfielding Jul 3, 2024
8e90c4c
add taxable address sources to business entity and adjustment
amandamfielding May 30, 2024
8846aa6
Merge pull request #906 from recurly/add-taxable-address-sources
ELepolt Jul 3, 2024
b67b794
2.20.0
Jul 3, 2024
dafd797
Added support for refunding invoices and line items
Jul 26, 2024
2ee7c93
Merge pull request #909 from recurly/invoice-and-line-items-refunds
amandamfielding Aug 20, 2024
e2bbdd4
2.20.1
Aug 21, 2024
94d95c6
get external sub by uuid
amandamfielding Aug 13, 2024
5bc4e7d
Merge pull request #911 from recurly/get-external-sub-by-uuid
andcoca Aug 27, 2024
c0fb501
2.20.2
Aug 28, 2024
a089815
Add vertex_transaction_type to plans
faiberrec Oct 31, 2024
739f277
Merge pull request #916 from recurly/AddVertexTransactionTypeToPlans
epagerecurly Nov 1, 2024
1f6d0c3
2.20.3
Nov 13, 2024
2767d51
Accept vertex_transaction_type for purchase
sgilrodriguez Nov 27, 2025
9d6b13b
Accept vtt for adjustments and invoice
sgilrodriguez Nov 28, 2025
bb72693
Test proper acceptance of vtt at adjustment level
sgilrodriguez Dec 3, 2025
df15220
Merge pull request #943 from recurly/accept-vertex-transaction-type
sunnyw1212 Dec 3, 2025
0bd376f
2.20.4
Dec 10, 2025
07b80bf
Add tax_service_opt_out attribute to GiftCard model and corresponding…
d14z-tech Dec 9, 2025
6d228e6
Merge pull request #944 from recurly/giftcard_tax_service_opt_out
8eth Dec 10, 2025
d87393c
2.20.5
Dec 17, 2025
1e949df
Merge remote-tracking branch 'upstream/v2' into stagility/update-upst…
grantcox Sep 2, 2026
fe73c0e
Apply the RecurlyV2 rename to the code upstream added
grantcox Sep 2, 2026
6c3c2b3
Stop expecting nil via must_equal in the specs upstream added
grantcox Sep 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 2.19.6
current_version = 2.20.5
parse = (?P<major>\d+)
\.(?P<minor>\d+)
\.(?P<patch>\d+)
Expand Down
170 changes: 167 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,169 @@
# Changelog

## [2.20.5](https://github.com/recurly/recurly-client-ruby/tree/2.20.5) (2025-12-17)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.20.4...2.20.5)


**Merged Pull Requests**

- Add tax_service_opt_out attribute to GiftCard model and corresponding tests [#944](https://github.com/recurly/recurly-client-ruby/pull/944) ([d14z-tech](https://github.com/d14z-tech))



## [2.20.4](https://github.com/recurly/recurly-client-ruby/tree/2.20.4) (2025-12-10)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.20.3...2.20.4)


**Merged Pull Requests**

- Accept vertex_transaction_type fur purchase, adjustments and invoice [#943](https://github.com/recurly/recurly-client-ruby/pull/943) ([sgilrodriguez](https://github.com/sgilrodriguez))



## [2.20.3](https://github.com/recurly/recurly-client-ruby/tree/2.20.3) (2024-11-13)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.20.2...2.20.3)


**Merged Pull Requests**

- Add vertex_transaction_type to plans [#916](https://github.com/recurly/recurly-client-ruby/pull/916) ([faiberrec](https://github.com/faiberrec))



## [2.20.2](https://github.com/recurly/recurly-client-ruby/tree/2.20.2) (2024-08-28)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.20.1...2.20.2)


**Merged Pull Requests**

- Get external sub by uuid [#911](https://github.com/recurly/recurly-client-ruby/pull/911) ([amandamfielding](https://github.com/amandamfielding))



## [2.20.1](https://github.com/recurly/recurly-client-ruby/tree/2.20.1) (2024-08-21)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.20.0...2.20.1)


**Merged Pull Requests**

- Added support for refunding invoices and line items [#909](https://github.com/recurly/recurly-client-ruby/pull/909) ([andcoca](https://github.com/andcoca))



## [2.20.0](https://github.com/recurly/recurly-client-ruby/tree/2.20.0) (2024-07-03)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.14...2.20.0)


**Merged Pull Requests**

- GET external_subscription by external_id [#907](https://github.com/recurly/recurly-client-ruby/pull/907) ([paulorbpinho-fullstacklabs](https://github.com/paulorbpinho-fullstacklabs))
- add taxable address sources to business entity and adjustment [#906](https://github.com/recurly/recurly-client-ruby/pull/906) ([amandamfielding](https://github.com/amandamfielding))



## [2.19.14](https://github.com/recurly/recurly-client-ruby/tree/2.19.14) (2024-05-08)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.13...2.19.14)


**Merged Pull Requests**

- Add subscription change proflex options [#898](https://github.com/recurly/recurly-client-ruby/pull/898) ([Patrick-Duvall](https://github.com/Patrick-Duvall))



## [2.19.13](https://github.com/recurly/recurly-client-ruby/tree/2.19.13) (2024-04-04)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.12...2.19.13)


**Merged Pull Requests**

- Add net_terms_type to Invoices, Purchases, and Subscriptions [#897](https://github.com/recurly/recurly-client-ruby/pull/897) ([flaviomuller](https://github.com/flaviomuller))



## [2.19.12](https://github.com/recurly/recurly-client-ruby/tree/2.19.12) (2024-03-19)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.11...2.19.12)


**Merged Pull Requests**

- Add card_network_preference field to v2 [#896](https://github.com/recurly/recurly-client-ruby/pull/896) ([gilv93](https://github.com/gilv93))



## [2.19.11](https://github.com/recurly/recurly-client-ruby/tree/2.19.11) (2024-03-13)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.10...2.19.11)


**Merged Pull Requests**

- add revrec to purchases and adjustments [#891](https://github.com/recurly/recurly-client-ruby/pull/891) ([wsethbrown](https://github.com/wsethbrown))
- add revrec to gift cards [#889](https://github.com/recurly/recurly-client-ruby/pull/889) ([wsethbrown](https://github.com/wsethbrown))
- add revrec to addons and items [#885](https://github.com/recurly/recurly-client-ruby/pull/885) ([wsethbrown](https://github.com/wsethbrown))
- Add revrec shipping methods [#883](https://github.com/recurly/recurly-client-ruby/pull/883) ([wsethbrown](https://github.com/wsethbrown))
- add plan setup fee revrec [#881](https://github.com/recurly/recurly-client-ruby/pull/881) ([wsethbrown](https://github.com/wsethbrown))
- add get business entity [#880](https://github.com/recurly/recurly-client-ruby/pull/880) ([wsethbrown](https://github.com/wsethbrown))
- Add pobs [#879](https://github.com/recurly/recurly-client-ruby/pull/879) ([wsethbrown](https://github.com/wsethbrown))
- Add RevRec features to ruby [#878](https://github.com/recurly/recurly-client-ruby/pull/878) ([faiberrec](https://github.com/faiberrec))
- Adding support for General Ledger Accounts [#875](https://github.com/recurly/recurly-client-ruby/pull/875) ([faiberrec](https://github.com/faiberrec))



## [2.19.10](https://github.com/recurly/recurly-client-ruby/tree/2.19.10) (2023-12-06)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.9...2.19.10)


**Merged Pull Requests**

- External payment phases [#868](https://github.com/recurly/recurly-client-ruby/pull/868) ([amandamfielding](https://github.com/amandamfielding))



## [2.19.9](https://github.com/recurly/recurly-client-ruby/tree/2.19.9) (2023-08-10)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.8...2.19.9)


**Merged Pull Requests**

- [V2] Add action_result to Subscription and Transaction [#863](https://github.com/recurly/recurly-client-ruby/pull/863) ([fkosouski](https://github.com/fkosouski))



## [2.19.8](https://github.com/recurly/recurly-client-ruby/tree/2.19.8) (2023-07-27)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.7...2.19.8)


**Merged Pull Requests**

- Fixed usage of Minitest [#862](https://github.com/recurly/recurly-client-ruby/pull/862) ([csampson](https://github.com/csampson))
- [V2] Add starting_on and ending_on to subscription ramps [#858](https://github.com/recurly/recurly-client-ruby/pull/858) ([rlew421](https://github.com/rlew421))



## [2.19.7](https://github.com/recurly/recurly-client-ruby/tree/2.19.7) (2023-07-17)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.6...2.19.7)


**Merged Pull Requests**

- modify external subscription [#857](https://github.com/recurly/recurly-client-ruby/pull/857) ([amandamfielding](https://github.com/amandamfielding))



## [2.19.6](https://github.com/recurly/recurly-client-ruby/tree/2.19.6) (2023-06-13)

[Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/2.19.5...2.19.6)
Expand Down Expand Up @@ -989,7 +1153,7 @@
- Fix AddOn quantity accumulator [#278](https://github.com/recurly/recurly-client-ruby/pull/278) ([bhelx](https://github.com/bhelx))
- Add new dunning event notification [#277](https://github.com/recurly/recurly-client-ruby/pull/277) ([bhelx](https://github.com/bhelx))
- Fix failing dependency for ruby 1.9.3 [#276](https://github.com/recurly/recurly-client-ruby/pull/276) ([bhelx](https://github.com/bhelx))
- Correct rails deprecation warning [#275](https://github.com/recurly/recurly-client-ruby/pull/275) ([jdeseno](https://github.com/jdeseno))
- Correct rails deprecation warning [#275](https://github.com/recurly/recurly-client-ruby/pull/275) ([ghost](https://github.com/ghost))
- Fix redeem bang [#271](https://github.com/recurly/recurly-client-ruby/pull/271) ([sdhull](https://github.com/sdhull))
- Cleanup code around message interpolation [#268](https://github.com/recurly/recurly-client-ruby/pull/268) ([bhelx](https://github.com/bhelx))
- removes base from error messages [#267](https://github.com/recurly/recurly-client-ruby/pull/267) ([lmnleaf](https://github.com/lmnleaf))
Expand Down Expand Up @@ -1535,7 +1699,7 @@
- Fix AddOn quantity accumulator [#278](https://github.com/recurly/recurly-client-ruby/pull/278) ([bhelx](https://github.com/bhelx))
- Add new dunning event notification [#277](https://github.com/recurly/recurly-client-ruby/pull/277) ([bhelx](https://github.com/bhelx))
- Fix failing dependency for ruby 1.9.3 [#276](https://github.com/recurly/recurly-client-ruby/pull/276) ([bhelx](https://github.com/bhelx))
- Correct rails deprecation warning [#275](https://github.com/recurly/recurly-client-ruby/pull/275) ([jdeseno](https://github.com/jdeseno))
- Correct rails deprecation warning [#275](https://github.com/recurly/recurly-client-ruby/pull/275) ([ghost](https://github.com/ghost))
- Fix redeem bang [#271](https://github.com/recurly/recurly-client-ruby/pull/271) ([sdhull](https://github.com/sdhull))
- Cleanup code around message interpolation [#268](https://github.com/recurly/recurly-client-ruby/pull/268) ([bhelx](https://github.com/bhelx))
- removes base from error messages [#267](https://github.com/recurly/recurly-client-ruby/pull/267) ([lmnleaf](https://github.com/lmnleaf))
Expand Down Expand Up @@ -2153,7 +2317,7 @@
- Fix AddOn quantity accumulator [#278](https://github.com/recurly/recurly-client-ruby/pull/278) ([bhelx](https://github.com/bhelx))
- Add new dunning event notification [#277](https://github.com/recurly/recurly-client-ruby/pull/277) ([bhelx](https://github.com/bhelx))
- Fix failing dependency for ruby 1.9.3 [#276](https://github.com/recurly/recurly-client-ruby/pull/276) ([bhelx](https://github.com/bhelx))
- Correct rails deprecation warning [#275](https://github.com/recurly/recurly-client-ruby/pull/275) ([jdeseno](https://github.com/jdeseno))
- Correct rails deprecation warning [#275](https://github.com/recurly/recurly-client-ruby/pull/275) ([ghost](https://github.com/ghost))
- Fix redeem bang [#271](https://github.com/recurly/recurly-client-ruby/pull/271) ([sdhull](https://github.com/sdhull))
- Cleanup code around message interpolation [#268](https://github.com/recurly/recurly-client-ruby/pull/268) ([bhelx](https://github.com/bhelx))
- removes base from error messages [#267](https://github.com/recurly/recurly-client-ruby/pull/267) ([lmnleaf](https://github.com/lmnleaf))
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Recurly is packaged as a Ruby gem. We recommend you install it with
[Bundler](http://gembundler.com/) by adding the following line to your Gemfile:

``` ruby
gem 'recurly', '~> 2.19.6'
gem 'recurly', '~> 2.20.5'
```

Recurly will automatically use [Nokogiri](http://nokogiri.org/) (for a nice
Expand Down
3 changes: 3 additions & 0 deletions lib/recurly_v2.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ module RecurlyV2
require 'recurly_v2/external_invoice'
require 'recurly_v2/external_product'
require 'recurly_v2/external_product_reference'
require 'recurly_v2/external_payment_phase'
require 'recurly_v2/external_subscription'
require 'recurly_v2/helper'
require 'recurly_v2/invoice'
Expand Down Expand Up @@ -61,6 +62,8 @@ module RecurlyV2
require 'recurly_v2/currency_percentage_tier'
require 'recurly_v2/sub_add_on_percentage_tier'
require 'recurly_v2/custom_field_definition'
require 'recurly_v2/general_ledger_account'
require 'recurly_v2/performance_obligation'

@subdomain = nil

Expand Down
2 changes: 1 addition & 1 deletion lib/recurly_v2/add_on.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class AddOn < Resource
external_sku
avalara_service_type
avalara_transaction_type
)
) + RevRec::PRODUCT_ATTRIBUTES
alias to_param add_on_code
alias quantity default_quantity

Expand Down
5 changes: 4 additions & 1 deletion lib/recurly_v2/adjustment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ class Adjustment < Resource
tax_type
tax_region
tax_rate
origin_tax_address_source
destination_tax_address_source
tax_exempt
tax_inclusive
tax_code
Expand All @@ -67,8 +69,9 @@ class Adjustment < Resource
surcharge_in_cents
avalara_transaction_type
avalara_service_type
vertex_transaction_type
refundable_total_in_cents
]
] + RevRec::ALL_ATTRIBUTES
alias to_param uuid

# @return ["charge", "credit", nil] The type of adjustment.
Expand Down
1 change: 1 addition & 0 deletions lib/recurly_v2/billing_info.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ class BillingInfo < Resource
backup_payment_method
cc_bin_country
online_banking_payment_type
card_network_preference
) | CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES | AMAZON_ATTRIBUTES | PAYPAL_ATTRIBUTES | ROKU_ATTRIBUTES | SEPA_ATTRIBUTES | BACS_ATTRIBUTES | BECS_ATTRIBUTES | VENMO_ATTRIBUTES

# Verify an account's stored billing info
Expand Down
7 changes: 6 additions & 1 deletion lib/recurly_v2/business_entity.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
module RecurlyV2
class BusinessEntity < Resource
belongs_to :site
belongs_to :default_revenue_gl_account, class_name: 'GeneralLedgerAccount'
belongs_to :default_liability_gl_account, class_name: 'GeneralLedgerAccount'

has_many :invoices

has_many :accounts

define_attribute_methods %w(
Expand All @@ -12,9 +13,13 @@ class BusinessEntity < Resource
name
invoice_display_address
tax_address
origin_tax_address_source
destination_tax_address_source
subscriber_location_countries
default_vat_number
default_registration_number
default_revenue_gl_account_id
default_liability_gl_account_id
created_at
updated_at
)
Expand Down
1 change: 1 addition & 0 deletions lib/recurly_v2/external_invoice.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ class ExternalInvoice < Resource
belongs_to :site
belongs_to :account
belongs_to :external_subscription
belongs_to :external_payment_phase

# @return [[ExternalCharge], nil]
has_many :line_items, class_name: :ExternalCharge
Expand Down
27 changes: 27 additions & 0 deletions lib/recurly_v2/external_payment_phase.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
module RecurlyV2
class ExternalPaymentPhase < Resource

# @return [ExternalSubscription]
belongs_to :external_subscription

define_attribute_methods %w(
id
started_at
ends_at
starting_billing_period_index
ending_billing_period_index
offer_type
offer_name
period_count
period_length
amount
currency
created_at
updated_at
)

# We do not expose POST or PUT via the v2 API
protected(*%w(save save!))
private_class_method(*%w(create! create))
end
end
30 changes: 30 additions & 0 deletions lib/recurly_v2/external_subscription.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ class ExternalSubscription < Resource
# @return [ExternalInvoice]
has_many :external_invoices

# @return [ExternalPaymentPhase]
has_many :external_payment_phases

define_attribute_methods %w(
account
uuid
external_id
external_product_reference
quantity
Expand All @@ -23,10 +27,36 @@ class ExternalSubscription < Resource
auto_renew
app_identifier
state
trial_started_at
trial_ends_at
canceled_at
in_grace_period
imported
test
)

# We do not expose PUT or POST in the v2 API.
protected(*%w(save save!))
private_class_method(*%w(create! create))

def get_external_payment_phases
Pager.new(RecurlyV2::ExternalPaymentPhase, uri: "#{path}/external_payment_phases", parent: self)
rescue RecurlyV2::API::UnprocessableEntity => e
raise Invalid, e.message
end

def get_external_payment_phase(external_payment_phase_uuid)
ExternalPaymentPhase.from_response API.get("#{path}/external_payment_phases/#{external_payment_phase_uuid}")
rescue RecurlyV2::API::UnprocessableEntity => e
raise Invalid, e.message
end

def self.find_by_external_id(external_id)
self.find("external-id-#{external_id}")
end

def self.find_by_uuid(uuid)
self.find("uuid-#{uuid}")
end
end
end
16 changes: 16 additions & 0 deletions lib/recurly_v2/general_ledger_account.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module RecurlyV2
class GeneralLedgerAccount < Resource
belongs_to :site

define_attribute_methods %w(
id
code
description
account_type
)

def self.collection_path
"general_ledger_accounts"
end
end
end
Loading
Loading