metronome-sdk 3.5.0 → 3.7.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.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/client.rb +15 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +2 -0
  6. data/lib/metronome_sdk/internal/type/enum.rb +0 -25
  7. data/lib/metronome_sdk/models/commit.rb +27 -1
  8. data/lib/metronome_sdk/models/contract.rb +140 -1
  9. data/lib/metronome_sdk/models/contract_v2.rb +530 -6
  10. data/lib/metronome_sdk/models/contract_without_amendments.rb +142 -1
  11. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +105 -2
  12. data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +103 -2
  13. data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
  14. data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
  15. data/lib/metronome_sdk/models/v1/alert_create_params.rb +1 -0
  16. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +29 -177
  17. data/lib/metronome_sdk/models/v1/contract_create_params.rb +147 -180
  18. data/lib/metronome_sdk/models/v1/contract_create_response.rb +1134 -3
  19. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +119 -0
  20. data/lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb +315 -0
  21. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +31 -1
  22. data/lib/metronome_sdk/models/v1/contracts/product_update_params.rb +31 -1
  23. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +1 -0
  24. data/lib/metronome_sdk/models/v1/customers/invoice.rb +8 -1
  25. data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +29 -1
  26. data/lib/metronome_sdk/models/v1/package_create_params.rb +115 -18
  27. data/lib/metronome_sdk/models/v1/package_list_response.rb +110 -1
  28. data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +114 -1
  29. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +303 -5
  30. data/lib/metronome_sdk/models/v2/contract_edit_response.rb +3862 -3
  31. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +507 -6
  32. data/lib/metronome_sdk/resources/v1/contracts/products.rb +6 -2
  33. data/lib/metronome_sdk/resources/v1/contracts.rb +72 -3
  34. data/lib/metronome_sdk/resources/v1/customers/invoices.rb +5 -1
  35. data/lib/metronome_sdk/resources/v1/packages.rb +6 -7
  36. data/lib/metronome_sdk/resources/v1.rb +0 -4
  37. data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
  38. data/lib/metronome_sdk/version.rb +1 -1
  39. data/lib/metronome_sdk.rb +2 -8
  40. data/rbi/metronome_sdk/models/commit.rbi +48 -0
  41. data/rbi/metronome_sdk/models/contract.rbi +354 -0
  42. data/rbi/metronome_sdk/models/contract_v2.rbi +1172 -4
  43. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +368 -0
  44. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +289 -6
  45. data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +283 -6
  46. data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
  47. data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
  48. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +5 -0
  49. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +54 -396
  50. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +370 -398
  51. data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2448 -4
  52. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +179 -0
  53. data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi +714 -0
  54. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +74 -0
  55. data/rbi/metronome_sdk/models/v1/contracts/product_update_params.rbi +74 -0
  56. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +5 -0
  57. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +9 -0
  58. data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +75 -0
  59. data/rbi/metronome_sdk/models/v1/package_create_params.rbi +310 -56
  60. data/rbi/metronome_sdk/models/v1/package_list_response.rbi +307 -0
  61. data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +307 -0
  62. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +734 -11
  63. data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +8612 -4
  64. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1355 -219
  65. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +18 -0
  66. data/rbi/metronome_sdk/resources/v1/contracts.rbi +88 -3
  67. data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +7 -0
  68. data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -7
  69. data/rbi/metronome_sdk/resources/v1.rbi +0 -3
  70. data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
  71. data/sig/metronome_sdk/models/commit.rbs +19 -0
  72. data/sig/metronome_sdk/models/contract.rbs +151 -0
  73. data/sig/metronome_sdk/models/contract_v2.rbs +494 -6
  74. data/sig/metronome_sdk/models/contract_without_amendments.rbs +151 -0
  75. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
  76. data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
  77. data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
  78. data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
  79. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +3 -1
  80. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +19 -137
  81. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +134 -137
  82. data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1045 -4
  83. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +96 -0
  84. data/sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs +299 -0
  85. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +20 -0
  86. data/sig/metronome_sdk/models/v1/contracts/product_update_params.rbs +20 -0
  87. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +3 -1
  88. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
  89. data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +29 -1
  90. data/sig/metronome_sdk/models/v1/package_create_params.rbs +115 -20
  91. data/sig/metronome_sdk/models/v1/package_list_response.rbs +115 -0
  92. data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +115 -0
  93. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +283 -9
  94. data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +3792 -4
  95. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +461 -15
  96. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +2 -0
  97. data/sig/metronome_sdk/resources/v1/contracts.rbs +16 -0
  98. data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +2 -0
  99. data/sig/metronome_sdk/resources/v1/packages.rbs +1 -1
  100. data/sig/metronome_sdk/resources/v1.rbs +0 -2
  101. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  102. metadata +8 -26
  103. data/lib/metronome_sdk/models/v1/payment.rb +0 -196
  104. data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
  105. data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
  106. data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
  107. data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
  108. data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
  109. data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
  110. data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
  111. data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
  112. data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
  113. data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
  114. data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
  115. data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
  116. data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
  117. data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
  118. data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
  119. data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
  120. data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
  121. data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
  122. data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
  123. data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
  124. data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
  125. data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
  126. data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metronome-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metronome
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-21 00:00:00.000000000 Z
11
+ date: 2026-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -137,6 +137,8 @@ files:
137
137
  - lib/metronome_sdk/models/v1/contract_list_balances_response.rb
