lithic 0.1.0.pre.alpha.52 → 0.1.0.pre.alpha.53

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 +9 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/internal/transport/pooled_net_requester.rb +30 -24
  5. data/lib/lithic/internal/type/union.rb +15 -3
  6. data/lib/lithic/models/account_activity_list_response.rb +47 -1141
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +47 -1151
  8. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +3 -0
  9. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +7 -0
  10. data/lib/lithic/models/auth_rules/conditional_attribute.rb +4 -0
  11. data/lib/lithic/models/auth_rules/v2_apply_response.rb +14 -0
  12. data/lib/lithic/models/auth_rules/v2_create_params.rb +7 -0
  13. data/lib/lithic/models/auth_rules/v2_create_response.rb +14 -0
  14. data/lib/lithic/models/auth_rules/v2_draft_params.rb +7 -0
  15. data/lib/lithic/models/auth_rules/v2_draft_response.rb +14 -0
  16. data/lib/lithic/models/auth_rules/v2_list_response.rb +14 -0
  17. data/lib/lithic/models/auth_rules/v2_promote_response.rb +14 -0
  18. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +14 -0
  19. data/lib/lithic/models/auth_rules/v2_update_response.rb +14 -0
  20. data/lib/lithic/models/book_transfer_response.rb +51 -48
  21. data/lib/lithic/models/card_provision_response.rb +25 -3
  22. data/lib/lithic/models/event.rb +0 -1
  23. data/lib/lithic/models/event_list_params.rb +0 -1
  24. data/lib/lithic/models/event_subscription.rb +0 -1
  25. data/lib/lithic/models/events/subscription_create_params.rb +0 -1
  26. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +0 -1
  27. data/lib/lithic/models/events/subscription_update_params.rb +0 -1
  28. data/lib/lithic/models/external_bank_account_create_params.rb +1 -8
  29. data/lib/lithic/models/external_payment.rb +21 -23
  30. data/lib/lithic/models/financial_account.rb +48 -39
  31. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +32 -23
  32. data/lib/lithic/models/management_operation_transaction.rb +21 -23
  33. data/lib/lithic/models/payment.rb +249 -131
  34. data/lib/lithic/models/payment_create_response.rb +2 -0
  35. data/lib/lithic/models/payment_retry_response.rb +2 -0
  36. data/lib/lithic/models/provision_response.rb +30 -0
  37. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +32 -1
  38. data/lib/lithic/models/tokenization.rb +1 -0
  39. data/lib/lithic/models/transaction.rb +4 -0
  40. data/lib/lithic/models/verification_method.rb +0 -1
  41. data/lib/lithic/models.rb +2 -0
  42. data/lib/lithic/resources/account_activity.rb +2 -2
  43. data/lib/lithic/resources/auth_rules/v2.rb +0 -72
  44. data/lib/lithic/resources/external_bank_accounts.rb +1 -3
  45. data/lib/lithic/version.rb +1 -1
  46. data/lib/lithic.rb +1 -2
  47. data/rbi/lithic/models/account_activity_list_response.rbi +153 -2629
  48. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +153 -2629
  49. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +6 -0
  50. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +14 -0
  51. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +8 -0
  52. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +28 -0
  53. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +14 -0
  54. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +28 -0
  55. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +14 -0
  56. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +28 -0
  57. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +28 -0
  58. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +28 -0
  59. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +28 -0
  60. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +28 -0
  61. data/rbi/lithic/models/book_transfer_response.rbi +67 -68
  62. data/rbi/lithic/models/card_provision_response.rbi +50 -5
  63. data/rbi/lithic/models/event.rbi +0 -5
  64. data/rbi/lithic/models/event_list_params.rbi +0 -5
  65. data/rbi/lithic/models/event_subscription.rbi +0 -5
  66. data/rbi/lithic/models/events/subscription_create_params.rbi +0 -5
  67. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +0 -5
  68. data/rbi/lithic/models/events/subscription_update_params.rbi +0 -5
  69. data/rbi/lithic/models/external_bank_account_create_params.rbi +0 -6
  70. data/rbi/lithic/models/external_payment.rbi +34 -39
  71. data/rbi/lithic/models/financial_account.rbi +74 -73
  72. data/rbi/lithic/models/financial_accounts/financial_account_credit_config.rbi +46 -33
  73. data/rbi/lithic/models/management_operation_transaction.rbi +49 -60
  74. data/rbi/lithic/models/payment.rbi +384 -168
  75. data/rbi/lithic/models/payment_create_response.rbi +1 -0
  76. data/rbi/lithic/models/payment_retry_response.rbi +1 -0
  77. data/rbi/lithic/models/provision_response.rbi +58 -0
  78. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +83 -0
  79. data/rbi/lithic/models/tokenization.rbi +5 -0
  80. data/rbi/lithic/models/transaction.rbi +20 -0
  81. data/rbi/lithic/models/verification_method.rbi +0 -1
  82. data/rbi/lithic/models.rbi +2 -0
  83. data/rbi/lithic/resources/auth_rules/v2.rbi +0 -64
  84. data/rbi/lithic/resources/external_bank_accounts.rbi +0 -2
  85. data/sig/lithic/models/account_activity_list_response.rbs +48 -1036
  86. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +48 -1036
  87. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +2 -0
  88. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +2 -0
  89. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +4 -0
  90. data/sig/lithic/models/auth_rules/v2_create_params.rbs +2 -0
  91. data/sig/lithic/models/auth_rules/v2_create_response.rbs +4 -0
  92. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +2 -0
  93. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +4 -0
  94. data/sig/lithic/models/auth_rules/v2_list_response.rbs +4 -0
  95. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +4 -0
  96. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +4 -0
  97. data/sig/lithic/models/auth_rules/v2_update_response.rbs +4 -0
  98. data/sig/lithic/models/book_transfer_response.rbs +26 -19
  99. data/sig/lithic/models/card_provision_response.rbs +22 -5
  100. data/sig/lithic/models/event.rbs +0 -2
  101. data/sig/lithic/models/event_list_params.rbs +0 -2
  102. data/sig/lithic/models/event_subscription.rbs +0 -2
  103. data/sig/lithic/models/events/subscription_create_params.rbs +0 -2
  104. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +0 -2
  105. data/sig/lithic/models/events/subscription_update_params.rbs +0 -2
  106. data/sig/lithic/models/external_bank_account_create_params.rbs +1 -6
  107. data/sig/lithic/models/external_payment.rbs +19 -26
  108. data/sig/lithic/models/financial_account.rbs +28 -30
  109. data/sig/lithic/models/financial_accounts/financial_account_credit_config.rbs +21 -15
  110. data/sig/lithic/models/management_operation_transaction.rbs +19 -26
  111. data/sig/lithic/models/payment.rbs +191 -74
  112. data/sig/lithic/models/provision_response.rbs +36 -0
  113. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +28 -0
  114. data/sig/lithic/models/tokenization.rbs +2 -0
  115. data/sig/lithic/models/transaction.rbs +8 -0
  116. data/sig/lithic/models/verification_method.rbs +1 -7
  117. data/sig/lithic/models.rbs +2 -0
  118. data/sig/lithic/resources/auth_rules/v2.rbs +0 -5
  119. data/sig/lithic/resources/external_bank_accounts.rbs +0 -1
  120. metadata +5 -8
  121. data/lib/lithic/models/auth_rules/v2_report_params.rb +0 -16
  122. data/lib/lithic/models/auth_rules/v2_report_response.rb +0 -18
  123. data/rbi/lithic/models/auth_rules/v2_report_params.rbi +0 -29
  124. data/rbi/lithic/models/auth_rules/v2_report_response.rbi +0 -31
  125. data/sig/lithic/models/auth_rules/v2_report_params.rbs +0 -16
  126. data/sig/lithic/models/auth_rules/v2_report_response.rbs +0 -17
