lithic 0.1.0 → 0.2.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +36 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/errors.rb +15 -0
  6. data/lib/lithic/models/account_holder_created_webhook_event.rb +75 -0
  7. data/lib/lithic/models/account_holder_document_updated_webhook_event.rb +191 -0
  8. data/lib/lithic/models/account_holder_updated_webhook_event.rb +702 -0
  9. data/lib/lithic/models/account_holder_verification_webhook_event.rb +69 -0
  10. data/lib/lithic/models/asa_request_webhook_event.rb +1010 -0
  11. data/lib/lithic/models/auth_rules_backtest_report_created_webhook_event.rb +16 -0
  12. data/lib/lithic/models/balance_updated_webhook_event.rb +23 -0
  13. data/lib/lithic/models/book_transfer_transaction_created_webhook_event.rb +18 -0
  14. data/lib/lithic/models/book_transfer_transaction_updated_webhook_event.rb +18 -0
  15. data/lib/lithic/models/card_converted_webhook_event.rb +24 -0
  16. data/lib/lithic/models/card_created_webhook_event.rb +32 -0
  17. data/lib/lithic/models/card_reissued_webhook_event.rb +24 -0
  18. data/lib/lithic/models/card_renewed_webhook_event.rb +56 -0
  19. data/lib/lithic/models/card_shipped_webhook_event.rb +70 -0
  20. data/lib/lithic/models/card_transaction_enhanced_data_created_webhook_event.rb +16 -0
  21. data/lib/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rb +16 -0
  22. data/lib/lithic/models/card_transaction_updated_webhook_event.rb +16 -0
  23. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +253 -0
  24. data/lib/lithic/models/digital_wallet_tokenization_result_webhook_event.rb +145 -0
  25. data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
  26. data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
  27. data/lib/lithic/models/digital_wallet_tokenization_updated_webhook_event.rb +47 -0
  28. data/lib/lithic/models/dispute_evidence_upload_failed_webhook_event.rb +18 -0
  29. data/lib/lithic/models/dispute_transaction_created_webhook_event.rb +18 -0
  30. data/lib/lithic/models/dispute_transaction_updated_webhook_event.rb +18 -0
  31. data/lib/lithic/models/dispute_updated_webhook_event.rb +18 -0
  32. data/lib/lithic/models/external_bank_account_created_webhook_event.rb +16 -0
  33. data/lib/lithic/models/external_bank_account_updated_webhook_event.rb +16 -0
  34. data/lib/lithic/models/external_payment_created_webhook_event.rb +16 -0
  35. data/lib/lithic/models/external_payment_updated_webhook_event.rb +16 -0
  36. data/lib/lithic/models/financial_account_created_webhook_event.rb +16 -0
  37. data/lib/lithic/models/financial_account_updated_webhook_event.rb +16 -0
  38. data/lib/lithic/models/funding_event_created_webhook_event.rb +16 -0
  39. data/lib/lithic/models/internal_transaction_created_webhook_event.rb +16 -0
  40. data/lib/lithic/models/internal_transaction_updated_webhook_event.rb +16 -0
  41. data/lib/lithic/models/loan_tape_created_webhook_event.rb +16 -0
  42. data/lib/lithic/models/loan_tape_updated_webhook_event.rb +16 -0
  43. data/lib/lithic/models/management_operation_created_webhook_event.rb +16 -0
  44. data/lib/lithic/models/management_operation_updated_webhook_event.rb +16 -0
  45. data/lib/lithic/models/network_total_created_webhook_event.rb +16 -0
  46. data/lib/lithic/models/network_total_updated_webhook_event.rb +16 -0
  47. data/lib/lithic/models/parsed_webhook_event.rb +818 -0
  48. data/lib/lithic/models/payment_transaction_created_webhook_event.rb +18 -0
  49. data/lib/lithic/models/payment_transaction_updated_webhook_event.rb +18 -0
  50. data/lib/lithic/models/settlement_report_updated_webhook_event.rb +16 -0
  51. data/lib/lithic/models/statements_created_webhook_event.rb +16 -0
  52. data/lib/lithic/models/three_ds_authentication_challenge_webhook_event.rb +89 -0
  53. data/lib/lithic/models/three_ds_authentication_created_webhook_event.rb +18 -0
  54. data/lib/lithic/models/three_ds_authentication_updated_webhook_event.rb +18 -0
  55. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +249 -0
  56. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +159 -0
  57. data/lib/lithic/models/tokenization_result_webhook_event.rb +141 -0
  58. data/lib/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
  59. data/lib/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
  60. data/lib/lithic/models/tokenization_updated_webhook_event.rb +47 -0
  61. data/lib/lithic/models/webhook_parsed_params.rb +14 -0
  62. data/lib/lithic/models.rb +120 -0
  63. data/lib/lithic/resources/webhooks.rb +87 -0
  64. data/lib/lithic/version.rb +1 -1
  65. data/lib/lithic.rb +74 -17
  66. data/rbi/lithic/client.rbi +3 -0
  67. data/rbi/lithic/models/account_holder_created_webhook_event.rbi +149 -0
  68. data/rbi/lithic/models/account_holder_document_updated_webhook_event.rbi +479 -0
  69. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +1274 -0
  70. data/rbi/lithic/models/account_holder_verification_webhook_event.rbi +143 -0
  71. data/rbi/lithic/models/asa_request_webhook_event.rbi +2229 -0
  72. data/rbi/lithic/models/auth_rules_backtest_report_created_webhook_event.rbi +30 -0
  73. data/rbi/lithic/models/balance_updated_webhook_event.rbi +43 -0
  74. data/rbi/lithic/models/book_transfer_transaction_created_webhook_event.rbi +31 -0
  75. data/rbi/lithic/models/book_transfer_transaction_updated_webhook_event.rbi +31 -0
  76. data/rbi/lithic/models/card_converted_webhook_event.rbi +35 -0
  77. data/rbi/lithic/models/card_created_webhook_event.rbi +53 -0
  78. data/rbi/lithic/models/card_reissued_webhook_event.rbi +38 -0
  79. data/rbi/lithic/models/card_renewed_webhook_event.rbi +92 -0
  80. data/rbi/lithic/models/card_shipped_webhook_event.rbi +150 -0
  81. data/rbi/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbi +30 -0
  82. data/rbi/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbi +30 -0
  83. data/rbi/lithic/models/card_transaction_updated_webhook_event.rbi +30 -0
  84. data/rbi/lithic/models/digital_wallet_token_metadata.rbi +2 -2
  85. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +548 -0
  86. data/rbi/lithic/models/digital_wallet_tokenization_result_webhook_event.rbi +295 -0
  87. data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
  88. data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
  89. data/rbi/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbi +73 -0
  90. data/rbi/lithic/models/dispute_evidence_upload_failed_webhook_event.rbi +31 -0
  91. data/rbi/lithic/models/dispute_transaction_created_webhook_event.rbi +31 -0
  92. data/rbi/lithic/models/dispute_transaction_updated_webhook_event.rbi +31 -0
  93. data/rbi/lithic/models/dispute_updated_webhook_event.rbi +28 -0
  94. data/rbi/lithic/models/external_bank_account_created_webhook_event.rbi +30 -0
  95. data/rbi/lithic/models/external_bank_account_updated_webhook_event.rbi +30 -0
  96. data/rbi/lithic/models/external_payment_created_webhook_event.rbi +30 -0
  97. data/rbi/lithic/models/external_payment_updated_webhook_event.rbi +30 -0
  98. data/rbi/lithic/models/financial_account_created_webhook_event.rbi +30 -0
  99. data/rbi/lithic/models/financial_account_updated_webhook_event.rbi +30 -0
  100. data/rbi/lithic/models/funding_event_created_webhook_event.rbi +30 -0
  101. data/rbi/lithic/models/internal_transaction.rbi +15 -10
  102. data/rbi/lithic/models/internal_transaction_created_webhook_event.rbi +30 -0
  103. data/rbi/lithic/models/internal_transaction_updated_webhook_event.rbi +30 -0
  104. data/rbi/lithic/models/loan_tape_created_webhook_event.rbi +27 -0
  105. data/rbi/lithic/models/loan_tape_updated_webhook_event.rbi +27 -0
  106. data/rbi/lithic/models/management_operation_created_webhook_event.rbi +30 -0
  107. data/rbi/lithic/models/management_operation_updated_webhook_event.rbi +30 -0
  108. data/rbi/lithic/models/network_total_created_webhook_event.rbi +30 -0
  109. data/rbi/lithic/models/network_total_updated_webhook_event.rbi +30 -0
  110. data/rbi/lithic/models/parsed_webhook_event.rbi +1310 -0
  111. data/rbi/lithic/models/payment_transaction_created_webhook_event.rbi +31 -0
  112. data/rbi/lithic/models/payment_transaction_updated_webhook_event.rbi +31 -0
  113. data/rbi/lithic/models/settlement_report_updated_webhook_event.rbi +30 -0
  114. data/rbi/lithic/models/statements_created_webhook_event.rbi +30 -0
  115. data/rbi/lithic/models/three_ds_authentication_challenge_webhook_event.rbi +175 -0
  116. data/rbi/lithic/models/three_ds_authentication_created_webhook_event.rbi +31 -0
  117. data/rbi/lithic/models/three_ds_authentication_updated_webhook_event.rbi +31 -0
  118. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +548 -0
  119. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +333 -0
  120. data/rbi/lithic/models/tokenization_result_webhook_event.rbi +295 -0
  121. data/rbi/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
  122. data/rbi/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
  123. data/rbi/lithic/models/tokenization_updated_webhook_event.rbi +73 -0
  124. data/rbi/lithic/models/webhook_parsed_params.rbi +27 -0
  125. data/rbi/lithic/models.rbi +155 -0
  126. data/rbi/lithic/resources/webhooks.rbi +158 -0
  127. data/sig/lithic/client.rbs +2 -0
  128. data/sig/lithic/models/account_holder_created_webhook_event.rbs +77 -0
  129. data/sig/lithic/models/account_holder_document_updated_webhook_event.rbs +219 -0
  130. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +587 -0
  131. data/sig/lithic/models/account_holder_verification_webhook_event.rbs +69 -0
  132. data/sig/lithic/models/asa_request_webhook_event.rbs +881 -0
  133. data/sig/lithic/models/auth_rules_backtest_report_created_webhook_event.rbs +20 -0
  134. data/sig/lithic/models/balance_updated_webhook_event.rbs +25 -0
  135. data/sig/lithic/models/book_transfer_transaction_created_webhook_event.rbs +20 -0
  136. data/sig/lithic/models/book_transfer_transaction_updated_webhook_event.rbs +20 -0
  137. data/sig/lithic/models/card_converted_webhook_event.rbs +19 -0
  138. data/sig/lithic/models/card_created_webhook_event.rbs +30 -0
  139. data/sig/lithic/models/card_reissued_webhook_event.rbs +21 -0
  140. data/sig/lithic/models/card_renewed_webhook_event.rbs +55 -0
  141. data/sig/lithic/models/card_shipped_webhook_event.rbs +71 -0
  142. data/sig/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbs +20 -0
  143. data/sig/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbs +20 -0
  144. data/sig/lithic/models/card_transaction_updated_webhook_event.rbs +18 -0
  145. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +223 -0
  146. data/sig/lithic/models/digital_wallet_tokenization_result_webhook_event.rbs +133 -0
  147. data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
  148. data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
  149. data/sig/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbs +40 -0
  150. data/sig/lithic/models/dispute_evidence_upload_failed_webhook_event.rbs +18 -0
  151. data/sig/lithic/models/dispute_transaction_created_webhook_event.rbs +18 -0
  152. data/sig/lithic/models/dispute_transaction_updated_webhook_event.rbs +18 -0
  153. data/sig/lithic/models/dispute_updated_webhook_event.rbs +15 -0
  154. data/sig/lithic/models/external_bank_account_created_webhook_event.rbs +18 -0
  155. data/sig/lithic/models/external_bank_account_updated_webhook_event.rbs +18 -0
  156. data/sig/lithic/models/external_payment_created_webhook_event.rbs +18 -0
  157. data/sig/lithic/models/external_payment_updated_webhook_event.rbs +18 -0
  158. data/sig/lithic/models/financial_account_created_webhook_event.rbs +18 -0
  159. data/sig/lithic/models/financial_account_updated_webhook_event.rbs +18 -0
  160. data/sig/lithic/models/funding_event_created_webhook_event.rbs +16 -0
  161. data/sig/lithic/models/internal_transaction_created_webhook_event.rbs +18 -0
  162. data/sig/lithic/models/internal_transaction_updated_webhook_event.rbs +18 -0
  163. data/sig/lithic/models/loan_tape_created_webhook_event.rbs +15 -0
  164. data/sig/lithic/models/loan_tape_updated_webhook_event.rbs +15 -0
  165. data/sig/lithic/models/management_operation_created_webhook_event.rbs +18 -0
  166. data/sig/lithic/models/management_operation_updated_webhook_event.rbs +18 -0
  167. data/sig/lithic/models/network_total_created_webhook_event.rbs +16 -0
  168. data/sig/lithic/models/network_total_updated_webhook_event.rbs +16 -0
  169. data/sig/lithic/models/parsed_webhook_event.rbs +641 -0
  170. data/sig/lithic/models/payment_transaction_created_webhook_event.rbs +18 -0
  171. data/sig/lithic/models/payment_transaction_updated_webhook_event.rbs +18 -0
  172. data/sig/lithic/models/settlement_report_updated_webhook_event.rbs +18 -0
  173. data/sig/lithic/models/statements_created_webhook_event.rbs +16 -0
  174. data/sig/lithic/models/three_ds_authentication_challenge_webhook_event.rbs +72 -0
  175. data/sig/lithic/models/three_ds_authentication_created_webhook_event.rbs +18 -0
  176. data/sig/lithic/models/three_ds_authentication_updated_webhook_event.rbs +18 -0
  177. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +223 -0
  178. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +134 -0
  179. data/sig/lithic/models/tokenization_result_webhook_event.rbs +133 -0
  180. data/sig/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
  181. data/sig/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
  182. data/sig/lithic/models/tokenization_updated_webhook_event.rbs +40 -0
  183. data/sig/lithic/models/webhook_parsed_params.rbs +15 -0
  184. data/sig/lithic/models.rbs +112 -0
  185. data/sig/lithic/resources/webhooks.rbs +135 -0
  186. metadata +173 -2
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class PaymentTransactionCreatedWebhookEvent < Lithic::Models::Payment
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"payment_transaction.created"]
10
+ required :event_type, const: :"payment_transaction.created"
11
+
12
+ # @!method initialize(event_type: :"payment_transaction.created")
13
+ # Payment transaction
14
+ #
15
+ # @param event_type [Symbol, :"payment_transaction.created"] The type of event that occurred.
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class PaymentTransactionUpdatedWebhookEvent < Lithic::Models::Payment
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"payment_transaction.updated"]
10
+ required :event_type, const: :"payment_transaction.updated"
11
+
12
+ # @!method initialize(event_type: :"payment_transaction.updated")
13
+ # Payment transaction
14
+ #
15
+ # @param event_type [Symbol, :"payment_transaction.updated"] The type of event that occurred.
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class SettlementReportUpdatedWebhookEvent < Lithic::Models::SettlementReport
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"settlement_report.updated"]
10
+ required :event_type, const: :"settlement_report.updated"
11
+
12
+ # @!method initialize(event_type: :"settlement_report.updated")
13
+ # @param event_type [Symbol, :"settlement_report.updated"] The type of event that occurred.
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class StatementsCreatedWebhookEvent < Lithic::Models::FinancialAccounts::Statement
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"statements.created"]
10
+ required :event_type, const: :"statements.created"
11
+
12
+ # @!method initialize(event_type: :"statements.created")
13
+ # @param event_type [Symbol, :"statements.created"] The type of event that occurred.
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class ThreeDSAuthenticationChallengeWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ # @!attribute authentication_object
7
+ # Represents a 3DS authentication
8
+ #
9
+ # @return [Lithic::Models::ThreeDSAuthentication]
10
+ required :authentication_object, -> { Lithic::ThreeDSAuthentication }
11
+
12
+ # @!attribute challenge
13
+ # Represents a challenge object for 3DS authentication
14
+ #
15
+ # @return [Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent::Challenge]
16
+ required :challenge, -> { Lithic::ThreeDSAuthenticationChallengeWebhookEvent::Challenge }
17
+
18
+ # @!attribute event_type
19
+ #
20
+ # @return [Symbol, :"three_ds_authentication.challenge"]
21
+ required :event_type, const: :"three_ds_authentication.challenge"
22
+
23
+ # @!method initialize(authentication_object:, challenge:, event_type: :"three_ds_authentication.challenge")
24
+ # @param authentication_object [Lithic::Models::ThreeDSAuthentication] Represents a 3DS authentication
25
+ #
26
+ # @param challenge [Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent::Challenge] Represents a challenge object for 3DS authentication
27
+ #
28
+ # @param event_type [Symbol, :"three_ds_authentication.challenge"]
29
+
30
+ # @see Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent#challenge
31
+ class Challenge < Lithic::Internal::Type::BaseModel
32
+ # @!attribute challenge_method_type
33
+ # The type of challenge method issued to the cardholder
34
+ #
35
+ # @return [Symbol, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent::Challenge::ChallengeMethodType]
36
+ required :challenge_method_type,
37
+ enum: -> { Lithic::ThreeDSAuthenticationChallengeWebhookEvent::Challenge::ChallengeMethodType }
38
+
39
+ # @!attribute expiry_time
40
+ # ISO-8601 time at which the challenge expires
41
+ #
42
+ # @return [Time]
43
+ required :expiry_time, Time
44
+
45
+ # @!attribute start_time
46
+ # ISO-8601 time at which the challenge has started
47
+ #
48
+ # @return [Time]
49
+ required :start_time, Time
50
+
51
+ # @!attribute app_requestor_url
52
+ # Fully qualified app URL of the merchant app. This should be used to redirect the
53
+ # cardholder back to the merchant app after completing an app-based challenge.
54
+ # This URL will only be populated if the 3DS Requestor App is provided to the 3DS
55
+ # SDK.
56
+ #
57
+ # @return [String, nil]
58
+ optional :app_requestor_url, String, nil?: true
59
+
60
+ # @!method initialize(challenge_method_type:, expiry_time:, start_time:, app_requestor_url: nil)
61
+ # Some parameter documentations has been truncated, see
62
+ # {Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent::Challenge} for more
63
+ # details.
64
+ #
65
+ # Represents a challenge object for 3DS authentication
66
+ #
67
+ # @param challenge_method_type [Symbol, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent::Challenge::ChallengeMethodType] The type of challenge method issued to the cardholder
68
+ #
69
+ # @param expiry_time [Time] ISO-8601 time at which the challenge expires
70
+ #
71
+ # @param start_time [Time] ISO-8601 time at which the challenge has started
72
+ #
73
+ # @param app_requestor_url [String, nil] Fully qualified app URL of the merchant app. This should be used to redirect the
74
+
75
+ # The type of challenge method issued to the cardholder
76
+ #
77
+ # @see Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent::Challenge#challenge_method_type
78
+ module ChallengeMethodType
79
+ extend Lithic::Internal::Type::Enum
80
+
81
+ OUT_OF_BAND = :OUT_OF_BAND
82
+
83
+ # @!method self.values
84
+ # @return [Array<Symbol>]
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class ThreeDSAuthenticationCreatedWebhookEvent < Lithic::Models::ThreeDSAuthentication
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"three_ds_authentication.created"]
10
+ required :event_type, const: :"three_ds_authentication.created"
11
+
12
+ # @!method initialize(event_type: :"three_ds_authentication.created")
13
+ # Represents a 3DS authentication
14
+ #
15
+ # @param event_type [Symbol, :"three_ds_authentication.created"] The type of event that occurred.
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class ThreeDSAuthenticationUpdatedWebhookEvent < Lithic::Models::ThreeDSAuthentication
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"three_ds_authentication.updated"]
10
+ required :event_type, const: :"three_ds_authentication.updated"
11
+
12
+ # @!method initialize(event_type: :"three_ds_authentication.updated")
13
+ # Represents a 3DS authentication
14
+ #
15
+ # @param event_type [Symbol, :"three_ds_authentication.updated"] The type of event that occurred.
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,249 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class TokenizationApprovalRequestWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ # @!attribute account_token
7
+ # Unique identifier for the user tokenizing a card
8
+ #
9
+ # @return [String]
10
+ required :account_token, String
11
+
12
+ # @!attribute card_token
13
+ # Unique identifier for the card being tokenized
14
+ #
15
+ # @return [String]
16
+ required :card_token, String
17
+
18
+ # @!attribute created
19
+ # Indicate when the request was received from Mastercard or Visa
20
+ #
21
+ # @return [Time]
22
+ required :created, Time
23
+
24
+ # @!attribute customer_tokenization_decision
25
+ # Contains the metadata for the customer tokenization decision.
26
+ #
27
+ # @return [Lithic::Models::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision, nil]
28
+ required :customer_tokenization_decision,
29
+ -> { Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision },
30
+ nil?: true
31
+
32
+ # @!attribute event_type
33
+ # The name of this event
34
+ #
35
+ # @return [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::EventType]
36
+ required :event_type, enum: -> { Lithic::TokenizationApprovalRequestWebhookEvent::EventType }
37
+
38
+ # @!attribute issuer_decision
39
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
40
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
41
+ #
42
+ # @return [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::IssuerDecision]
43
+ required :issuer_decision, enum: -> { Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision }
44
+
45
+ # @!attribute tokenization_channel
46
+ # The channel through which the tokenization was made.
47
+ #
48
+ # @return [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::TokenizationChannel]
49
+ required :tokenization_channel,
50
+ enum: -> { Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel }
51
+
52
+ # @!attribute tokenization_token
53
+ # Unique identifier for the digital wallet token attempt
54
+ #
55
+ # @return [String]
56
+ required :tokenization_token, String
57
+
58
+ # @!attribute wallet_decisioning_info
59
+ #
60
+ # @return [Lithic::Models::WalletDecisioningInfo]
61
+ required :wallet_decisioning_info, -> { Lithic::WalletDecisioningInfo }
62
+
63
+ # @!attribute device
64
+ #
65
+ # @return [Lithic::Models::Device, nil]
66
+ optional :device, -> { Lithic::Device }
67
+
68
+ # @!attribute digital_wallet_token_metadata
69
+ # Contains the metadata for the digital wallet being tokenized.
70
+ #
71
+ # @return [Lithic::Models::DigitalWalletTokenMetadata, nil]
72
+ optional :digital_wallet_token_metadata, -> { Lithic::DigitalWalletTokenMetadata }
73
+
74
+ # @!attribute rule_results
75
+ # Results from rules that were evaluated for this tokenization
76
+ #
77
+ # @return [Array<Lithic::Models::TokenizationRuleResult>, nil]
78
+ optional :rule_results, -> { Lithic::Internal::Type::ArrayOf[Lithic::TokenizationRuleResult] }
79
+
80
+ # @!attribute tokenization_decline_reasons
81
+ # List of reasons why the tokenization was declined
82
+ #
83
+ # @return [Array<Symbol, Lithic::Models::TokenizationDeclineReason>, nil]
84
+ optional :tokenization_decline_reasons,
85
+ -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::TokenizationDeclineReason] }
86
+
87
+ # @!attribute tokenization_source
88
+ # The source of the tokenization.
89
+ #
90
+ # @return [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::TokenizationSource, nil]
91
+ optional :tokenization_source,
92
+ enum: -> { Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource }
93
+
94
+ # @!attribute tokenization_tfa_reasons
95
+ # List of reasons why two-factor authentication was required
96
+ #
97
+ # @return [Array<Symbol, Lithic::Models::TokenizationTfaReason>, nil]
98
+ optional :tokenization_tfa_reasons,
99
+ -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::TokenizationTfaReason] }
100
+
101
+ # @!method initialize(account_token:, card_token:, created:, customer_tokenization_decision:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, digital_wallet_token_metadata: nil, rule_results: nil, tokenization_decline_reasons: nil, tokenization_source: nil, tokenization_tfa_reasons: nil)
102
+ # Some parameter documentations has been truncated, see
103
+ # {Lithic::Models::TokenizationApprovalRequestWebhookEvent} for more details.
104
+ #
105
+ # @param account_token [String] Unique identifier for the user tokenizing a card
106
+ #
107
+ # @param card_token [String] Unique identifier for the card being tokenized
108
+ #
109
+ # @param created [Time] Indicate when the request was received from Mastercard or Visa
110
+ #
111
+ # @param customer_tokenization_decision [Lithic::Models::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision, nil] Contains the metadata for the customer tokenization decision.
112
+ #
113
+ # @param event_type [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::EventType] The name of this event
114
+ #
115
+ # @param issuer_decision [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::IssuerDecision] Whether Lithic decisioned on the token, and if so, what the decision was. APPROV
116
+ #
117
+ # @param tokenization_channel [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::TokenizationChannel] The channel through which the tokenization was made.
118
+ #
119
+ # @param tokenization_token [String] Unique identifier for the digital wallet token attempt
120
+ #
121
+ # @param wallet_decisioning_info [Lithic::Models::WalletDecisioningInfo]
122
+ #
123
+ # @param device [Lithic::Models::Device]
124
+ #
125
+ # @param digital_wallet_token_metadata [Lithic::Models::DigitalWalletTokenMetadata] Contains the metadata for the digital wallet being tokenized.
126
+ #
127
+ # @param rule_results [Array<Lithic::Models::TokenizationRuleResult>] Results from rules that were evaluated for this tokenization
128
+ #
129
+ # @param tokenization_decline_reasons [Array<Symbol, Lithic::Models::TokenizationDeclineReason>] List of reasons why the tokenization was declined
130
+ #
131
+ # @param tokenization_source [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::TokenizationSource] The source of the tokenization.
132
+ #
133
+ # @param tokenization_tfa_reasons [Array<Symbol, Lithic::Models::TokenizationTfaReason>] List of reasons why two-factor authentication was required
134
+
135
+ # @see Lithic::Models::TokenizationApprovalRequestWebhookEvent#customer_tokenization_decision
136
+ class CustomerTokenizationDecision < Lithic::Internal::Type::BaseModel
137
+ # @!attribute outcome
138
+ # The outcome of the customer's decision
139
+ #
140
+ # @return [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome]
141
+ required :outcome,
142
+ enum: -> { Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome }
143
+
144
+ # @!attribute responder_url
145
+ # The customer's subscribed URL
146
+ #
147
+ # @return [String]
148
+ required :responder_url, String
149
+
150
+ # @!attribute latency
151
+ # Time in ms it took for the customer's URL to respond
152
+ #
153
+ # @return [String, nil]
154
+ optional :latency, String
155
+
156
+ # @!attribute response_code
157
+ # The response code that the customer provided
158
+ #
159
+ # @return [String, nil]
160
+ optional :response_code, String
161
+
162
+ # @!method initialize(outcome:, responder_url:, latency: nil, response_code: nil)
163
+ # Contains the metadata for the customer tokenization decision.
164
+ #
165
+ # @param outcome [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome] The outcome of the customer's decision
166
+ #
167
+ # @param responder_url [String] The customer's subscribed URL
168
+ #
169
+ # @param latency [String] Time in ms it took for the customer's URL to respond
170
+ #
171
+ # @param response_code [String] The response code that the customer provided
172
+
173
+ # The outcome of the customer's decision
174
+ #
175
+ # @see Lithic::Models::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision#outcome
176
+ module Outcome
177
+ extend Lithic::Internal::Type::Enum
178
+
179
+ APPROVED = :APPROVED
180
+ DECLINED = :DECLINED
181
+ ERROR = :ERROR
182
+ INVALID_RESPONSE = :INVALID_RESPONSE
183
+ REQUIRE_ADDITIONAL_AUTHENTICATION = :REQUIRE_ADDITIONAL_AUTHENTICATION
184
+ TIMEOUT = :TIMEOUT
185
+
186
+ # @!method self.values
187
+ # @return [Array<Symbol>]
188
+ end
189
+ end
190
+
191
+ # The name of this event
192
+ #
193
+ # @see Lithic::Models::TokenizationApprovalRequestWebhookEvent#event_type
194
+ module EventType
195
+ extend Lithic::Internal::Type::Enum
196
+
197
+ TOKENIZATION_APPROVAL_REQUEST = :"tokenization.approval_request"
198
+
199
+ # @!method self.values
200
+ # @return [Array<Symbol>]
201
+ end
202
+
203
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
204
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
205
+ #
206
+ # @see Lithic::Models::TokenizationApprovalRequestWebhookEvent#issuer_decision
207
+ module IssuerDecision
208
+ extend Lithic::Internal::Type::Enum
209
+
210
+ APPROVED = :APPROVED
211
+ DENIED = :DENIED
212
+ VERIFICATION_REQUIRED = :VERIFICATION_REQUIRED
213
+
214
+ # @!method self.values
215
+ # @return [Array<Symbol>]
216
+ end
217
+
218
+ # The channel through which the tokenization was made.
219
+ #
220
+ # @see Lithic::Models::TokenizationApprovalRequestWebhookEvent#tokenization_channel
221
+ module TokenizationChannel
222
+ extend Lithic::Internal::Type::Enum
223
+
224
+ DIGITAL_WALLET = :DIGITAL_WALLET
225
+ MERCHANT = :MERCHANT
226
+
227
+ # @!method self.values
228
+ # @return [Array<Symbol>]
229
+ end
230
+
231
+ # The source of the tokenization.
232
+ #
233
+ # @see Lithic::Models::TokenizationApprovalRequestWebhookEvent#tokenization_source
234
+ module TokenizationSource
235
+ extend Lithic::Internal::Type::Enum
236
+
237
+ ACCOUNT_ON_FILE = :ACCOUNT_ON_FILE
238
+ CONTACTLESS_TAP = :CONTACTLESS_TAP
239
+ MANUAL_PROVISION = :MANUAL_PROVISION
240
+ PUSH_PROVISION = :PUSH_PROVISION
241
+ TOKEN = :TOKEN
242
+ UNKNOWN = :UNKNOWN
243
+
244
+ # @!method self.values
245
+ # @return [Array<Symbol>]
246
+ end
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,159 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class TokenizationDecisioningRequestWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ # @!attribute account_token
7
+ # Unique identifier for the user tokenizing a card
8
+ #
9
+ # @return [String]
10
+ required :account_token, String
11
+
12
+ # @!attribute card_token
13
+ # Unique identifier for the card being tokenized
14
+ #
15
+ # @return [String]
16
+ required :card_token, String
17
+
18
+ # @!attribute created
19
+ # Indicate when the request was received from Mastercard or Visa
20
+ #
21
+ # @return [Time]
22
+ required :created, Time
23
+
24
+ # @!attribute event_type
25
+ # The name of this event
26
+ #
27
+ # @return [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::EventType]
28
+ required :event_type, enum: -> { Lithic::TokenizationDecisioningRequestWebhookEvent::EventType }
29
+
30
+ # @!attribute issuer_decision
31
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
32
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
33
+ #
34
+ # @return [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::IssuerDecision]
35
+ required :issuer_decision, enum: -> { Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision }
36
+
37
+ # @!attribute tokenization_channel
38
+ # The channel through which the tokenization was made.
39
+ #
40
+ # @return [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel]
41
+ required :tokenization_channel,
42
+ enum: -> { Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel }
43
+
44
+ # @!attribute tokenization_token
45
+ # Unique identifier for the digital wallet token attempt
46
+ #
47
+ # @return [String]
48
+ required :tokenization_token, String
49
+
50
+ # @!attribute wallet_decisioning_info
51
+ #
52
+ # @return [Lithic::Models::WalletDecisioningInfo]
53
+ required :wallet_decisioning_info, -> { Lithic::WalletDecisioningInfo }
54
+
55
+ # @!attribute device
56
+ #
57
+ # @return [Lithic::Models::Device, nil]
58
+ optional :device, -> { Lithic::Device }
59
+
60
+ # @!attribute digital_wallet_token_metadata
61
+ # Contains the metadata for the digital wallet being tokenized.
62
+ #
63
+ # @return [Lithic::Models::DigitalWalletTokenMetadata, nil]
64
+ optional :digital_wallet_token_metadata, -> { Lithic::DigitalWalletTokenMetadata }
65
+
66
+ # @!attribute tokenization_source
67
+ # The source of the tokenization.
68
+ #
69
+ # @return [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::TokenizationSource, nil]
70
+ optional :tokenization_source,
71
+ enum: -> { Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource }
72
+
73
+ # @!method initialize(account_token:, card_token:, created:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, digital_wallet_token_metadata: nil, tokenization_source: nil)
74
+ # Some parameter documentations has been truncated, see
75
+ # {Lithic::Models::TokenizationDecisioningRequestWebhookEvent} for more details.
76
+ #
77
+ # A webhook for tokenization decisioning sent to the customer's responder endpoint
78
+ #
79
+ # @param account_token [String] Unique identifier for the user tokenizing a card
80
+ #
81
+ # @param card_token [String] Unique identifier for the card being tokenized
82
+ #
83
+ # @param created [Time] Indicate when the request was received from Mastercard or Visa
84
+ #
85
+ # @param event_type [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::EventType] The name of this event
86
+ #
87
+ # @param issuer_decision [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::IssuerDecision] Whether Lithic decisioned on the token, and if so, what the decision was. APPROV
88
+ #
89
+ # @param tokenization_channel [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel] The channel through which the tokenization was made.
90
+ #
91
+ # @param tokenization_token [String] Unique identifier for the digital wallet token attempt
92
+ #
93
+ # @param wallet_decisioning_info [Lithic::Models::WalletDecisioningInfo]
94
+ #
95
+ # @param device [Lithic::Models::Device]
96
+ #
97
+ # @param digital_wallet_token_metadata [Lithic::Models::DigitalWalletTokenMetadata] Contains the metadata for the digital wallet being tokenized.
98
+ #
99
+ # @param tokenization_source [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::TokenizationSource] The source of the tokenization.
100
+
101
+ # The name of this event
102
+ #
103
+ # @see Lithic::Models::TokenizationDecisioningRequestWebhookEvent#event_type
104
+ module EventType
105
+ extend Lithic::Internal::Type::Enum
106
+
107
+ DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
108
+
109
+ # @!method self.values
110
+ # @return [Array<Symbol>]
111
+ end
112
+
113
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
114
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
115
+ #
116
+ # @see Lithic::Models::TokenizationDecisioningRequestWebhookEvent#issuer_decision
117
+ module IssuerDecision
118
+ extend Lithic::Internal::Type::Enum
119
+
120
+ APPROVED = :APPROVED
121
+ DENIED = :DENIED
122
+ VERIFICATION_REQUIRED = :VERIFICATION_REQUIRED
123
+
124
+ # @!method self.values
125
+ # @return [Array<Symbol>]
126
+ end
127
+
128
+ # The channel through which the tokenization was made.
129
+ #
130
+ # @see Lithic::Models::TokenizationDecisioningRequestWebhookEvent#tokenization_channel
131
+ module TokenizationChannel
132
+ extend Lithic::Internal::Type::Enum
133
+
134
+ DIGITAL_WALLET = :DIGITAL_WALLET
135
+ MERCHANT = :MERCHANT
136
+
137
+ # @!method self.values
138
+ # @return [Array<Symbol>]
139
+ end
140
+
141
+ # The source of the tokenization.
142
+ #
143
+ # @see Lithic::Models::TokenizationDecisioningRequestWebhookEvent#tokenization_source
144
+ module TokenizationSource
145
+ extend Lithic::Internal::Type::Enum
146
+
147
+ ACCOUNT_ON_FILE = :ACCOUNT_ON_FILE
148
+ CONTACTLESS_TAP = :CONTACTLESS_TAP
149
+ MANUAL_PROVISION = :MANUAL_PROVISION
150
+ PUSH_PROVISION = :PUSH_PROVISION
151
+ TOKEN = :TOKEN
152
+ UNKNOWN = :UNKNOWN
153
+
154
+ # @!method self.values
155
+ # @return [Array<Symbol>]
156
+ end
157
+ end
158
+ end
159
+ end