138
138
  - lib/metronome_sdk/models/v1/contract_list_params.rb
139
139
  - lib/metronome_sdk/models/v1/contract_list_response.rb
140
+ - lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb
141
+ - lib/metronome_sdk/models/v1/contract_list_seat_balances_response.rb
140
142
  - lib/metronome_sdk/models/v1/contract_retrieve_params.rb
141
143
  - lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rb
142
144
  - lib/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rb
@@ -286,13 +288,6 @@ files:
286
288
  - lib/metronome_sdk/models/v1/package_list_response.rb
287
289
  - lib/metronome_sdk/models/v1/package_retrieve_params.rb
288
290
  - lib/metronome_sdk/models/v1/package_retrieve_response.rb
289
- - lib/metronome_sdk/models/v1/payment.rb
290
- - lib/metronome_sdk/models/v1/payment_attempt_params.rb
291
- - lib/metronome_sdk/models/v1/payment_attempt_response.rb
292
- - lib/metronome_sdk/models/v1/payment_cancel_params.rb
293
- - lib/metronome_sdk/models/v1/payment_cancel_response.rb
294
- - lib/metronome_sdk/models/v1/payment_list_params.rb
295
- - lib/metronome_sdk/models/v1/payment_status.rb
296
291
  - lib/metronome_sdk/models/v1/plan_detail.rb
297
292
  - lib/metronome_sdk/models/v1/plan_get_details_params.rb
298
293
  - lib/metronome_sdk/models/v1/plan_get_details_response.rb
@@ -358,7 +353,6 @@ files:
358
353
  - lib/metronome_sdk/resources/v1/dashboards.rb
359
354
  - lib/metronome_sdk/resources/v1/invoices.rb
360
355
  - lib/metronome_sdk/resources/v1/packages.rb
361
- - lib/metronome_sdk/resources/v1/payments.rb
362
356
  - lib/metronome_sdk/resources/v1/plans.rb
363
357
  - lib/metronome_sdk/resources/v1/pricing_units.rb
364
358
  - lib/metronome_sdk/resources/v1/services.rb
@@ -456,6 +450,8 @@ files:
456
450
  - rbi/metronome_sdk/models/v1/contract_list_balances_response.rbi
457
451
  - rbi/metronome_sdk/models/v1/contract_list_params.rbi
458
452
  - rbi/metronome_sdk/models/v1/contract_list_response.rbi