@@ -16,11 +16,6 @@ module Lithic
16
16
  # @return [Time]
17
17
  required :created, Time
18
18
 
19
- # @!attribute family
20
- #
21
- # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Family]
22
- required :family, enum: -> { Lithic::ManagementOperationTransaction::Family }
23
-
24
19
  # @!attribute status
25
20
  # The status of the transaction
26
21
  #
@@ -59,6 +54,12 @@ module Lithic
59
54
  # @return [Lithic::Models::ExternalResource, nil]
60
55
  optional :external_resource, -> { Lithic::ExternalResource }, nil?: true
61
56
 
57
+ # @!attribute family
58
+ # MANAGEMENT_OPERATION - Management Operation Transaction
59
+ #
60
+ # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Family, nil]
61
+ optional :family, enum: -> { Lithic::ManagementOperationTransaction::Family }
62
+
62
63
  # @!attribute financial_account_token
63
64
  #
64
65
  # @return [String, nil]
@@ -93,13 +94,11 @@ module Lithic
93
94
  # @return [String, nil]
94
95
  optional :user_defined_id, String
95
96
 
96
- # @!method initialize(token:, created:, family:, status:, updated:, category: nil, currency: nil, direction: nil, events: nil, external_resource: nil, financial_account_token: nil, pending_amount: nil, result: nil, settled_amount: nil, transaction_series: nil, user_defined_id: nil)
97
+ # @!method initialize(token:, created:, status:, updated:, category: nil, currency: nil, direction: nil, events: nil, external_resource: nil, family: nil, financial_account_token: nil, pending_amount: nil, result: nil, settled_amount: nil, transaction_series: nil, user_defined_id: nil)
97
98
  # @param token [String] Unique identifier for the transaction
