metronome-sdk 1.0.0 → 2.0.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/CHANGELOG.md +55 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/errors.rb +25 -11
- data/lib/metronome_sdk/file_part.rb +10 -7
- data/lib/metronome_sdk/internal/body_cursor_page.rb +1 -1
- data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
- data/lib/metronome_sdk/internal/cursor_page_without_limit.rb +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +11 -7
- data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +7 -10
- data/lib/metronome_sdk/internal/type/base_page.rb +1 -1
- data/lib/metronome_sdk/internal/type/enum.rb +25 -0
- data/lib/metronome_sdk/internal/type/file_input.rb +7 -4
- data/lib/metronome_sdk/internal/util.rb +8 -7
- data/lib/metronome_sdk/models/contract_v2.rb +256 -6
- data/lib/metronome_sdk/models/contract_without_amendments.rb +2 -2
- data/lib/metronome_sdk/models/hierarchy_configuration.rb +99 -2
- data/lib/metronome_sdk/models/payment_gate_config.rb +1 -0
- data/lib/metronome_sdk/models/payment_gate_config_v2.rb +1 -0
- data/lib/metronome_sdk/models/subscription.rb +85 -1
- data/lib/metronome_sdk/models/v1/alert_archive_params.rb +8 -4
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +38 -36
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +1 -0
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +101 -3
- data/lib/metronome_sdk/models/v1/customer_detail.rb +9 -1
- data/lib/metronome_sdk/models/v1/customer_preview_events_params.rb +5 -15
- data/lib/metronome_sdk/models/v1/customer_preview_events_response.rb +3 -3
- data/lib/metronome_sdk/models/v1/customers/alert_list_params.rb +3 -3
- data/lib/metronome_sdk/models/v1/customers/alert_reset_params.rb +2 -2
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +12 -12
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +40 -38
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +136 -18
- data/lib/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rb +30 -0
- data/lib/metronome_sdk/models/v1/payment.rb +151 -0
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +28 -0
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +28 -0
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +53 -0
- data/lib/metronome_sdk/models/v1/payment_status.rb +19 -0
- data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +9 -1
- data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +9 -1
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +186 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +195 -8
- data/lib/metronome_sdk/resources/v1/alerts.rb +57 -53
- data/lib/metronome_sdk/resources/v1/contracts.rb +4 -3
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +70 -51
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +55 -0
- data/lib/metronome_sdk/resources/v1/customers.rb +7 -4
- data/lib/metronome_sdk/resources/v1/payments.rb +102 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +4 -2
- data/lib/metronome_sdk/resources/v1.rb +4 -0
- data/lib/metronome_sdk/resources/v2/contracts.rb +9 -3
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +9 -0
- data/rbi/metronome_sdk/errors.rbi +29 -2
- data/rbi/metronome_sdk/file_part.rbi +1 -1
- data/rbi/metronome_sdk/internal/transport/base_client.rbi +4 -5
- data/rbi/metronome_sdk/internal/type/base_page.rbi +1 -1
- data/rbi/metronome_sdk/internal/util.rbi +1 -1
- data/rbi/metronome_sdk/models/contract_v2.rbi +603 -10
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +2 -2
- data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +250 -6
- data/rbi/metronome_sdk/models/payment_gate_config.rbi +5 -0
- data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +5 -0
- data/rbi/metronome_sdk/models/subscription.rbi +175 -0
- data/rbi/metronome_sdk/models/v1/alert_archive_params.rbi +6 -4
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +51 -47
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +257 -4
- data/rbi/metronome_sdk/models/v1/customer_detail.rbi +8 -0
- data/rbi/metronome_sdk/models/v1/customer_preview_events_params.rbi +6 -21
- data/rbi/metronome_sdk/models/v1/customer_preview_events_response.rbi +10 -9
- data/rbi/metronome_sdk/models/v1/customers/alert_list_params.rbi +4 -4
- data/rbi/metronome_sdk/models/v1/customers/alert_reset_params.rbi +2 -2
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +14 -14
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +48 -44
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +246 -58
- data/rbi/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbi +50 -0
- data/rbi/metronome_sdk/models/v1/payment.rbi +316 -0
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +35 -0
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +35 -0
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +91 -0
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +33 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +18 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +18 -0
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +498 -6
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +462 -14
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +68 -64
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +4 -3
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +73 -54
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +36 -0
- data/rbi/metronome_sdk/resources/v1/customers.rbi +7 -4
- data/rbi/metronome_sdk/resources/v1/payments.rbi +72 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +4 -2
- data/rbi/metronome_sdk/resources/v1.rbi +3 -0
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +14 -0
- data/sig/metronome_sdk/errors.rbs +7 -0
- data/sig/metronome_sdk/file_part.rbs +1 -1
- data/sig/metronome_sdk/models/contract_v2.rbs +239 -12
- data/sig/metronome_sdk/models/hierarchy_configuration.rbs +87 -6
- data/sig/metronome_sdk/models/payment_gate_config.rbs +2 -1
- data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +2 -1
- data/sig/metronome_sdk/models/subscription.rbs +80 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +2 -1
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +91 -5
- data/sig/metronome_sdk/models/v1/customer_detail.rbs +5 -0
- data/sig/metronome_sdk/models/v1/customer_preview_events_params.rbs +0 -7
- data/sig/metronome_sdk/models/v1/customer_preview_events_response.rbs +6 -4
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +137 -24
- data/sig/metronome_sdk/models/v1/customers/invoice_retrieve_pdf_params.rbs +32 -0
- data/sig/metronome_sdk/models/v1/payment.rbs +191 -0
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +30 -0
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +56 -0
- data/sig/metronome_sdk/models/v1/payment_status.rbs +19 -0
- data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +9 -0
- data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +9 -0
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +182 -7
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +221 -18
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +6 -0
- data/sig/metronome_sdk/resources/v1/payments.rbs +30 -0
- data/sig/metronome_sdk/resources/v1.rbs +2 -0
- data/sig/metronome_sdk/resources/v2/contracts.rbs +3 -0
- metadata +29 -2
|
@@ -46,21 +46,10 @@ module MetronomeSDK
|
|
|
46
46
|
attr_writer :amendment_id
|
|
47
47
|
|
|
48
48
|
# This field's availability is dependent on your client's configuration.
|
|
49
|
-
sig
|
|
50
|
-
returns(
|
|
51
|
-
T.nilable(
|
|
52
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
|
|
53
|
-
)
|
|
54
|
-
)
|
|
55
|
-
end
|
|
49
|
+
sig { returns(T.nilable(T.anything)) }
|
|
56
50
|
attr_reader :billable_status
|
|
57
51
|
|
|
58
|
-
sig
|
|
59
|
-
params(
|
|
60
|
-
billable_status:
|
|
61
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::OrSymbol
|
|
62
|
-
).void
|
|
63
|
-
end
|
|
52
|
+
sig { params(billable_status: T.anything).void }
|
|
64
53
|
attr_writer :billable_status
|
|
65
54
|
|
|
66
55
|
# Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
|
|
@@ -245,8 +234,7 @@ module MetronomeSDK
|
|
|
245
234
|
total: Float,
|
|
246
235
|
type: String,
|
|
247
236
|
amendment_id: String,
|
|
248
|
-
billable_status:
|
|
249
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::OrSymbol,
|
|
237
|
+
billable_status: T.anything,
|
|
250
238
|
contract_custom_fields: T::Hash[Symbol, String],
|
|
251
239
|
contract_id: String,
|
|
252
240
|
correction_record:
|
|
@@ -332,8 +320,7 @@ module MetronomeSDK
|
|
|
332
320
|
total: Float,
|
|
333
321
|
type: String,
|
|
334
322
|
amendment_id: String,
|
|
335
|
-
billable_status:
|
|
336
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol,
|
|
323
|
+
billable_status: T.anything,
|
|
337
324
|
contract_custom_fields: T::Hash[Symbol, String],
|
|
338
325
|
contract_id: String,
|
|
339
326
|
correction_record:
|
|
@@ -1400,41 +1387,6 @@ module MetronomeSDK
|
|
|
1400
1387
|
end
|
|
1401
1388
|
end
|
|
1402
1389
|
|
|
1403
|
-
# This field's availability is dependent on your client's configuration.
|
|
1404
|
-
module BillableStatus
|
|
1405
|
-
extend MetronomeSDK::Internal::Type::Enum
|
|
1406
|
-
|
|
1407
|
-
TaggedSymbol =
|
|
1408
|
-
T.type_alias do
|
|
1409
|
-
T.all(
|
|
1410
|
-
Symbol,
|
|
1411
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus
|
|
1412
|
-
)
|
|
1413
|
-
end
|
|
1414
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1415
|
-
|
|
1416
|
-
BILLABLE =
|
|
1417
|
-
T.let(
|
|
1418
|
-
:billable,
|
|
1419
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
|
|
1420
|
-
)
|
|
1421
|
-
UNBILLABLE =
|
|
1422
|
-
T.let(
|
|
1423
|
-
:unbillable,
|
|
1424
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
|
|
1425
|
-
)
|
|
1426
|
-
|
|
1427
|
-
sig do
|
|
1428
|
-
override.returns(
|
|
1429
|
-
T::Array[
|
|
1430
|
-
MetronomeSDK::V1::Customers::Invoice::BillableStatus::TaggedSymbol
|
|
1431
|
-
]
|
|
1432
|
-
)
|
|
1433
|
-
end
|
|
1434
|
-
def self.values
|
|
1435
|
-
end
|
|
1436
|
-
end
|
|
1437
|
-
|
|
1438
1390
|
class CorrectionRecord < MetronomeSDK::Internal::Type::BaseModel
|
|
1439
1391
|
OrHash =
|
|
1440
1392
|
T.type_alias do
|
|
@@ -1540,12 +1492,51 @@ module MetronomeSDK
|
|
|
1540
1492
|
sig { params(invoice_id: String).void }
|
|
1541
1493
|
attr_writer :invoice_id
|
|
1542
1494
|
|
|
1495
|
+
# The subtotal amount invoiced, if available from the billing provider.
|
|
1496
|
+
sig { returns(T.nilable(Float)) }
|
|
1497
|
+
attr_reader :invoiced_sub_total
|
|
1498
|
+
|
|
1499
|
+
sig { params(invoiced_sub_total: Float).void }
|
|
1500
|
+
attr_writer :invoiced_sub_total
|
|
1501
|
+
|
|
1502
|
+
# The total amount invoiced, if available from the billing provider.
|
|
1503
|
+
sig { returns(T.nilable(Float)) }
|
|
1504
|
+
attr_reader :invoiced_total
|
|
1505
|
+
|
|
1506
|
+
sig { params(invoiced_total: Float).void }
|
|
1507
|
+
attr_writer :invoiced_total
|
|
1508
|
+
|
|
1543
1509
|
sig { returns(T.nilable(Time)) }
|
|
1544
1510
|
attr_reader :issued_at_timestamp
|
|
1545
1511
|
|
|
1546
1512
|
sig { params(issued_at_timestamp: Time).void }
|
|
1547
1513
|
attr_writer :issued_at_timestamp
|
|
1548
1514
|
|
|
1515
|
+
# A URL to the PDF of the invoice, if available from the billing provider.
|
|
1516
|
+
sig { returns(T.nilable(String)) }
|
|
1517
|
+
attr_reader :pdf_url
|
|
1518
|
+
|
|
1519
|
+
sig { params(pdf_url: String).void }
|
|
1520
|
+
attr_writer :pdf_url
|
|
1521
|
+
|
|
1522
|
+
# Tax details for the invoice, if available from the billing provider.
|
|
1523
|
+
sig do
|
|
1524
|
+
returns(
|
|
1525
|
+
T.nilable(
|
|
1526
|
+
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
|
|
1527
|
+
)
|
|
1528
|
+
)
|
|
1529
|
+
end
|
|
1530
|
+
attr_reader :tax
|
|
1531
|
+
|
|
1532
|
+
sig do
|
|
1533
|
+
params(
|
|
1534
|
+
tax:
|
|
1535
|
+
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax::OrHash
|
|
1536
|
+
).void
|
|
1537
|
+
end
|
|
1538
|
+
attr_writer :tax
|
|
1539
|
+
|
|
1549
1540
|
sig do
|
|
1550
1541
|
params(
|
|
1551
1542
|
billing_provider_type:
|
|
@@ -1553,14 +1544,27 @@ module MetronomeSDK
|
|
|
1553
1544
|
external_status:
|
|
1554
1545
|
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::OrSymbol,
|
|
1555
1546
|
invoice_id: String,
|
|
1556
|
-
|
|
1547
|
+
invoiced_sub_total: Float,
|
|
1548
|
+
invoiced_total: Float,
|
|
1549
|
+
issued_at_timestamp: Time,
|
|
1550
|
+
pdf_url: String,
|
|
1551
|
+
tax:
|
|
1552
|
+
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax::OrHash
|
|
1557
1553
|
).returns(T.attached_class)
|
|
1558
1554
|
end
|
|
1559
1555
|
def self.new(
|
|
1560
1556
|
billing_provider_type:,
|
|
1561
1557
|
external_status: nil,
|
|
1562
1558
|
invoice_id: nil,
|
|
1563
|
-
|
|
1559
|
+
# The subtotal amount invoiced, if available from the billing provider.
|
|
1560
|
+
invoiced_sub_total: nil,
|
|
1561
|
+
# The total amount invoiced, if available from the billing provider.
|
|
1562
|
+
invoiced_total: nil,
|
|
1563
|
+
issued_at_timestamp: nil,
|
|
1564
|
+
# A URL to the PDF of the invoice, if available from the billing provider.
|
|
1565
|
+
pdf_url: nil,
|
|
1566
|
+
# Tax details for the invoice, if available from the billing provider.
|
|
1567
|
+
tax: nil
|
|
1564
1568
|
)
|
|
1565
1569
|
end
|
|
1566
1570
|
|
|
@@ -1572,7 +1576,12 @@ module MetronomeSDK
|
|
|
1572
1576
|
external_status:
|
|
1573
1577
|
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::ExternalStatus::TaggedSymbol,
|
|
1574
1578
|
invoice_id: String,
|
|
1575
|
-
|
|
1579
|
+
invoiced_sub_total: Float,
|
|
1580
|
+
invoiced_total: Float,
|
|
1581
|
+
issued_at_timestamp: Time,
|
|
1582
|
+
pdf_url: String,
|
|
1583
|
+
tax:
|
|
1584
|
+
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax
|
|
1576
1585
|
}
|
|
1577
1586
|
)
|
|
1578
1587
|
end
|
|
@@ -1721,6 +1730,67 @@ module MetronomeSDK
|
|
|
1721
1730
|
def self.values
|
|
1722
1731
|
end
|
|
1723
1732
|
end
|
|
1733
|
+
|
|
1734
|
+
class Tax < MetronomeSDK::Internal::Type::BaseModel
|
|
1735
|
+
OrHash =
|
|
1736
|
+
T.type_alias do
|
|
1737
|
+
T.any(
|
|
1738
|
+
MetronomeSDK::V1::Customers::Invoice::CorrectionRecord::CorrectedExternalInvoice::Tax,
|
|
1739
|
+
MetronomeSDK::Internal::AnyHash
|
|
1740
|
+
)
|
|
1741
|
+
end
|
|
1742
|
+
|
|
1743
|
+
# The total tax amount applied to the invoice.
|
|
1744
|
+
sig { returns(T.nilable(Float)) }
|
|
1745
|
+
attr_reader :total_tax_amount
|
|
1746
|
+
|
|
1747
|
+
sig { params(total_tax_amount: Float).void }
|
|
1748
|
+
attr_writer :total_tax_amount
|
|
1749
|
+
|
|
1750
|
+
# The total taxable amount of the invoice.
|
|
1751
|
+
sig { returns(T.nilable(Float)) }
|
|
1752
|
+
attr_reader :total_taxable_amount
|
|
1753
|
+
|
|
1754
|
+
sig { params(total_taxable_amount: Float).void }
|
|
1755
|
+
attr_writer :total_taxable_amount
|
|
1756
|
+
|
|
1757
|
+
# The transaction ID associated with the tax calculation.
|
|
1758
|
+
sig { returns(T.nilable(String)) }
|
|
1759
|
+
attr_reader :transaction_id
|
|
1760
|
+
|
|
1761
|
+
sig { params(transaction_id: String).void }
|
|
1762
|
+
attr_writer :transaction_id
|
|
1763
|
+
|
|
1764
|
+
# Tax details for the invoice, if available from the billing provider.
|
|
1765
|
+
sig do
|
|
1766
|
+
params(
|
|
1767
|
+
total_tax_amount: Float,
|
|
1768
|
+
total_taxable_amount: Float,
|
|
1769
|
+
transaction_id: String
|
|
1770
|
+
).returns(T.attached_class)
|
|
1771
|
+
end
|
|
1772
|
+
def self.new(
|
|
1773
|
+
# The total tax amount applied to the invoice.
|
|
1774
|
+
total_tax_amount: nil,
|
|
1775
|
+
# The total taxable amount of the invoice.
|
|
1776
|
+
total_taxable_amount: nil,
|
|
1777
|
+
# The transaction ID associated with the tax calculation.
|
|
1778
|
+
transaction_id: nil
|
|
1779
|
+
)
|
|
1780
|
+
end
|
|
1781
|
+
|
|
1782
|
+
sig do
|
|
1783
|
+
override.returns(
|
|
1784
|
+
{
|
|
1785
|
+
total_tax_amount: Float,
|
|
1786
|
+
total_taxable_amount: Float,
|
|
1787
|
+
transaction_id: String
|
|
1788
|
+
}
|
|
1789
|
+
)
|
|
1790
|
+
end
|
|
1791
|
+
def to_hash
|
|
1792
|
+
end
|
|
1793
|
+
end
|
|
1724
1794
|
end
|
|
1725
1795
|
end
|
|
1726
1796
|
|
|
@@ -1763,12 +1833,51 @@ module MetronomeSDK
|
|
|
1763
1833
|
sig { params(invoice_id: String).void }
|
|
1764
1834
|
attr_writer :invoice_id
|
|
1765
1835
|
|
|
1836
|
+
# The subtotal amount invoiced, if available from the billing provider.
|
|
1837
|
+
sig { returns(T.nilable(Float)) }
|
|
1838
|
+
attr_reader :invoiced_sub_total
|
|
1839
|
+
|
|
1840
|
+
sig { params(invoiced_sub_total: Float).void }
|
|
1841
|
+
attr_writer :invoiced_sub_total
|
|
1842
|
+
|
|
1843
|
+
# The total amount invoiced, if available from the billing provider.
|
|
1844
|
+
sig { returns(T.nilable(Float)) }
|
|
1845
|
+
attr_reader :invoiced_total
|
|
1846
|
+
|
|
1847
|
+
sig { params(invoiced_total: Float).void }
|
|
1848
|
+
attr_writer :invoiced_total
|
|
1849
|
+
|
|
1766
1850
|
sig { returns(T.nilable(Time)) }
|
|
1767
1851
|
attr_reader :issued_at_timestamp
|
|
1768
1852
|
|
|
1769
1853
|
sig { params(issued_at_timestamp: Time).void }
|
|
1770
1854
|
attr_writer :issued_at_timestamp
|
|
1771
1855
|
|
|
1856
|
+
# A URL to the PDF of the invoice, if available from the billing provider.
|
|
1857
|
+
sig { returns(T.nilable(String)) }
|
|
1858
|
+
attr_reader :pdf_url
|
|
1859
|
+
|
|
1860
|
+
sig { params(pdf_url: String).void }
|
|
1861
|
+
attr_writer :pdf_url
|
|
1862
|
+
|
|
1863
|
+
# Tax details for the invoice, if available from the billing provider.
|
|
1864
|
+
sig do
|
|
1865
|
+
returns(
|
|
1866
|
+
T.nilable(
|
|
1867
|
+
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
|
|
1868
|
+
)
|
|
1869
|
+
)
|
|
1870
|
+
end
|
|
1871
|
+
attr_reader :tax
|
|
1872
|
+
|
|
1873
|
+
sig do
|
|
1874
|
+
params(
|
|
1875
|
+
tax:
|
|
1876
|
+
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax::OrHash
|
|
1877
|
+
).void
|
|
1878
|
+
end
|
|
1879
|
+
attr_writer :tax
|
|
1880
|
+
|
|
1772
1881
|
sig do
|
|
1773
1882
|
params(
|
|
1774
1883
|
billing_provider_type:
|
|
@@ -1776,14 +1885,27 @@ module MetronomeSDK
|
|
|
1776
1885
|
external_status:
|
|
1777
1886
|
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::OrSymbol,
|
|
1778
1887
|
invoice_id: String,
|
|
1779
|
-
|
|
1888
|
+
invoiced_sub_total: Float,
|
|
1889
|
+
invoiced_total: Float,
|
|
1890
|
+
issued_at_timestamp: Time,
|
|
1891
|
+
pdf_url: String,
|
|
1892
|
+
tax:
|
|
1893
|
+
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax::OrHash
|
|
1780
1894
|
).returns(T.attached_class)
|
|
1781
1895
|
end
|
|
1782
1896
|
def self.new(
|
|
1783
1897
|
billing_provider_type:,
|
|
1784
1898
|
external_status: nil,
|
|
1785
1899
|
invoice_id: nil,
|
|
1786
|
-
|
|
1900
|
+
# The subtotal amount invoiced, if available from the billing provider.
|
|
1901
|
+
invoiced_sub_total: nil,
|
|
1902
|
+
# The total amount invoiced, if available from the billing provider.
|
|
1903
|
+
invoiced_total: nil,
|
|
1904
|
+
issued_at_timestamp: nil,
|
|
1905
|
+
# A URL to the PDF of the invoice, if available from the billing provider.
|
|
1906
|
+
pdf_url: nil,
|
|
1907
|
+
# Tax details for the invoice, if available from the billing provider.
|
|
1908
|
+
tax: nil
|
|
1787
1909
|
)
|
|
1788
1910
|
end
|
|
1789
1911
|
|
|
@@ -1795,7 +1917,12 @@ module MetronomeSDK
|
|
|
1795
1917
|
external_status:
|
|
1796
1918
|
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::ExternalStatus::TaggedSymbol,
|
|
1797
1919
|
invoice_id: String,
|
|
1798
|
-
|
|
1920
|
+
invoiced_sub_total: Float,
|
|
1921
|
+
invoiced_total: Float,
|
|
1922
|
+
issued_at_timestamp: Time,
|
|
1923
|
+
pdf_url: String,
|
|
1924
|
+
tax:
|
|
1925
|
+
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax
|
|
1799
1926
|
}
|
|
1800
1927
|
)
|
|
1801
1928
|
end
|
|
@@ -1944,6 +2071,67 @@ module MetronomeSDK
|
|
|
1944
2071
|
def self.values
|
|
1945
2072
|
end
|
|
1946
2073
|
end
|
|
2074
|
+
|
|
2075
|
+
class Tax < MetronomeSDK::Internal::Type::BaseModel
|
|
2076
|
+
OrHash =
|
|
2077
|
+
T.type_alias do
|
|
2078
|
+
T.any(
|
|
2079
|
+
MetronomeSDK::V1::Customers::Invoice::ExternalInvoice::Tax,
|
|
2080
|
+
MetronomeSDK::Internal::AnyHash
|
|
2081
|
+
)
|
|
2082
|
+
end
|
|
2083
|
+
|
|
2084
|
+
# The total tax amount applied to the invoice.
|
|
2085
|
+
sig { returns(T.nilable(Float)) }
|
|
2086
|
+
attr_reader :total_tax_amount
|
|
2087
|
+
|
|
2088
|
+
sig { params(total_tax_amount: Float).void }
|
|
2089
|
+
attr_writer :total_tax_amount
|
|
2090
|
+
|
|
2091
|
+
# The total taxable amount of the invoice.
|
|
2092
|
+
sig { returns(T.nilable(Float)) }
|
|
2093
|
+
attr_reader :total_taxable_amount
|
|
2094
|
+
|
|
2095
|
+
sig { params(total_taxable_amount: Float).void }
|
|
2096
|
+
attr_writer :total_taxable_amount
|
|
2097
|
+
|
|
2098
|
+
# The transaction ID associated with the tax calculation.
|
|
2099
|
+
sig { returns(T.nilable(String)) }
|
|
2100
|
+
attr_reader :transaction_id
|
|
2101
|
+
|
|
2102
|
+
sig { params(transaction_id: String).void }
|
|
2103
|
+
attr_writer :transaction_id
|
|
2104
|
+
|
|
2105
|
+
# Tax details for the invoice, if available from the billing provider.
|
|
2106
|
+
sig do
|
|
2107
|
+
params(
|
|
2108
|
+
total_tax_amount: Float,
|
|
2109
|
+
total_taxable_amount: Float,
|
|
2110
|
+
transaction_id: String
|
|
2111
|
+
).returns(T.attached_class)
|
|
2112
|
+
end
|
|
2113
|
+
def self.new(
|
|
2114
|
+
# The total tax amount applied to the invoice.
|
|
2115
|
+
total_tax_amount: nil,
|
|
2116
|
+
# The total taxable amount of the invoice.
|
|
2117
|
+
total_taxable_amount: nil,
|
|
2118
|
+
# The transaction ID associated with the tax calculation.
|
|
2119
|
+
transaction_id: nil
|
|
2120
|
+
)
|
|
2121
|
+
end
|
|
2122
|
+
|
|
2123
|
+
sig do
|
|
2124
|
+
override.returns(
|
|
2125
|
+
{
|
|
2126
|
+
total_tax_amount: Float,
|
|
2127
|
+
total_taxable_amount: Float,
|
|
2128
|
+
transaction_id: String
|
|
2129
|
+
}
|
|
2130
|
+
)
|
|
2131
|
+
end
|
|
2132
|
+
def to_hash
|
|
2133
|
+
end
|
|
2134
|
+
end
|
|
1947
2135
|
end
|
|
1948
2136
|
|
|
1949
2137
|
class InvoiceAdjustment < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module MetronomeSDK
|
|
4
|
+
module Models
|
|
5
|
+
module V1
|
|
6
|
+
module Customers
|
|
7
|
+
class InvoiceRetrievePdfParams < MetronomeSDK::Internal::Type::BaseModel
|
|
8
|
+
extend MetronomeSDK::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include MetronomeSDK::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
OrHash =
|
|
12
|
+
T.type_alias do
|
|
13
|
+
T.any(
|
|
14
|
+
MetronomeSDK::V1::Customers::InvoiceRetrievePdfParams,
|
|
15
|
+
MetronomeSDK::Internal::AnyHash
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :customer_id
|
|
21
|
+
|
|
22
|
+
sig { returns(String) }
|
|
23
|
+
attr_accessor :invoice_id
|
|
24
|
+
|
|
25
|
+
sig do
|
|
26
|
+
params(
|
|
27
|
+
customer_id: String,
|
|
28
|
+
invoice_id: String,
|
|
29
|
+
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(customer_id:, invoice_id:, request_options: {})
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
override.returns(
|
|
37
|
+
{
|
|
38
|
+
customer_id: String,
|
|
39
|
+
invoice_id: String,
|
|
40
|
+
request_options: MetronomeSDK::RequestOptions
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
def to_hash
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|