453
+ - rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi
454
+ - rbi/metronome_sdk/models/v1/contract_list_seat_balances_response.rbi
459
455
  - rbi/metronome_sdk/models/v1/contract_retrieve_params.rbi
460
456
  - rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbi
461
457
  - rbi/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbi
@@ -605,13 +601,6 @@ files:
605
601
  - rbi/metronome_sdk/models/v1/package_list_response.rbi
606
602
  - rbi/metronome_sdk/models/v1/package_retrieve_params.rbi
607
603
  - rbi/metronome_sdk/models/v1/package_retrieve_response.rbi
608
- - rbi/metronome_sdk/models/v1/payment.rbi
609
- - rbi/metronome_sdk/models/v1/payment_attempt_params.rbi
610
- - rbi/metronome_sdk/models/v1/payment_attempt_response.rbi
611
- - rbi/metronome_sdk/models/v1/payment_cancel_params.rbi
612
- - rbi/metronome_sdk/models/v1/payment_cancel_response.rbi
613
- - rbi/metronome_sdk/models/v1/payment_list_params.rbi
614
- - rbi/metronome_sdk/models/v1/payment_status.rbi
615
604
  - rbi/metronome_sdk/models/v1/plan_detail.rbi
616
605
  - rbi/metronome_sdk/models/v1/plan_get_details_params.rbi
617
606
  - rbi/metronome_sdk/models/v1/plan_get_details_response.rbi
@@ -677,7 +666,6 @@ files:
677
666
  - rbi/metronome_sdk/resources/v1/dashboards.rbi
678
667
  - rbi/metronome_sdk/resources/v1/invoices.rbi
679
668
  - rbi/metronome_sdk/resources/v1/packages.rbi
680
- - rbi/metronome_sdk/resources/v1/payments.rbi
681
669
  - rbi/metronome_sdk/resources/v1/plans.rbi
682
670
  - rbi/metronome_sdk/resources/v1/pricing_units.rbi
683
671
  - rbi/metronome_sdk/resources/v1/services.rbi
@@ -774,6 +762,8 @@ files:
774
762
  - sig/metronome_sdk/models/v1/contract_list_balances_response.rbs
775
763
  - sig/metronome_sdk/models/v1/contract_list_params.rbs
776
764
  - sig/metronome_sdk/models/v1/contract_list_response.rbs
765
+ - sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs
766
+ - sig/metronome_sdk/models/v1/contract_list_seat_balances_response.rbs
777
767
  - sig/metronome_sdk/models/v1/contract_retrieve_params.rbs
778
768
  - sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_params.rbs
779
769
  - sig/metronome_sdk/models/v1/contract_retrieve_rate_schedule_response.rbs
@@ -923,13 +913,6 @@ files:
923
913
  - sig/metronome_sdk/models/v1/package_list_response.rbs
924
914
  - sig/metronome_sdk/models/v1/package_retrieve_params.rbs
925
915
  - sig/metronome_sdk/models/v1/package_retrieve_response.rbs
926
- - sig/metronome_sdk/models/v1/payment.rbs
927
- - sig/metronome_sdk/models/v1/payment_attempt_params.rbs
928
- - sig/metronome_sdk/models/v1/payment_attempt_response.rbs
929
- - sig/metronome_sdk/models/v1/payment_cancel_params.rbs
930
- - sig/metronome_sdk/models/v1/payment_cancel_response.rbs
931
- - sig/metronome_sdk/models/v1/payment_list_params.rbs
932
- - sig/metronome_sdk/models/v1/payment_status.rbs
933
916
  - sig/metronome_sdk/models/v1/plan_detail.rbs
934
917
  - sig/metronome_sdk/models/v1/plan_get_details_params.rbs
935
918
  - sig/metronome_sdk/models/v1/plan_get_details_response.rbs
@@ -995,7 +978,6 @@ files:
995
978
  - sig/metronome_sdk/resources/v1/dashboards.rbs
996
979
  - sig/metronome_sdk/resources/v1/invoices.rbs