98
99
  #
99
100
  # @param created [Time] ISO 8601 timestamp of when the transaction was created
100
101
  #
101
- # @param family [Symbol, Lithic::Models::ManagementOperationTransaction::Family]
102
- #
103
102
  # @param status [Symbol, Lithic::Models::ManagementOperationTransaction::Status] The status of the transaction
104
103
  #
105
104
  # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated
@@ -114,6 +113,8 @@ module Lithic
114
113
  #
115
114
  # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation
116
115
  #
116
+ # @param family [Symbol, Lithic::Models::ManagementOperationTransaction::Family] MANAGEMENT_OPERATION - Management Operation Transaction
117
+ #
117
118
  # @param financial_account_token [String]
118
119
  #
119
120
  # @param pending_amount [Integer]
@@ -126,21 +127,6 @@ module Lithic
126
127
  #
127
128
  # @param user_defined_id [String]
128
129
 
129
- # @see Lithic::Models::ManagementOperationTransaction#family
130
- module Family
131
- extend Lithic::Internal::Type::Enum
132
-
133
- CARD = :CARD
134
- PAYMENT = :PAYMENT
135
- TRANSFER = :TRANSFER
136
- INTERNAL = :INTERNAL
137
- EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT
138
- MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION
139
-
140
- # @!method self.values
141
- # @return [Array<Symbol>]
142
- end
143
-
144
130
  # The status of the transaction
145
131
  #
146
132
  # @see Lithic::Models::ManagementOperationTransaction#status
@@ -290,6 +276,18 @@ module Lithic
290
276
  end
291
277
  end
292
278
 
279
+ # MANAGEMENT_OPERATION - Management Operation Transaction
280
+ #
281
+ # @see Lithic::Models::ManagementOperationTransaction#family
282
+ module Family
283
+ extend Lithic::Internal::Type::Enum
284
+
285
+ MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION
286
+
287
+ # @!method self.values
288
+ # @return [Array<Symbol>]
289
+ end
290
+
293
291
  # @see Lithic::Models::ManagementOperationTransaction#result
294
292
  module Result
295
293
  extend Lithic::Internal::Type::Enum
@@ -5,192 +5,214 @@ module Lithic
5
5
  # @see Lithic::Resources::Payments#retrieve
6
6
  class Payment < Lithic::Internal::Type::BaseModel
7
7
  # @!attribute token
8
- # Globally unique identifier.
8
+ # Unique identifier for the transaction
9
9
  #
10
10
  # @return [String]
11
11
  required :token, String
12
12
 
13
13
  # @!attribute category
14
- # Payment category
14
+ # Transaction category
15
15
  #
16
16
  # @return [Symbol, Lithic::Models::Payment::Category]
17
17
  required :category, enum: -> { Lithic::Payment::Category }
18
18
 
19
19
  # @!attribute created
20
- # Date and time when the payment first occurred. UTC time zone.
20
+ # ISO 8601 timestamp of when the transaction was created
21
21
  #
22
22
  # @return [Time]
23
23
  required :created, Time
24
24
 
25
- # @!attribute currency
26
- # 3-character alphabetic ISO 4217 code for the settling currency of the payment.
27
- #
28
- # @return [String]
29
- required :currency, String
30
-
31
25
  # @!attribute descriptor
32
- # A string that provides a description of the payment; may be useful to display to
33
- # users.
26
+ # Transaction descriptor
34
27
  #
35
28
  # @return [String]
36
29
  required :descriptor, String
37
30
 
38
31
  # @!attribute direction
32
+ # Transfer direction
39
33
  #
40
34
  # @return [Symbol, Lithic::Models::Payment::Direction]
41
35
  required :direction, enum: -> { Lithic::Payment::Direction }
42
36
 
43
37
  # @!attribute events
44
- # A list of all payment events that have modified this payment.
38
+ # List of transaction events
45
39
  #
