recurly 2.18.14 → 2.18.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/recurly.rb +1 -0
- data/lib/recurly/account.rb +19 -0
- data/lib/recurly/add_on.rb +2 -0
- data/lib/recurly/billing_info.rb +13 -1
- data/lib/recurly/coupon.rb +2 -0
- data/lib/recurly/invoice.rb +7 -0
- data/lib/recurly/purchase.rb +4 -0
- data/lib/recurly/subscription.rb +6 -5
- data/lib/recurly/verify.rb +12 -0
- data/lib/recurly/version.rb +1 -1
- metadata +3 -84
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac56d6049b53eb2c114df18605fe133df332a509acf3af2cfccffa5214b8f3e8
|
4
|
+
data.tar.gz: 19b49d89780da52cefe3c957ef0feee12c3cc751e40be0c7caf6280726e1a569
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3cdaecdc4f14781d7a90a446e29e801b794ebd6e2d33d97bdecf6bcc503da995d9d5d90c92d5e5f3e57e87233fb7a9d2c4621fe84182c584512cc7158985bba
|
7
|
+
data.tar.gz: 9bb12a7e753efc7628b8200660a7f1f1748baa0abc4b95caff5c257d6855af5731bfe7c7d0492c55500e0281a71d4a565b3c6450a6309d8e9af8e6afc04bc01b
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Recurly is packaged as a Ruby gem. We recommend you install it with
|
|
14
14
|
[Bundler](http://gembundler.com/) by adding the following line to your Gemfile:
|
15
15
|
|
16
16
|
``` ruby
|
17
|
-
gem 'recurly', '~> 2.18.
|
17
|
+
gem 'recurly', '~> 2.18.19'
|
18
18
|
```
|
19
19
|
|
20
20
|
Recurly will automatically use [Nokogiri](http://nokogiri.org/) (for a nice
|
data/lib/recurly.rb
CHANGED
data/lib/recurly/account.rb
CHANGED
@@ -124,6 +124,25 @@ module Recurly
|
|
124
124
|
raise Invalid, e.message
|
125
125
|
end
|
126
126
|
|
127
|
+
def create_billing_info(billing_info)
|
128
|
+
billing_info = billing_info
|
129
|
+
billing_info.uri = "#{path}/billing_infos"
|
130
|
+
billing_info.save!
|
131
|
+
billing_info
|
132
|
+
end
|
133
|
+
|
134
|
+
def get_billing_infos
|
135
|
+
Pager.new(Recurly::BillingInfo, uri: "#{path}/billing_infos", parent: self)
|
136
|
+
rescue Recurly::API::UnprocessableEntity => e
|
137
|
+
raise Invalid, e.message
|
138
|
+
end
|
139
|
+
|
140
|
+
def get_billing_info(billing_info_uuid)
|
141
|
+
BillingInfo.from_response API.get("#{path}/billing_infos/#{billing_info_uuid}")
|
142
|
+
rescue Recurly::API::UnprocessableEntity => e
|
143
|
+
raise Invalid, e.message
|
144
|
+
end
|
145
|
+
|
127
146
|
# Reopen an account.
|
128
147
|
#
|
129
148
|
# @return [true, false] +true+ when successful, +false+ when unable to
|
data/lib/recurly/add_on.rb
CHANGED
@@ -9,6 +9,7 @@ module Recurly
|
|
9
9
|
add_on_code
|
10
10
|
item_code
|
11
11
|
name
|
12
|
+
item_state
|
12
13
|
accounting_code
|
13
14
|
default_quantity
|
14
15
|
unit_amount_in_cents
|
@@ -23,6 +24,7 @@ module Recurly
|
|
23
24
|
created_at
|
24
25
|
updated_at
|
25
26
|
tier_type
|
27
|
+
external_sku
|
26
28
|
avalara_service_type
|
27
29
|
avalara_transaction_type
|
28
30
|
)
|
data/lib/recurly/billing_info.rb
CHANGED
@@ -8,7 +8,7 @@ module Recurly
|
|
8
8
|
AMAZON_ATTRIBUTES = %w(amazon_billing_agreement_id amazon_region).freeze
|
9
9
|
PAYPAL_ATTRIBUTES = %w(paypal_billing_agreement_id).freeze
|
10
10
|
ROKU_ATTRIBUTES = %w(roku_billing_agreement_id last_four).freeze
|
11
|
-
SEPA_ATTRIBUTES = %w(iban).freeze
|
11
|
+
SEPA_ATTRIBUTES = %w(iban last_two).freeze
|
12
12
|
BACS_ATTRIBUTES = %w(account_number sort_code type).freeze
|
13
13
|
BECS_ATTRIBUTES = %w(account_number bsb_code type).freeze
|
14
14
|
|
@@ -16,6 +16,7 @@ module Recurly
|
|
16
16
|
belongs_to :account
|
17
17
|
|
18
18
|
define_attribute_methods %w(
|
19
|
+
uuid
|
19
20
|
first_name
|
20
21
|
last_name
|
21
22
|
company
|
@@ -42,8 +43,19 @@ module Recurly
|
|
42
43
|
mandate_reference
|
43
44
|
tax_identifier
|
44
45
|
tax_identifier_type
|
46
|
+
primary_payment_method
|
47
|
+
backup_payment_method
|
45
48
|
) | CREDIT_CARD_ATTRIBUTES | BANK_ACCOUNT_ATTRIBUTES | AMAZON_ATTRIBUTES | PAYPAL_ATTRIBUTES | ROKU_ATTRIBUTES | SEPA_ATTRIBUTES | BACS_ATTRIBUTES | BECS_ATTRIBUTES
|
46
49
|
|
50
|
+
# Verify an account's stored billing info
|
51
|
+
#
|
52
|
+
# @param [Hash] gateway_code (optional) is the code for the gateway to use for verification. If unspecified, a gateway will be selected using the normal rules.
|
53
|
+
# @return [Transaction]
|
54
|
+
# @raise [Invalid] Raise if the account's billing info cannot be verified
|
55
|
+
def verify(attrs = {})
|
56
|
+
Transaction.from_response API.post("#{path}/verify", attrs.empty? ? nil : Verify.to_xml(attrs))
|
57
|
+
end
|
58
|
+
|
47
59
|
# @return [String]
|
48
60
|
def inspect
|
49
61
|
attributes = self.class.attribute_names
|
data/lib/recurly/coupon.rb
CHANGED
data/lib/recurly/invoice.rb
CHANGED
@@ -51,6 +51,9 @@ module Recurly
|
|
51
51
|
# @return [Invoice, nil]
|
52
52
|
has_one :original_invoice, class_name: :Invoice, readonly: true
|
53
53
|
|
54
|
+
# @return [BillingInfo, nil]
|
55
|
+
has_one :billing_info, class_name: :BillingInfo, readonly: true
|
56
|
+
|
54
57
|
# Returns the first redemption in the Invoice's redemptions.
|
55
58
|
# This was placed here for backwards compatibility when we went from
|
56
59
|
# having a single redemption per invoice to multiple redemptions per invoice.
|
@@ -111,6 +114,7 @@ module Recurly
|
|
111
114
|
gateway_code
|
112
115
|
surcharge_in_cents
|
113
116
|
tax_details
|
117
|
+
billing_info_uuid
|
114
118
|
)
|
115
119
|
alias to_param invoice_number_with_prefix
|
116
120
|
|
@@ -203,6 +207,9 @@ module Recurly
|
|
203
207
|
self.class.from_response(
|
204
208
|
follow_link :refund, :body => refund_line_items_to_xml(line_items, refund_method, options)
|
205
209
|
)
|
210
|
+
rescue Recurly::API::UnprocessableEntity => e
|
211
|
+
Transaction::Error.validate! e, (self if is_a?(Transaction))
|
212
|
+
raise
|
206
213
|
end
|
207
214
|
|
208
215
|
# Refunds the invoice for a specific amount.
|
data/lib/recurly/purchase.rb
CHANGED
@@ -128,6 +128,9 @@ module Recurly
|
|
128
128
|
# @return [[ShippingFee], nil]
|
129
129
|
has_many :shipping_fees, class_name: :ShippingFee, readonly: false
|
130
130
|
|
131
|
+
# @return [BillingInfo, nil]
|
132
|
+
has_one :billing_info, class_name: :BillingInfo, readonly: true
|
133
|
+
|
131
134
|
define_attribute_methods %w(
|
132
135
|
currency
|
133
136
|
collection_method
|
@@ -140,6 +143,7 @@ module Recurly
|
|
140
143
|
shipping_address_id
|
141
144
|
gateway_code
|
142
145
|
transaction_type
|
146
|
+
billing_info_uuid
|
143
147
|
)
|
144
148
|
|
145
149
|
class << self
|
data/lib/recurly/subscription.rb
CHANGED
@@ -85,6 +85,7 @@ module Recurly
|
|
85
85
|
timeframe
|
86
86
|
started_with_gift
|
87
87
|
converted_at
|
88
|
+
billing_info_uuid
|
88
89
|
no_billing_info_reason
|
89
90
|
imported_trial
|
90
91
|
credit_customer_notes
|
@@ -176,7 +177,7 @@ module Recurly
|
|
176
177
|
|
177
178
|
# Convert free trial to paid subscription when transaction_type is "moto"
|
178
179
|
# which stands for "Mail Order Telephone Order".
|
179
|
-
#
|
180
|
+
#
|
180
181
|
# @return true
|
181
182
|
def convert_trial_moto()
|
182
183
|
builder = XML.new("<subscription/>")
|
@@ -186,8 +187,8 @@ module Recurly
|
|
186
187
|
end
|
187
188
|
|
188
189
|
# Convert free trial to paid subscription. Optionally uses a 3ds token.
|
189
|
-
#
|
190
|
-
# @param three_d_secure_action_result_token_id [String] three_d_secure_action_result_token_id
|
190
|
+
#
|
191
|
+
# @param three_d_secure_action_result_token_id [String] three_d_secure_action_result_token_id
|
191
192
|
# returned by Recurly.js referencing the result of the 3DS authentication for PSD2
|
192
193
|
# @return true when payment is accepted
|
193
194
|
def convert_trial(three_d_secure_action_result_token_id = nil)
|
@@ -198,8 +199,8 @@ module Recurly
|
|
198
199
|
billing_info.add_element('three_d_secure_action_result_token_id', three_d_secure_action_result_token_id)
|
199
200
|
builder.to_s
|
200
201
|
end
|
201
|
-
|
202
|
-
reload API.put("#{uri}/convert_trial", body)
|
202
|
+
|
203
|
+
reload API.put("#{uri}/convert_trial", body)
|
203
204
|
true
|
204
205
|
end
|
205
206
|
|
data/lib/recurly/version.rb
CHANGED
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: 2.18.
|
4
|
+
version: 2.18.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Recurly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -118,88 +118,6 @@ dependencies:
|
|
118
118
|
- - "~>"
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: '0'
|
121
|
-
- !ruby/object:Gem::Dependency
|
122
|
-
name: yard
|
123
|
-
requirement: !ruby/object:Gem::Requirement
|
124
|
-
requirements:
|
125
|
-
- - "~>"
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
version: 0.9.9
|
128
|
-
type: :development
|
129
|
-
prerelease: false
|
130
|
-
version_requirements: !ruby/object:Gem::Requirement
|
131
|
-
requirements:
|
132
|
-
- - "~>"
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: 0.9.9
|
135
|
-
- !ruby/object:Gem::Dependency
|
136
|
-
name: redcarpet
|
137
|
-
requirement: !ruby/object:Gem::Requirement
|
138
|
-
requirements:
|
139
|
-
- - ">="
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: 3.4.0
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '3.4'
|
145
|
-
type: :development
|
146
|
-
prerelease: false
|
147
|
-
version_requirements: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - ">="
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: 3.4.0
|
152
|
-
- - "~>"
|
153
|
-
- !ruby/object:Gem::Version
|
154
|
-
version: '3.4'
|
155
|
-
- !ruby/object:Gem::Dependency
|
156
|
-
name: racc
|
157
|
-
requirement: !ruby/object:Gem::Requirement
|
158
|
-
requirements:
|
159
|
-
- - "~>"
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version: '1'
|
162
|
-
type: :development
|
163
|
-
prerelease: false
|
164
|
-
version_requirements: !ruby/object:Gem::Requirement
|
165
|
-
requirements:
|
166
|
-
- - "~>"
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: '1'
|
169
|
-
- !ruby/object:Gem::Dependency
|
170
|
-
name: pry
|
171
|
-
requirement: !ruby/object:Gem::Requirement
|
172
|
-
requirements:
|
173
|
-
- - ">="
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: 0.9.10
|
176
|
-
- - "<"
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
version: 0.11.0
|
179
|
-
type: :development
|
180
|
-
prerelease: false
|
181
|
-
version_requirements: !ruby/object:Gem::Requirement
|
182
|
-
requirements:
|
183
|
-
- - ">="
|
184
|
-
- !ruby/object:Gem::Version
|
185
|
-
version: 0.9.10
|
186
|
-
- - "<"
|
187
|
-
- !ruby/object:Gem::Version
|
188
|
-
version: 0.11.0
|
189
|
-
- !ruby/object:Gem::Dependency
|
190
|
-
name: pry-nav
|
191
|
-
requirement: !ruby/object:Gem::Requirement
|
192
|
-
requirements:
|
193
|
-
- - "~>"
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version: 0.2.4
|
196
|
-
type: :development
|
197
|
-
prerelease: false
|
198
|
-
version_requirements: !ruby/object:Gem::Requirement
|
199
|
-
requirements:
|
200
|
-
- - "~>"
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
version: 0.2.4
|
203
121
|
description: 'An API client library for Recurly: https://recurly.com'
|
204
122
|
email: support@recurly.com
|
205
123
|
executables: []
|
@@ -253,6 +171,7 @@ files:
|
|
253
171
|
- lib/recurly/transaction.rb
|
254
172
|
- lib/recurly/transaction/errors.rb
|
255
173
|
- lib/recurly/usage.rb
|
174
|
+
- lib/recurly/verify.rb
|
256
175
|
- lib/recurly/version.rb
|
257
176
|
- lib/recurly/webhook.rb
|
258
177
|
- lib/recurly/webhook/account_notification.rb
|