997
980
  - sig/metronome_sdk/resources/v1/packages.rbs
998
- - sig/metronome_sdk/resources/v1/payments.rbs
999
981
  - sig/metronome_sdk/resources/v1/plans.rbs
1000
982
  - sig/metronome_sdk/resources/v1/pricing_units.rbs
1001
983
  - sig/metronome_sdk/resources/v1/services.rbs
@@ -1,196 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- # @see MetronomeSDK::Resources::V1::Payments#list
7
- class Payment < MetronomeSDK::Internal::Type::BaseModel
8
- # @!attribute id
9
- #
10
- # @return [String]
11
- required :id, String
12
-
13
- # @!attribute amount
14
- #
15
- # @return [Float, nil]
16
- optional :amount, Float
17
-
18
- # @!attribute amount_paid
19
- #
20
- # @return [Float, nil]
21
- optional :amount_paid, Float
22
-
23
- # @!attribute contract_id
24
- #
25
- # @return [String, nil]
26
- optional :contract_id, String
27
-
28
- # @!attribute created_at
29
- #
30
- # @return [Time, nil]
31
- optional :created_at, Time
32
-
33
- # @!attribute customer_id
34
- #
35
- # @return [String, nil]
36
- optional :customer_id, String
37
-
38
- # @!attribute error_message
39
- #
40
- # @return [String, nil]
41
- optional :error_message, String
42
-
43
- # @!attribute fiat_credit_type
44
- #
45
- # @return [MetronomeSDK::Models::CreditTypeData, nil]
46
- optional :fiat_credit_type, -> { MetronomeSDK::CreditTypeData }
47
-
48
- # @!attribute invoice_id
49
- #
50
- # @return [String, nil]
51
- optional :invoice_id, String
52
-
53
- # @!attribute payment_gateway
54
- #
55
- # @return [MetronomeSDK::Models::V1::Payment::PaymentGateway, nil]
56
- optional :payment_gateway, -> { MetronomeSDK::V1::Payment::PaymentGateway }
57
-
58
- # @!attribute revenue_system_payments
59
- #
60
- # @return [Array<MetronomeSDK::Models::V1::Payment::RevenueSystemPayment>, nil]
61
- optional :revenue_system_payments,
62
- -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::V1::Payment::RevenueSystemPayment] }
63
-
64
- # @!attribute status
65
- #
66
- # @return [Symbol, MetronomeSDK::Models::V1::PaymentStatus, nil]
67
- optional :status, enum: -> { MetronomeSDK::V1::PaymentStatus }
68
-
69
- # @!attribute updated_at
70
- #
71
- # @return [Time, nil]
72
- optional :updated_at, Time
73
-
74
- # @!method initialize(id:, amount: nil, amount_paid: nil, contract_id: nil, created_at: nil, customer_id: nil, error_message: nil, fiat_credit_type: nil, invoice_id: nil, payment_gateway: nil, revenue_system_payments: nil, status: nil, updated_at: nil)
75
- # @param id [String]
76
- # @param amount [Float]
77
- # @param amount_paid [Float]
78
- # @param contract_id [String]
79
- # @param created_at [Time]
80
- # @param customer_id [String]
81
- # @param error_message [String]
82
- # @param fiat_credit_type [MetronomeSDK::Models::CreditTypeData]
83
- # @param invoice_id [String]
84
- # @param payment_gateway [MetronomeSDK::Models::V1::Payment::PaymentGateway]
85
- # @param revenue_system_payments [Array<MetronomeSDK::Models::V1::Payment::RevenueSystemPayment>]
86
- # @param status [Symbol, MetronomeSDK::Models::V1::PaymentStatus]
87
- # @param updated_at [Time]
88
-
89
- # @see MetronomeSDK::Models::V1::Payment#payment_gateway
90
- class PaymentGateway < MetronomeSDK::Internal::Type::BaseModel
91
- # @!attribute stripe
92
- #
93
- # @return [MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe]
94
- required :stripe, -> { MetronomeSDK::V1::Payment::PaymentGateway::Stripe }
95
-
96
- # @!attribute type
97
- #
98
- # @return [Symbol, MetronomeSDK::Models::V1::Payment::PaymentGateway::Type]
99
- required :type, enum: -> { MetronomeSDK::V1::Payment::PaymentGateway::Type }
100
-
101
- # @!method initialize(stripe:, type:)
102
- # @param stripe [MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe]
103
- # @param type [Symbol, MetronomeSDK::Models::V1::Payment::PaymentGateway::Type]
104
-
105
- # @see MetronomeSDK::Models::V1::Payment::PaymentGateway#stripe
106
- class Stripe < MetronomeSDK::Internal::Type::BaseModel
107
- # @!attribute payment_intent_id
108
- #
109
- # @return [String]
110
- required :payment_intent_id, String
111
-
112
- # @!attribute error
113
- #
114
- # @return [MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe::Error, nil]
115
- optional :error, -> { MetronomeSDK::V1::Payment::PaymentGateway::Stripe::Error }
116
-
117
- # @!attribute payment_method_id
118
- #
119
- # @return [String, nil]
120
- optional :payment_method_id, String
121
-
122
- # @!method initialize(payment_intent_id:, error: nil, payment_method_id: nil)
123
- # @param payment_intent_id [String]
124
- # @param error [MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe::Error]
125
- # @param payment_method_id [String]
126
-
127
- # @see MetronomeSDK::Models::V1::Payment::PaymentGateway::Stripe#error
128
- class Error < MetronomeSDK::Internal::Type::BaseModel
129
- # @!attribute code
130
- #
131
- # @return [String, nil]
132
- optional :code, String
133
-
134
- # @!attribute decline_code
135
- #
136
- # @return [String, nil]
137
- optional :decline_code, String
138
-
139
- # @!attribute type
140
- #
141
- # @return [String, nil]
142
- optional :type, String
143
-
144
- # @!method initialize(code: nil, decline_code: nil, type: nil)
145
- # @param code [String]
146
- # @param decline_code [String]
147
- # @param type [String]
148
- end
149
- end
150
-
151
- # @see MetronomeSDK::Models::V1::Payment::PaymentGateway#type
152
- module Type
153
- extend MetronomeSDK::Internal::Type::Enum
154
-
155
- STRIPE = :stripe
156
-
157
- # @!method self.values
158
- # @return [Array<Symbol>]
159
- end
160
- end
161
-
162
- class RevenueSystemPayment < MetronomeSDK::Internal::Type::BaseModel
163
- # @!attribute revenue_system_provider
164
- #
165
- # @return [String]
166
- required :revenue_system_provider, String
167
-
168
- # @!attribute sync_status
169
- #
170
- # @return [String]
171
- required :sync_status, String
172
-
173
- # @!attribute error_message
174
- # The error message from the revenue system, if available.
175
- #
176
- # @return [String, nil]
177
- optional :error_message, String
178
-
179
- # @!attribute revenue_system_external_payment_id
180
- #
181
- # @return [String, nil]
182
- optional :revenue_system_external_payment_id, String
183
-
184
- # @!method initialize(revenue_system_provider:, sync_status:, error_message: nil, revenue_system_external_payment_id: nil)
185
- # @param revenue_system_provider [String]
186
- #
187
- # @param sync_status [String]
188
- #
189
- # @param error_message [String] The error message from the revenue system, if available.
190
- #
191
- # @param revenue_system_external_payment_id [String]
192
- end
193
- end
194
- end
195
- end
196
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- # @see MetronomeSDK::Resources::V1::Payments#attempt
7
- class PaymentAttemptParams < MetronomeSDK::Internal::Type::BaseModel
8
- extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
- include MetronomeSDK::Internal::Type::RequestParameters
10
-
11
- # @!attribute customer_id
12
- #
13
- # @return [String]
14
- required :customer_id, String
15
-
16
- # @!attribute invoice_id
17
- #
18
- # @return [String]
19
- required :invoice_id, String
20
-
21
- # @!method initialize(customer_id:, invoice_id:, request_options: {})
22
- # @param customer_id [String]
23
- # @param invoice_id [String]
24
- # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
25
- end
26
- end
27
- end
28
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- # @see MetronomeSDK::Resources::V1::Payments#attempt
7
- class PaymentAttemptResponse < MetronomeSDK::Internal::Type::BaseModel
8
- # @!attribute data
9
- #
10
- # @return [MetronomeSDK::Models::V1::Payment]
11
- required :data, -> { MetronomeSDK::V1::Payment }
12
-
13
- # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V1::Payment]
15
- end
16
- end
17
- end
18
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- # @see MetronomeSDK::Resources::V1::Payments#cancel
7
- class PaymentCancelParams < MetronomeSDK::Internal::Type::BaseModel
8
- extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
- include MetronomeSDK::Internal::Type::RequestParameters
10
-
11
- # @!attribute customer_id
12
- #
13
- # @return [String]
14
- required :customer_id, String
15
-
16
- # @!attribute invoice_id
17
- #
18
- # @return [String]
19
- required :invoice_id, String
20
-
21
- # @!method initialize(customer_id:, invoice_id:, request_options: {})
22
- # @param customer_id [String]
23
- # @param invoice_id [String]
24
- # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
25
- end
26
- end
27
- end
28
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- # @see MetronomeSDK::Resources::V1::Payments#cancel
7
- class PaymentCancelResponse < MetronomeSDK::Internal::Type::BaseModel
8
- # @!attribute data
9
- #
10
- # @return [MetronomeSDK::Models::V1::Payment]
11
- required :data, -> { MetronomeSDK::V1::Payment }
12
-
13
- # @!method initialize(data:)
14
- # @param data [MetronomeSDK::Models::V1::Payment]
15
- end
16
- end
17
- end
18
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- # @see MetronomeSDK::Resources::V1::Payments#list
7
- class PaymentListParams < MetronomeSDK::Internal::Type::BaseModel
8
- extend MetronomeSDK::Internal::Type::RequestParameters::Converter
9
- include MetronomeSDK::Internal::Type::RequestParameters
10
-
11
- # @!attribute customer_id
12
- #
13
- # @return [String]
14
- required :customer_id, String
15
-
16
- # @!attribute invoice_id
17
- #
18
- # @return [String]
19
- required :invoice_id, String
20
-
21
- # @!attribute limit
22
- # The maximum number of payments to return. Defaults to 25.
23
- #
24
- # @return [Integer, nil]
25
- optional :limit, Integer
26
-
27
- # @!attribute next_page
28
- # The next page token from a previous response.
29
- #
30
- # @return [String, nil]
31
- optional :next_page, String
32
-
33
- # @!attribute statuses
34
- #
35
- # @return [Array<Symbol, MetronomeSDK::Models::V1::PaymentStatus>, nil]
36
- optional :statuses, -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::V1::PaymentStatus] }
37
-
38
- # @!method initialize(customer_id:, invoice_id:, limit: nil, next_page: nil, statuses: nil, request_options: {})
39
- # @param customer_id [String]
40
- #
41
- # @param invoice_id [String]
42
- #
43
- # @param limit [Integer] The maximum number of payments to return. Defaults to 25.
44
- #
45
- # @param next_page [String] The next page token from a previous response.
46
- #
47
- # @param statuses [Array<Symbol, MetronomeSDK::Models::V1::PaymentStatus>]
48
- #
49
- # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}]
50
- end
51
- end
52
- end
53
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Models
5
- module V1
6
- module PaymentStatus
7
- extend MetronomeSDK::Internal::Type::Enum
8
-
9
- PENDING = :pending
10
- REQUIRES_INTERVENTION = :requires_intervention
11
- PAID = :paid
12
- CANCELED = :canceled
13
-
14
- # @!method self.values
15
- # @return [Array<Symbol>]
16
- end
17
- end
18
- end
19
- end
@@ -1,102 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module MetronomeSDK
4
- module Resources
5
- class V1
6
- class Payments
7
- # Fetch all payment attempts for the given invoice.
8
- #
9
- # @overload list(customer_id:, invoice_id:, limit: nil, next_page: nil, statuses: nil, request_options: {})
10
- #
11
- # @param customer_id [String]
12
- #
13
- # @param invoice_id [String]
14
- #
15
- # @param limit [Integer] The maximum number of payments to return. Defaults to 25.
16
- #
17
- # @param next_page [String] The next page token from a previous response.
18
- #
19
- # @param statuses [Array<Symbol, MetronomeSDK::Models::V1::PaymentStatus>]
20
- #
21
- # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
22
- #
23
- # @return [MetronomeSDK::Internal::BodyCursorPage<MetronomeSDK::Models::V1::Payment>]
24
- #
25
- # @see MetronomeSDK::Models::V1::PaymentListParams
26
- def list(params)
27
- parsed, options = MetronomeSDK::V1::PaymentListParams.dump_request(params)
28
- @client.request(
29
- method: :post,
30
- path: "v1/payments/list",
31
- body: parsed,
32
- page: MetronomeSDK::Internal::BodyCursorPage,
33
- model: MetronomeSDK::V1::Payment,
34
- options: options
35
- )
36
- end
37
-
38
- # Trigger a new attempt by canceling any existing attempts for this invoice and
39
- # creating a new Payment. This will trigger another attempt to charge the
40
- # Customer's configured Payment Gateway. Payment can only be attempted if all of
41
- # the following are true:
42
- #
43
- # - The Metronome Invoice is finalized
44
- # - PLG Invoicing is configured for the Customer
45
- # - You cannot attempt payments for invoices that have already been `paid` or
46
- # `voided`.
47
- #
48
- # Attempting to payment on an ineligible Invoice or Customer will result in a
49
- # `400` response.
50
- #
51
- # @overload attempt(customer_id:, invoice_id:, request_options: {})
52
- #
53
- # @param customer_id [String]
54
- # @param invoice_id [String]
55
- # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
56
- #
57
- # @return [MetronomeSDK::Models::V1::PaymentAttemptResponse]
58
- #
59
- # @see MetronomeSDK::Models::V1::PaymentAttemptParams
60
- def attempt(params)
61
- parsed, options = MetronomeSDK::V1::PaymentAttemptParams.dump_request(params)
62
- @client.request(
63
- method: :post,
64
- path: "v1/payments/attempt",
65
- body: parsed,
66
- model: MetronomeSDK::Models::V1::PaymentAttemptResponse,
67
- options: options
68
- )
69
- end
70
-
71
- # Cancel an existing payment attempt for an invoice.
72
- #
73
- # @overload cancel(customer_id:, invoice_id:, request_options: {})
74
- #
75
- # @param customer_id [String]
76
- # @param invoice_id [String]
77
- # @param request_options [MetronomeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
78
- #
79
- # @return [MetronomeSDK::Models::V1::PaymentCancelResponse]
80
- #
81
- # @see MetronomeSDK::Models::V1::PaymentCancelParams
82
- def cancel(params)
83
- parsed, options = MetronomeSDK::V1::PaymentCancelParams.dump_request(params)
84
- @client.request(
85
- method: :post,
86
- path: "v1/payments/cancel",
87
- body: parsed,
88
- model: MetronomeSDK::Models::V1::PaymentCancelResponse,
89
- options: options
90
- )
91
- end
92
-
93
- # @api private
94
- #
95
- # @param client [MetronomeSDK::Client]
96
- def initialize(client:)
97
- @client = client
98
- end
99
- end
100
- end
101
- end
102
- end