46
40
  # @return [Array<Lithic::Models::Payment::Event>]
47
41
  required :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::Payment::Event] }
48
42
 
49
- # @!attribute external_bank_account_token
43
+ # @!attribute family
44
+ # PAYMENT - Payment Transaction
50
45
  #
51
- # @return [String, nil]
52
- required :external_bank_account_token, String, nil?: true
46
+ # @return [Symbol, :PAYMENT]
47
+ required :family, const: :PAYMENT
53
48
 
54
49
  # @!attribute financial_account_token
50
+ # Financial account token
55
51
  #
56
52
  # @return [String]
57
53
  required :financial_account_token, String
58
54
 
59
55
  # @!attribute method_
56
+ # Transfer method
60
57
  #
61
58
  # @return [Symbol, Lithic::Models::Payment::Method]
62
59
  required :method_, enum: -> { Lithic::Payment::Method }, api_name: :method
63
60
 
64
61
  # @!attribute method_attributes
62
+ # Method-specific attributes
65
63
  #
66
- # @return [Lithic::Models::Payment::MethodAttributes]
67
- required :method_attributes, -> { Lithic::Payment::MethodAttributes }
64
+ # @return [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes]
65
+ required :method_attributes, union: -> { Lithic::Payment::MethodAttributes }
68
66
 
69
67
  # @!attribute pending_amount
70
- # Pending amount of the payment in the currency's smallest unit (e.g., cents). The
71
- # value of this field will go to zero over time once the payment is settled.
68
+ # Pending amount in cents
72
69
  #
73
70
  # @return [Integer]
74
71
  required :pending_amount, Integer
75
72
 
76
73
  # @!attribute related_account_tokens
77
- # Account tokens related to a payment transaction
74
+ # Related account tokens for the transaction
78
75
  #
79
76
  # @return [Lithic::Models::Payment::RelatedAccountTokens]
80
77
  required :related_account_tokens, -> { Lithic::Payment::RelatedAccountTokens }
81
78
 
82
79
  # @!attribute result
83
- # APPROVED payments were successful while DECLINED payments were declined by
84
- # Lithic or returned.
80
+ # Transaction result
85
81
  #
86
82
  # @return [Symbol, Lithic::Models::Payment::Result]
87
83
  required :result, enum: -> { Lithic::Payment::Result }
88
84
 
89
85
  # @!attribute settled_amount
90
- # Amount of the payment that has been settled in the currency's smallest unit
91
- # (e.g., cents).
86
+ # Settled amount in cents
92
87
  #
93
88
  # @return [Integer]
94
89
  required :settled_amount, Integer
95
90
 
96
91
  # @!attribute source
92
+ # Transaction source
97
93
  #
98
94
  # @return [Symbol, Lithic::Models::Payment::Source]
99
95
  required :source, enum: -> { Lithic::Payment::Source }
100
96
 
101
97
  # @!attribute status
102
- # Status types:
103
- #
104
- # - `DECLINED` - The payment was declined.
105
- # - `PENDING` - The payment is being processed and has yet to settle or release
106
- # (origination debit).
107
- # - `RETURNED` - The payment has been returned.
108
- # - `SETTLED` - The payment is completed.
98
+ # The status of the transaction
109
99
  #
110
100
  # @return [Symbol, Lithic::Models::Payment::Status]
111
101
  required :status, enum: -> { Lithic::Payment::Status }
112
102
 
113
103
  # @!attribute updated
114
- # Date and time when the financial transaction was last updated. UTC time zone.
104
+ # ISO 8601 timestamp of when the transaction was last updated
115
105
  #
116
106
  # @return [Time]
117
107
  required :updated, Time
118
108
 
119
- # @!attribute user_defined_id
109
+ # @!attribute currency
110
+ # Currency of the transaction in ISO 4217 format
120
111
  #
121
112
  # @return [String, nil]
122
- required :user_defined_id, String, nil?: true
113
+ optional :currency, String
123
114
 
124
115
  # @!attribute expected_release_date
125
- # Date when the financial transaction expected to be released after settlement
116
+ # Expected release date for the transaction
126
117
  #
127
118
  # @return [Date, nil]
128
- optional :expected_release_date, Date
119
+ optional :expected_release_date, Date, nil?: true
120
+
121
+ # @!attribute external_bank_account_token
122
+ # External bank account token
123
+ #
124
+ # @return [String, nil]
125
+ optional :external_bank_account_token, String, nil?: true
129
126
 
130
127
  # @!attribute type
