lago-ruby-client 1.49.0 → 1.52.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/lib/lago/api/client.rb +20 -0
- data/lib/lago/api/resources/customers/wallets/whitelist_params.rb +2 -0
- data/lib/lago/api/resources/invoice.rb +2 -1
- data/lib/lago/api/resources/order.rb +39 -0
- data/lib/lago/api/resources/order_form.rb +48 -0
- data/lib/lago/api/resources/quote.rb +28 -0
- data/lib/lago/api/resources/quote_version.rb +49 -0
- data/lib/lago/api/resources/subscription.rb +10 -0
- data/lib/lago/api/resources/wallet_transaction.rb +1 -0
- data/lib/lago/api/resources/webhook_endpoint.rb +7 -6
- data/lib/lago/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 35a54ade93d67abf2e5e752fd906385e8b184d8369f7936e1b24ce4a8cefa81b
|
|
4
|
+
data.tar.gz: 3a0aa3a64da8fbb96ea1391dc409b953c86bf9088b4f9655bede97c09280fb7a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e89eb0daf775f8ee800f5f1f858952b3f871c8988792d2a33e28a2bc7850fe5399e9cf5f55258b00115f294e7bb6df533c5698cd3ea0a4c1582535121cf364af
|
|
7
|
+
data.tar.gz: bf65e78de0646a69b4338c2e3659308e757a2380d546a1946b0bab7d67b873037562c6dcb9720b1a2d2a3c6a2c5ee872e5580f181a0ee970d2b307321cdf655a
|
data/lib/lago/api/client.rb
CHANGED
|
@@ -32,12 +32,16 @@ require 'lago/api/resources/invoice'
|
|
|
32
32
|
require 'lago/api/resources/invoice_collection'
|
|
33
33
|
require 'lago/api/resources/invoiced_usage'
|
|
34
34
|
require 'lago/api/resources/mrr'
|
|
35
|
+
require 'lago/api/resources/order_form'
|
|
36
|
+
require 'lago/api/resources/order'
|
|
35
37
|
require 'lago/api/resources/organization'
|
|
36
38
|
require 'lago/api/resources/overdue_balance'
|
|
37
39
|
require 'lago/api/resources/payment'
|
|
38
40
|
require 'lago/api/resources/payment_receipt'
|
|
39
41
|
require 'lago/api/resources/payment_request'
|
|
40
42
|
require 'lago/api/resources/plan'
|
|
43
|
+
require 'lago/api/resources/quote'
|
|
44
|
+
require 'lago/api/resources/quote_version'
|
|
41
45
|
require 'lago/api/resources/subscription'
|
|
42
46
|
require 'lago/api/resources/tax'
|
|
43
47
|
require 'lago/api/resources/usage'
|
|
@@ -185,6 +189,14 @@ module Lago
|
|
|
185
189
|
Resources::Mrr.new(self)
|
|
186
190
|
end
|
|
187
191
|
|
|
192
|
+
def order_forms
|
|
193
|
+
Resources::OrderForm.new(self)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def orders
|
|
197
|
+
Resources::Order.new(self)
|
|
198
|
+
end
|
|
199
|
+
|
|
188
200
|
def organizations
|
|
189
201
|
Resources::Organization.new(self)
|
|
190
202
|
end
|
|
@@ -209,6 +221,14 @@ module Lago
|
|
|
209
221
|
Resources::Plan.new(self)
|
|
210
222
|
end
|
|
211
223
|
|
|
224
|
+
def quotes
|
|
225
|
+
Resources::Quote.new(self)
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
def quote_versions
|
|
229
|
+
Resources::QuoteVersion.new(self)
|
|
230
|
+
end
|
|
231
|
+
|
|
212
232
|
def subscriptions
|
|
213
233
|
Resources::Subscription.new(self)
|
|
214
234
|
end
|
|
@@ -24,6 +24,7 @@ module Lago
|
|
|
24
24
|
:paid_top_up_min_amount_cents,
|
|
25
25
|
:paid_top_up_max_amount_cents,
|
|
26
26
|
:billing_entity_code,
|
|
27
|
+
:purchase_order_number,
|
|
27
28
|
)
|
|
28
29
|
|
|
29
30
|
recurring_rules = recurring_rules_params(params[:recurring_transaction_rules])
|
|
@@ -72,6 +73,7 @@ module Lago
|
|
|
72
73
|
:transaction_name,
|
|
73
74
|
:ignore_paid_top_up_limits,
|
|
74
75
|
:grants_target_top_up,
|
|
76
|
+
:purchase_order_number,
|
|
75
77
|
)
|
|
76
78
|
|
|
77
79
|
payment_method = payment_method_params(r[:payment_method])
|
|
@@ -126,7 +126,8 @@ module Lago
|
|
|
126
126
|
currency: params[:currency],
|
|
127
127
|
net_payment_term: params[:net_payment_term],
|
|
128
128
|
skip_psp: params[:skip_psp],
|
|
129
|
-
billing_entity_code: params[:billing_entity_code]
|
|
129
|
+
billing_entity_code: params[:billing_entity_code],
|
|
130
|
+
purchase_order_number: params[:purchase_order_number]
|
|
130
131
|
}.compact
|
|
131
132
|
|
|
132
133
|
fees = whitelist_fees(params[:fees])
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'lago/api/resources/base'
|
|
4
|
+
|
|
5
|
+
module Lago
|
|
6
|
+
module Api
|
|
7
|
+
module Resources
|
|
8
|
+
class Order < Base
|
|
9
|
+
undef_method :create, :update, :destroy
|
|
10
|
+
|
|
11
|
+
def api_resource
|
|
12
|
+
'orders'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def root_name
|
|
16
|
+
'order'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def execute(order_id, params = {})
|
|
20
|
+
path = "/api/v1/orders/#{order_id}/execute"
|
|
21
|
+
payload = whitelist_params(params)
|
|
22
|
+
response = connection.post(payload, path)[root_name]
|
|
23
|
+
|
|
24
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def whitelist_params(params)
|
|
28
|
+
result = {
|
|
29
|
+
execution_mode: params[:execution_mode],
|
|
30
|
+
}.compact
|
|
31
|
+
|
|
32
|
+
return {} if result.empty?
|
|
33
|
+
|
|
34
|
+
{ root_name => result }
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'lago/api/resources/base'
|
|
4
|
+
|
|
5
|
+
module Lago
|
|
6
|
+
module Api
|
|
7
|
+
module Resources
|
|
8
|
+
class OrderForm < Base
|
|
9
|
+
undef_method :create, :update, :destroy
|
|
10
|
+
|
|
11
|
+
def api_resource
|
|
12
|
+
'order_forms'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def root_name
|
|
16
|
+
'order_form'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def mark_as_signed(order_form_id, params = {})
|
|
20
|
+
path = "/api/v1/order_forms/#{order_form_id}/mark_as_signed"
|
|
21
|
+
payload = whitelist_params(params)
|
|
22
|
+
response = connection.post(payload, path)[root_name]
|
|
23
|
+
|
|
24
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def void(order_form_id)
|
|
28
|
+
path = "/api/v1/order_forms/#{order_form_id}/void"
|
|
29
|
+
response = connection.post({}, path)[root_name]
|
|
30
|
+
|
|
31
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def whitelist_params(params)
|
|
35
|
+
result = {
|
|
36
|
+
signed_document: params[:signed_document],
|
|
37
|
+
execution_mode: params[:execution_mode],
|
|
38
|
+
execute_at: params[:execute_at],
|
|
39
|
+
}.compact
|
|
40
|
+
|
|
41
|
+
return {} if result.empty?
|
|
42
|
+
|
|
43
|
+
{ root_name => result }
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'lago/api/resources/base'
|
|
4
|
+
|
|
5
|
+
module Lago
|
|
6
|
+
module Api
|
|
7
|
+
module Resources
|
|
8
|
+
class Quote < Base
|
|
9
|
+
undef_method :create, :update, :destroy
|
|
10
|
+
|
|
11
|
+
def api_resource
|
|
12
|
+
'quotes'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def root_name
|
|
16
|
+
'quote'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def versions(quote_id, options = {})
|
|
20
|
+
path = "/api/v1/quotes/#{quote_id}/versions"
|
|
21
|
+
response = connection.get_all(options, path)
|
|
22
|
+
|
|
23
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'lago/api/resources/base'
|
|
4
|
+
|
|
5
|
+
module Lago
|
|
6
|
+
module Api
|
|
7
|
+
module Resources
|
|
8
|
+
class QuoteVersion < Base
|
|
9
|
+
undef_method :create, :update, :destroy, :get_all
|
|
10
|
+
|
|
11
|
+
def api_resource
|
|
12
|
+
'quote_versions'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def root_name
|
|
16
|
+
'quote_version'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def approve(quote_version_id, params = {})
|
|
20
|
+
path = "/api/v1/quote_versions/#{quote_version_id}/approve"
|
|
21
|
+
payload = whitelist_approve_params(params)
|
|
22
|
+
response = connection.post(payload, path)[root_name]
|
|
23
|
+
|
|
24
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def void(quote_version_id)
|
|
28
|
+
path = "/api/v1/quote_versions/#{quote_version_id}/void"
|
|
29
|
+
response = connection.post({}, path)[root_name]
|
|
30
|
+
|
|
31
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def clone(quote_version_id)
|
|
35
|
+
path = "/api/v1/quote_versions/#{quote_version_id}/clone"
|
|
36
|
+
response = connection.post({}, path)[root_name]
|
|
37
|
+
|
|
38
|
+
JSON.parse(response.to_json, object_class: OpenStruct)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def whitelist_approve_params(params)
|
|
42
|
+
{
|
|
43
|
+
expires_at: params[:expires_at],
|
|
44
|
+
}.compact
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -214,6 +214,7 @@ module Lago
|
|
|
214
214
|
plan_overrides: params[:plan_overrides],
|
|
215
215
|
consolidate_invoice: params[:consolidate_invoice],
|
|
216
216
|
billing_entity_code: params[:billing_entity_code],
|
|
217
|
+
purchase_order_number: params[:purchase_order_number],
|
|
217
218
|
}.compact
|
|
218
219
|
|
|
219
220
|
payment_method_params = whitelist_payment_method_params(params[:payment_method])
|
|
@@ -222,6 +223,9 @@ module Lago
|
|
|
222
223
|
invoice_custom_section = whitelist_invoice_custom_section_params(params[:invoice_custom_section])
|
|
223
224
|
result[:invoice_custom_section] = invoice_custom_section if invoice_custom_section
|
|
224
225
|
|
|
226
|
+
activation_rules = whitelist_activation_rules_params(params[:activation_rules])
|
|
227
|
+
result[:activation_rules] = activation_rules if activation_rules
|
|
228
|
+
|
|
225
229
|
{ root_name => result }
|
|
226
230
|
end
|
|
227
231
|
|
|
@@ -288,6 +292,12 @@ module Lago
|
|
|
288
292
|
payment_method_param&.slice(:payment_method_type, :payment_method_id)
|
|
289
293
|
end
|
|
290
294
|
|
|
295
|
+
def whitelist_activation_rules_params(activation_rules_param)
|
|
296
|
+
activation_rules_param&.map do |rule|
|
|
297
|
+
(rule || {}).slice(:type, :timeout_hours)
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
|
|
291
301
|
def whitelist_invoice_custom_section_params(invoice_custom_section_param)
|
|
292
302
|
invoice_custom_section_param&.slice(:skip_invoice_custom_sections, :invoice_custom_section_codes)
|
|
293
303
|
end
|
|
@@ -15,12 +15,13 @@ module Lago
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def whitelist_params(params)
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
result_hash = {}
|
|
19
|
+
result_hash[:webhook_url] = params[:webhook_url] if params.key?(:webhook_url)
|
|
20
|
+
result_hash[:signature_algo] = params[:signature_algo] if params.key?(:signature_algo)
|
|
21
|
+
result_hash[:event_types] = params[:event_types] if params.key?(:event_types)
|
|
22
|
+
result_hash[:name] = params[:name] if params.key?(:name)
|
|
23
|
+
|
|
24
|
+
{ root_name => result_hash }
|
|
24
25
|
end
|
|
25
26
|
end
|
|
26
27
|
end
|
data/lib/lago/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lago-ruby-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.52.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lovro Colic
|
|
@@ -349,12 +349,16 @@ files:
|
|
|
349
349
|
- lib/lago/api/resources/invoiced_usage.rb
|
|
350
350
|
- lib/lago/api/resources/mrr.rb
|
|
351
351
|
- lib/lago/api/resources/nested.rb
|
|
352
|
+
- lib/lago/api/resources/order.rb
|
|
353
|
+
- lib/lago/api/resources/order_form.rb
|
|
352
354
|
- lib/lago/api/resources/organization.rb
|
|
353
355
|
- lib/lago/api/resources/overdue_balance.rb
|
|
354
356
|
- lib/lago/api/resources/payment.rb
|
|
355
357
|
- lib/lago/api/resources/payment_receipt.rb
|
|
356
358
|
- lib/lago/api/resources/payment_request.rb
|
|
357
359
|
- lib/lago/api/resources/plan.rb
|
|
360
|
+
- lib/lago/api/resources/quote.rb
|
|
361
|
+
- lib/lago/api/resources/quote_version.rb
|
|
358
362
|
- lib/lago/api/resources/subscription.rb
|
|
359
363
|
- lib/lago/api/resources/tax.rb
|
|
360
364
|
- lib/lago/api/resources/usage.rb
|
|
@@ -384,7 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
384
388
|
- !ruby/object:Gem::Version
|
|
385
389
|
version: '0'
|
|
386
390
|
requirements: []
|
|
387
|
-
rubygems_version: 4.0.
|
|
391
|
+
rubygems_version: 4.0.16
|
|
388
392
|
specification_version: 4
|
|
389
393
|
summary: Lago Rest API client
|
|
390
394
|
test_files: []
|