131
- # Payment type indicating the specific ACH message or Fedwire transfer type
132
128
  #
133
129
  # @return [Symbol, Lithic::Models::Payment::Type, nil]
134
130
  optional :type, enum: -> { Lithic::Payment::Type }
135
131
 
136
- # @!method initialize(token:, category:, created:, currency:, descriptor:, direction:, events:, external_bank_account_token:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, user_defined_id:, expected_release_date: nil, type: nil)
137
- # Some parameter documentations has been truncated, see {Lithic::Models::Payment}
138
- # for more details.
132
+ # @!attribute user_defined_id
133
+ # User-defined identifier
134
+ #
135
+ # @return [String, nil]
136
+ optional :user_defined_id, String, nil?: true
137
+
138
+ # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, type: nil, user_defined_id: nil, family: :PAYMENT)
139
+ # Payment transaction
139
140
  #
140
- # @param token [String] Globally unique identifier.
141
+ # @param token [String] Unique identifier for the transaction
141
142
  #
142
- # @param category [Symbol, Lithic::Models::Payment::Category] Payment category
143
+ # @param category [Symbol, Lithic::Models::Payment::Category] Transaction category
143
144
  #
144
- # @param created [Time] Date and time when the payment first occurred. UTC time zone.
145
+ # @param created [Time] ISO 8601 timestamp of when the transaction was created
145
146
  #
146
- # @param currency [String] 3-character alphabetic ISO 4217 code for the settling currency of the payment.
147
+ # @param descriptor [String] Transaction descriptor
147
148
  #
148
- # @param descriptor [String] A string that provides a description of the payment; may be useful to display to
149
+ # @param direction [Symbol, Lithic::Models::Payment::Direction] Transfer direction
149
150
  #
150
- # @param direction [Symbol, Lithic::Models::Payment::Direction]
151
+ # @param events [Array<Lithic::Models::Payment::Event>] List of transaction events
151
152
  #
152
- # @param events [Array<Lithic::Models::Payment::Event>] A list of all payment events that have modified this payment.
153
+ # @param financial_account_token [String] Financial account token
153
154
  #
154
- # @param external_bank_account_token [String, nil]
155
+ # @param method_ [Symbol, Lithic::Models::Payment::Method] Transfer method
155
156
  #
156
- # @param financial_account_token [String]
157
+ # @param method_attributes [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes] Method-specific attributes
157
158
  #
158
- # @param method_ [Symbol, Lithic::Models::Payment::Method]
159
+ # @param pending_amount [Integer] Pending amount in cents
159
160
  #
160
- # @param method_attributes [Lithic::Models::Payment::MethodAttributes]
161
+ # @param related_account_tokens [Lithic::Models::Payment::RelatedAccountTokens] Related account tokens for the transaction
161
162
  #
162
- # @param pending_amount [Integer] Pending amount of the payment in the currency's smallest unit (e.g., cents).
163
+ # @param result [Symbol, Lithic::Models::Payment::Result] Transaction result
163
164
  #
164
- # @param related_account_tokens [Lithic::Models::Payment::RelatedAccountTokens] Account tokens related to a payment transaction
165
+ # @param settled_amount [Integer] Settled amount in cents
165
166
  #
166
- # @param result [Symbol, Lithic::Models::Payment::Result] APPROVED payments were successful while DECLINED payments were declined by Lithi
167
+ # @param source [Symbol, Lithic::Models::Payment::Source] Transaction source
167
168
  #
168
- # @param settled_amount [Integer] Amount of the payment that has been settled in the currency's smallest unit (e.g
169
+ # @param status [Symbol, Lithic::Models::Payment::Status] The status of the transaction
169
170
  #
170
- # @param source [Symbol, Lithic::Models::Payment::Source]
171
+ # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated
171
172
  #
172
- # @param status [Symbol, Lithic::Models::Payment::Status] Status types:
173
+ # @param currency [String] Currency of the transaction in ISO 4217 format
173
174
  #
174
- # @param updated [Time] Date and time when the financial transaction was last updated. UTC time zone.
175
+ # @param expected_release_date [Date, nil] Expected release date for the transaction
175
176
  #
176
- # @param user_defined_id [String, nil]
177
+ # @param external_bank_account_token [String, nil] External bank account token
177
178
  #
178
- # @param expected_release_date [Date] Date when the financial transaction expected to be released after settlement
179
+ # @param type [Symbol, Lithic::Models::Payment::Type]
179
180
  #
180
- # @param type [Symbol, Lithic::Models::Payment::Type] Payment type indicating the specific ACH message or Fedwire transfer type
181
+ # @param user_defined_id [String, nil] User-defined identifier
182
+ #
183
+ # @param family [Symbol, :PAYMENT] PAYMENT - Payment Transaction
181
184
 
182
- # Payment category
185
+ # Transaction category
183
186
  #
184
187
  # @see Lithic::Models::Payment#category
185
188
  module Category
186
189
  extend Lithic::Internal::Type::Enum
187
190
 
188
191
  ACH = :ACH
192
+ BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
193
+ FEE = :FEE
194
+ REWARD = :REWARD
195
+ ADJUSTMENT = :ADJUSTMENT
196
+ DERECOGNITION = :DERECOGNITION
197
+ DISPUTE = :DISPUTE
198
+ CARD = :CARD
199
+ EXTERNAL_ACH = :EXTERNAL_ACH
200
+ EXTERNAL_CHECK = :EXTERNAL_CHECK
201
+ EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER
202
+ EXTERNAL_WIRE = :EXTERNAL_WIRE
203
+ MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT
204
+ MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE
205
+ MANAGEMENT_FEE = :MANAGEMENT_FEE
206
+ MANAGEMENT_REWARD = :MANAGEMENT_REWARD
207
+ MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
208
+ PROGRAM_FUNDING = :PROGRAM_FUNDING
189
209
 
190
210
  # @!method self.values
191
211
  # @return [Array<Symbol>]
192
212
  end
193
213
 
214
+ # Transfer direction
215
+ #
194
216
  # @see Lithic::Models::Payment#direction
195
217
  module Direction
196
218
  extend Lithic::Internal::Type::Enum
@@ -349,74 +371,175 @@ module Lithic
349
371
  end
350
372
  end
351
373
 
374
+ # Transfer method
375
+ #
352
376
  # @see Lithic::Models::Payment#method_
353
377
  module Method
354
378
  extend Lithic::Internal::Type::Enum
355
379
 
356
380
  ACH_NEXT_DAY = :ACH_NEXT_DAY
357
381
  ACH_SAME_DAY = :ACH_SAME_DAY
382
+ WIRE = :WIRE
358
383
 
359
384
  # @!method self.values
360
385
  # @return [Array<Symbol>]
361
386
  end
362
387
 
388
+ # Method-specific attributes
389
+ #
363
390
  # @see Lithic::Models::Payment#method_attributes
364
- class MethodAttributes < Lithic::Internal::Type::BaseModel
365
- # @!attribute company_id
366
- #
367
- # @return [String, nil]
368
- required :company_id, String, nil?: true
369
-
370
- # @!attribute receipt_routing_number
371
- #
372
- # @return [String, nil]
373
- required :receipt_routing_number, String, nil?: true
374
-
375
- # @!attribute retries
376
- #
377
- # @return [Integer, nil]
378
- required :retries, Integer, nil?: true
379
-
380
- # @!attribute return_reason_code
381
- #
382
- # @return [String, nil]
383
- required :return_reason_code, String, nil?: true
384
-
385
- # @!attribute sec_code
386
- #
387
- # @return [Symbol, Lithic::Models::Payment::MethodAttributes::SecCode]
388
- required :sec_code, enum: -> { Lithic::Payment::MethodAttributes::SecCode }
389
-
390
- # @!attribute trace_numbers
391
- #
392
- # @return [Array<String, nil>]
393
- required :trace_numbers, Lithic::Internal::Type::ArrayOf[String, nil?: true]
394
-
395
- # @!attribute addenda
396
- #
397
- # @return [String, nil]
398
- optional :addenda, String, nil?: true
399
-
400
- # @!method initialize(company_id:, receipt_routing_number:, retries:, return_reason_code:, sec_code:, trace_numbers:, addenda: nil)
401
- # @param company_id [String, nil]
402
- # @param receipt_routing_number [String, nil]
403
- # @param retries [Integer, nil]
404
- # @param return_reason_code [String, nil]
405
- # @param sec_code [Symbol, Lithic::Models::Payment::MethodAttributes::SecCode]
406
- # @param trace_numbers [Array<String, nil>]
407
- # @param addenda [String, nil]
408
-
409
- # @see Lithic::Models::Payment::MethodAttributes#sec_code
410
- module SecCode
411
- extend Lithic::Internal::Type::Enum
412
-
413
- CCD = :CCD
414
- PPD = :PPD
415
- WEB = :WEB
391
+ module MethodAttributes
392
+ extend Lithic::Internal::Type::Union
393
+
394
+ variant -> { Lithic::Payment::MethodAttributes::ACHMethodAttributes }
395
+
396
+ variant -> { Lithic::Payment::MethodAttributes::WireMethodAttributes }
397
+
398
+ class ACHMethodAttributes < Lithic::Internal::Type::BaseModel
399
+ # @!attribute sec_code
400
+ # SEC code for ACH transaction
401
+ #
402
+ # @return [Symbol, Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::SecCode]
403
+ required :sec_code, enum: -> { Lithic::Payment::MethodAttributes::ACHMethodAttributes::SecCode }
404
+
405
+ # @!attribute addenda
406
+ # Addenda information
407
+ #
408
+ # @return [String, nil]
409
+ optional :addenda, String, nil?: true
410
+
411
+ # @!attribute company_id
412
+ # Company ID for the ACH transaction
413
+ #
414
+ # @return [String, nil]
415
+ optional :company_id, String, nil?: true
416
+
417
+ # @!attribute receipt_routing_number
418
+ # Receipt routing number
419
+ #
420
+ # @return [String, nil]
421
+ optional :receipt_routing_number, String, nil?: true
422
+
423
+ # @!attribute retries
424
+ # Number of retries attempted
425
+ #
426
+ # @return [Integer, nil]
427
+ optional :retries, Integer, nil?: true
428
+
429
+ # @!attribute return_reason_code
430
+ # Return reason code if the transaction was returned
431
+ #
432
+ # @return [String, nil]
433
+ optional :return_reason_code, String, nil?: true
434
+
435
+ # @!attribute trace_numbers
436
+ # Trace numbers for the ACH transaction
437
+ #
438
+ # @return [Array<String>, nil]
439
+ optional :trace_numbers, Lithic::Internal::Type::ArrayOf[String]
440
+
441
+ # @!method initialize(sec_code:, addenda: nil, company_id: nil, receipt_routing_number: nil, retries: nil, return_reason_code: nil, trace_numbers: nil)
442
+ # @param sec_code [Symbol, Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::SecCode] SEC code for ACH transaction
443
+ #
444
+ # @param addenda [String, nil] Addenda information
445
+ #
446
+ # @param company_id [String, nil] Company ID for the ACH transaction
447
+ #
448
+ # @param receipt_routing_number [String, nil] Receipt routing number
449
+ #
450
+ # @param retries [Integer, nil] Number of retries attempted
451
+ #
452
+ # @param return_reason_code [String, nil] Return reason code if the transaction was returned
453
+ #
454
+ # @param trace_numbers [Array<String>] Trace numbers for the ACH transaction
455
+
456
+ # SEC code for ACH transaction
457
+ #
458
+ # @see Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes#sec_code
459
+ module SecCode
460
+ extend Lithic::Internal::Type::Enum
461
+
462
+ CCD = :CCD
463
+ PPD = :PPD
464
+ WEB = :WEB
465
+ TEL = :TEL
466
+ CIE = :CIE
467
+ CTX = :CTX
468
+
469
+ # @!method self.values
470
+ # @return [Array<Symbol>]
471
+ end
472
+ end
416
473
 
417
- # @!method self.values
418
- # @return [Array<Symbol>]
474
+ class WireMethodAttributes < Lithic::Internal::Type::BaseModel
475
+ # @!attribute wire_network
476
+ # Type of wire transfer
477
+ #
478
+ # @return [Symbol, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes::WireNetwork]
479
+ required :wire_network, enum: -> { Lithic::Payment::MethodAttributes::WireMethodAttributes::WireNetwork }
480
+
481
+ # @!attribute creditor
482
+ #
483
+ # @return [Lithic::Models::WirePartyDetails, nil]
484
+ optional :creditor, -> { Lithic::WirePartyDetails }
485
+
486
+ # @!attribute debtor
487
+ #
488
+ # @return [Lithic::Models::WirePartyDetails, nil]
489
+ optional :debtor, -> { Lithic::WirePartyDetails }
490
+
491
+ # @!attribute message_id
492
+ # Point to point reference identifier, as assigned by the instructing party, used
493
+ # for tracking the message through the Fedwire system
494
+ #
495
+ # @return [String, nil]
496
+ optional :message_id, String, nil?: true
497
+
498
+ # @!attribute remittance_information
499
+ # Payment details or invoice reference
500
+ #
501
+ # @return [String, nil]
502
+ optional :remittance_information, String, nil?: true
503
+
504
+ # @!attribute wire_message_type
505
+ # Type of wire message
506
+ #
507
+ # @return [String, nil]
508
+ optional :wire_message_type, String
509
+
510
+ # @!method initialize(wire_network:, creditor: nil, debtor: nil, message_id: nil, remittance_information: nil, wire_message_type: nil)
511
+ # Some parameter documentations has been truncated, see
512
+ # {Lithic::Models::Payment::MethodAttributes::WireMethodAttributes} for more
513
+ # details.
514
+ #
515
+ # @param wire_network [Symbol, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes::WireNetwork] Type of wire transfer
516
+ #
517
+ # @param creditor [Lithic::Models::WirePartyDetails]
518
+ #
519
+ # @param debtor [Lithic::Models::WirePartyDetails]
520
+ #
521
+ # @param message_id [String, nil] Point to point reference identifier, as assigned by the instructing party, used
522
+ #
523
+ # @param remittance_information [String, nil] Payment details or invoice reference
524
+ #
525
+ # @param wire_message_type [String] Type of wire message
526
+
527
+ # Type of wire transfer
528
+ #
529
+ # @see Lithic::Models::Payment::MethodAttributes::WireMethodAttributes#wire_network
530
+ module WireNetwork
531
+ extend Lithic::Internal::Type::Enum
532
+
533
+ FEDWIRE = :FEDWIRE
534
+ SWIFT = :SWIFT
535
+
536
+ # @!method self.values
537
+ # @return [Array<Symbol>]
538
+ end
419
539
  end
540
+
541
+ # @!method self.variants
542
+ # @return [Array(Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes)]
420
543
  end
421
544
 
422
545
  # @see Lithic::Models::Payment#related_account_tokens
@@ -434,15 +557,14 @@ module Lithic
434
557
  required :business_account_token, String, nil?: true
435
558
 
436
559
  # @!method initialize(account_token:, business_account_token:)
437
- # Account tokens related to a payment transaction
560
+ # Related account tokens for the transaction
438
561
  #
439
562
  # @param account_token [String, nil] Globally unique identifier for the account
440
563
  #
441
564
  # @param business_account_token [String, nil] Globally unique identifier for the business account
442
565
  end
443
566
 
444
- # APPROVED payments were successful while DECLINED payments were declined by
445
- # Lithic or returned.
567
+ # Transaction result
446
568
  #
447
569
  # @see Lithic::Models::Payment#result
448
570
  module Result
@@ -455,40 +577,36 @@ module Lithic
455
577
  # @return [Array<Symbol>]
456
578
  end
457
579
 
580
+ # Transaction source
581
+ #
458
582
  # @see Lithic::Models::Payment#source
459
583
  module Source
460
584
  extend Lithic::Internal::Type::Enum
461
585
 
462
- CUSTOMER = :CUSTOMER
463
586
  LITHIC = :LITHIC
587
+ EXTERNAL = :EXTERNAL
588
+ CUSTOMER = :CUSTOMER
464
589
 
465
590
  # @!method self.values
466
591
  # @return [Array<Symbol>]
467
592
  end
468
593
 
469
- # Status types:
470
- #
471
- # - `DECLINED` - The payment was declined.
472
- # - `PENDING` - The payment is being processed and has yet to settle or release
473
- # (origination debit).
474
- # - `RETURNED` - The payment has been returned.
475
- # - `SETTLED` - The payment is completed.
594
+ # The status of the transaction
476
595
  #
477
596
  # @see Lithic::Models::Payment#status
478
597
  module Status
479
598
  extend Lithic::Internal::Type::Enum
480
599
 
481
- DECLINED = :DECLINED
482
600
  PENDING = :PENDING
483
- RETURNED = :RETURNED
484
601
  SETTLED = :SETTLED
602
+ DECLINED = :DECLINED
603
+ REVERSED = :REVERSED
604
+ CANCELED = :CANCELED
485
605
 
486
606
  # @!method self.values
487
607
  # @return [Array<Symbol>]
488
608
  end
489
609
 
490
- # Payment type indicating the specific ACH message or Fedwire transfer type
491
- #
492
610
  # @see Lithic::Models::Payment#type
493
611
  module Type
494
612
  extend Lithic::Internal::Type::Enum
@@ -11,6 +11,8 @@ module Lithic
11
11
  optional :balance, -> { Lithic::Balance }
12
12
 
13
13
  # @!method initialize(balance: nil)
14
+ # Payment transaction
15
+ #
14
16
  # @param balance [Lithic::Models::Balance] Balance
15
17
  end
16
18
  end