lithic 0.1.0.pre.alpha.25 → 0.1.0.pre.alpha.26

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +8 -4
  5. data/lib/lithic/internal/transport/pooled_net_requester.rb +3 -1
  6. data/lib/lithic/models/card_web_provision_params.rb +32 -0
  7. data/lib/lithic/models/card_web_provision_response.rb +83 -0
  8. data/lib/lithic/models/funding_event_list_params.rb +43 -0
  9. data/lib/lithic/models/funding_event_list_response.rb +104 -0
  10. data/lib/lithic/models/funding_event_retrieve_details_params.rb +14 -0
  11. data/lib/lithic/models/funding_event_retrieve_details_response.rb +33 -0
  12. data/lib/lithic/models/funding_event_retrieve_params.rb +14 -0
  13. data/lib/lithic/models/funding_event_retrieve_response.rb +104 -0
  14. data/lib/lithic/models.rb +8 -0
  15. data/lib/lithic/resources/cards.rb +29 -0
  16. data/lib/lithic/resources/funding_events.rb +84 -0
  17. data/lib/lithic/version.rb +1 -1
  18. data/lib/lithic.rb +9 -0
  19. data/rbi/lithic/client.rbi +3 -0
  20. data/rbi/lithic/internal/transport/pooled_net_requester.rbi +5 -1
  21. data/rbi/lithic/models/card_web_provision_params.rbi +84 -0
  22. data/rbi/lithic/models/card_web_provision_response.rbi +169 -0
  23. data/rbi/lithic/models/funding_event_list_params.rbi +72 -0
  24. data/rbi/lithic/models/funding_event_list_response.rbi +177 -0
  25. data/rbi/lithic/models/funding_event_retrieve_details_params.rbi +30 -0
  26. data/rbi/lithic/models/funding_event_retrieve_details_response.rbi +56 -0
  27. data/rbi/lithic/models/funding_event_retrieve_params.rbi +27 -0
  28. data/rbi/lithic/models/funding_event_retrieve_response.rbi +177 -0
  29. data/rbi/lithic/models.rbi +9 -0
  30. data/rbi/lithic/resources/cards.rbi +23 -0
  31. data/rbi/lithic/resources/funding_events.rbi +64 -0
  32. data/sig/lithic/client.rbs +2 -0
  33. data/sig/lithic/internal/transport/pooled_net_requester.rbs +2 -0
  34. data/sig/lithic/models/card_web_provision_params.rbs +33 -0
  35. data/sig/lithic/models/card_web_provision_response.rbs +68 -0
  36. data/sig/lithic/models/funding_event_list_params.rbs +31 -0
  37. data/sig/lithic/models/funding_event_list_response.rbs +65 -0
  38. data/sig/lithic/models/funding_event_retrieve_details_params.rbs +13 -0
  39. data/sig/lithic/models/funding_event_retrieve_details_response.rbs +24 -0
  40. data/sig/lithic/models/funding_event_retrieve_params.rbs +13 -0
  41. data/sig/lithic/models/funding_event_retrieve_response.rbs +65 -0
  42. data/sig/lithic/models.rbs +8 -0
  43. data/sig/lithic/resources/cards.rbs +6 -0
  44. data/sig/lithic/resources/funding_events.rbs +24 -0
  45. metadata +29 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4952d1eb7724a1f03de60971b8dbeca3f37fd7301ef2aa80b60b2aa40f585647
4
- data.tar.gz: 07ea8c2c65f441a4483af2a8017bd67b060959148ab14406b90c6b58d9195f13
3
+ metadata.gz: f10f3f3cedbb34d6d368733a60b4bdfc92ba330fe109d479a63006c93ff911fc
4
+ data.tar.gz: b5b22aa1165e17b822d55cb3b358375830cb22ffbe6d97fd9da60bdd49248e5c
5
5
  SHA512:
6
- metadata.gz: 80ddde2e8b297e85b9629c40d8ef3e98c9a13a4040d32af9f079674ac4e4475c56365df21d0c3859c0e12c280c82001d7f7c836f0c8dc53d635dd3f4ca0dff2a
7
- data.tar.gz: 5ce4b9c50c79addce32d0f78a3057b22a66ef6671025c0b32a4307fe5635c0a48c2f72619d2bc3d7919742603a7f50673388f25bd9db694be903662fee05ec55
6
+ metadata.gz: 0f3b7b0ed169bf42c5802fd5acb76004603da0cb03827e8d5862e1e3066ef0cbcd49f6e5a1f87cacf71a00759cda1064476ec80eb42d1c4ddc898a990b632cf8
7
+ data.tar.gz: 0c44fe7f1151d82fde547b4202f82a9f8358bfa9f6f71b360af53fd7e630907eb02fbbcc3444a72a6ba547a8771b4839b60b8b3ed91725c23075437d9c2dc39e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.26 (2025-05-14)
4
+
5
+ Full Changelog: [v0.1.0-alpha.25...v0.1.0-alpha.26](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.25...v0.1.0-alpha.26)
6
+
7
+ ### Features
8
+
9
+ * **api:** new Funding Events and Card Web Provision API's ([1e3868e](https://github.com/lithic-com/lithic-ruby/commit/1e3868e233fb636a3b783160777b77715465ac13))
10
+ * bump default connection pool size limit to minimum of 99 ([07ebbb8](https://github.com/lithic-com/lithic-ruby/commit/07ebbb88612e4156407a0b0b6828f53c82adfe31))
11
+
3
12
  ## 0.1.0-alpha.25 (2025-05-13)
4
13
 
5
14
  Full Changelog: [v0.1.0-alpha.24...v0.1.0-alpha.25](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.24...v0.1.0-alpha.25)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "lithic", "~> 0.1.0.pre.alpha.25"
18
+ gem "lithic", "~> 0.1.0.pre.alpha.26"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
data/lib/lithic/client.rb CHANGED
@@ -98,6 +98,9 @@ module Lithic
98
98
  # @return [Lithic::Resources::ManagementOperations]
99
99
  attr_reader :management_operations
100
100
 
101
+ # @return [Lithic::Resources::FundingEvents]
102
+ attr_reader :funding_events
103
+
101
104
  # Status of api
102
105
  #
103
106
  # @overload api_status(request_options: {})
@@ -143,10 +146,10 @@ module Lithic
143
146
  api_key: ENV["LITHIC_API_KEY"],
144
147
  environment: nil,
145
148
  base_url: ENV["LITHIC_BASE_URL"],
146
- max_retries: Lithic::Client::DEFAULT_MAX_RETRIES,
147
- timeout: Lithic::Client::DEFAULT_TIMEOUT_IN_SECONDS,
148
- initial_retry_delay: Lithic::Client::DEFAULT_INITIAL_RETRY_DELAY,
149
- max_retry_delay: Lithic::Client::DEFAULT_MAX_RETRY_DELAY
149
+ max_retries: self.class::DEFAULT_MAX_RETRIES,
150
+ timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
151
+ initial_retry_delay: self.class::DEFAULT_INITIAL_RETRY_DELAY,
152
+ max_retry_delay: self.class::DEFAULT_MAX_RETRY_DELAY
150
153
  )
151
154
  base_url ||= Lithic::Client::ENVIRONMENTS.fetch(environment&.to_sym || :production) do
152
155
  message = "environment must be one of #{Lithic::Client::ENVIRONMENTS.keys}, got #{environment}"
@@ -197,6 +200,7 @@ module Lithic
197
200
  @credit_products = Lithic::Resources::CreditProducts.new(client: self)
198
201
  @external_payments = Lithic::Resources::ExternalPayments.new(client: self)
199
202
  @management_operations = Lithic::Resources::ManagementOperations.new(client: self)
203
+ @funding_events = Lithic::Resources::FundingEvents.new(client: self)
200
204
  end
201
205
  end
202
206
  end
@@ -11,6 +11,8 @@ module Lithic
11
11
  # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
12
12
  KEEP_ALIVE_TIMEOUT = 30
13
13
 
14
+ DEFAULT_MAX_CONNECTIONS = [Etc.nprocessors, 99].max
15
+
14
16
  class << self
15
17
  # @api private
16
18
  #
@@ -184,7 +186,7 @@ module Lithic
184
186
  # @api private
185
187
  #
186
188
  # @param size [Integer]
187
- def initialize(size: Etc.nprocessors)
189
+ def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
188
190
  @mutex = Mutex.new
189
191
  @size = size
190
192
  @pools = {}
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Cards#web_provision
6
+ class CardWebProvisionParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute digital_wallet
11
+ # Name of digital wallet provider.
12
+ #
13
+ # @return [Symbol, Lithic::CardWebProvisionParams::DigitalWallet, nil]
14
+ optional :digital_wallet, enum: -> { Lithic::CardWebProvisionParams::DigitalWallet }
15
+
16
+ # @!method initialize(digital_wallet: nil, request_options: {})
17
+ # @param digital_wallet [Symbol, Lithic::CardWebProvisionParams::DigitalWallet] Name of digital wallet provider.
18
+ #
19
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
20
+
21
+ # Name of digital wallet provider.
22
+ module DigitalWallet
23
+ extend Lithic::Internal::Type::Enum
24
+
25
+ APPLE_PAY = :APPLE_PAY
26
+
27
+ # @!method self.values
28
+ # @return [Array<Symbol>]
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Cards#web_provision
6
+ class CardWebProvisionResponse < Lithic::Internal::Type::BaseModel
7
+ # @!attribute jws
8
+ # JWS object required for handoff to Apple's script.
9
+ #
10
+ # @return [Lithic::Models::CardWebProvisionResponse::Jws, nil]
11
+ optional :jws, -> { Lithic::Models::CardWebProvisionResponse::Jws }
12
+
13
+ # @!attribute state
14
+ # A unique identifier for the JWS object.
15
+ #
16
+ # @return [String, nil]
17
+ optional :state, String
18
+
19
+ # @!method initialize(jws: nil, state: nil)
20
+ # @param jws [Lithic::Models::CardWebProvisionResponse::Jws] JWS object required for handoff to Apple's script.
21
+ #
22
+ # @param state [String] A unique identifier for the JWS object.
23
+
24
+ # @see Lithic::Models::CardWebProvisionResponse#jws
25
+ class Jws < Lithic::Internal::Type::BaseModel
26
+ # @!attribute header
27
+ # JWS unprotected headers containing header parameters that aren't
28
+ # integrity-protected by the JWS signature.
29
+ #
30
+ # @return [Lithic::Models::CardWebProvisionResponse::Jws::Header, nil]
31
+ optional :header, -> { Lithic::Models::CardWebProvisionResponse::Jws::Header }
32
+
33
+ # @!attribute payload
34
+ # Base64url encoded JSON object containing the provisioning payload.
35
+ #
36
+ # @return [String, nil]
37
+ optional :payload, String
38
+
39
+ # @!attribute protected
40
+ # Base64url encoded JWS protected headers containing the header parameters that
41
+ # are integrity-protected by the JWS signature.
42
+ #
43
+ # @return [String, nil]
44
+ optional :protected, String
45
+
46
+ # @!attribute signature
47
+ # Base64url encoded signature of the JWS object.
48
+ #
49
+ # @return [String, nil]
50
+ optional :signature, String
51
+
52
+ # @!method initialize(header: nil, payload: nil, protected: nil, signature: nil)
53
+ # Some parameter documentations has been truncated, see
54
+ # {Lithic::Models::CardWebProvisionResponse::Jws} for more details.
55
+ #
56
+ # JWS object required for handoff to Apple's script.
57
+ #
58
+ # @param header [Lithic::Models::CardWebProvisionResponse::Jws::Header] JWS unprotected headers containing header parameters that aren't integrity-prote
59
+ #
60
+ # @param payload [String] Base64url encoded JSON object containing the provisioning payload.
61
+ #
62
+ # @param protected [String] Base64url encoded JWS protected headers containing the header parameters that ar
63
+ #
64
+ # @param signature [String] Base64url encoded signature of the JWS object.
65
+
66
+ # @see Lithic::Models::CardWebProvisionResponse::Jws#header
67
+ class Header < Lithic::Internal::Type::BaseModel
68
+ # @!attribute kid
69
+ # The ID for the JWS Public Key of the key pair used to generate the signature.
70
+ #
71
+ # @return [String, nil]
72
+ optional :kid, String
73
+
74
+ # @!method initialize(kid: nil)
75
+ # JWS unprotected headers containing header parameters that aren't
76
+ # integrity-protected by the JWS signature.
77
+ #
78
+ # @param kid [String] The ID for the JWS Public Key of the key pair used to generate the signature.
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::FundingEvents#list
6
+ class FundingEventListParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute ending_before
11
+ # A cursor representing an item's token before which a page of results should end.
12
+ # Used to retrieve the previous page of results before this item.
13
+ #
14
+ # @return [String, nil]
15
+ optional :ending_before, String
16
+
17
+ # @!attribute page_size
18
+ # Page size (for pagination).
19
+ #
20
+ # @return [Integer, nil]
21
+ optional :page_size, Integer
22
+
23
+ # @!attribute starting_after
24
+ # A cursor representing an item's token after which a page of results should
25
+ # begin. Used to retrieve the next page of results after this item.
26
+ #
27
+ # @return [String, nil]
28
+ optional :starting_after, String
29
+
30
+ # @!method initialize(ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
31
+ # Some parameter documentations has been truncated, see
32
+ # {Lithic::Models::FundingEventListParams} for more details.
33
+ #
34
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
35
+ #
36
+ # @param page_size [Integer] Page size (for pagination).
37
+ #
38
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
39
+ #
40
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::FundingEvents#list
6
+ class FundingEventListResponse < Lithic::Internal::Type::BaseModel
7
+ # @!attribute token
8
+ # Unique token ID
9
+ #
10
+ # @return [String]
11
+ required :token, String
12
+
13
+ # @!attribute collection_resource_type
14
+ # Collection resource type
15
+ #
16
+ # @return [Symbol, Lithic::Models::FundingEventListResponse::CollectionResourceType]
17
+ required :collection_resource_type,
18
+ enum: -> { Lithic::Models::FundingEventListResponse::CollectionResourceType }
19
+
20
+ # @!attribute collection_tokens
21
+ # IDs of collections
22
+ #
23
+ # @return [Array<String>]
24
+ required :collection_tokens, Lithic::Internal::Type::ArrayOf[String]
25
+
26
+ # @!attribute created
27
+ # Time of the creation
28
+ #
29
+ # @return [Time]
30
+ required :created, Time
31
+
32
+ # @!attribute high_watermark
33
+ # Time of the high watermark
34
+ #
35
+ # @return [Time]
36
+ required :high_watermark, Time
37
+
38
+ # @!attribute previous_high_watermark
39
+ # Time of the previous high watermark
40
+ #
41
+ # @return [Time]
42
+ required :previous_high_watermark, Time
43
+
44
+ # @!attribute settlement_breakdowns
45
+ # List of settlements
46
+ #
47
+ # @return [Array<Lithic::Models::FundingEventListResponse::SettlementBreakdown>]
48
+ required :settlement_breakdowns,
49
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::FundingEventListResponse::SettlementBreakdown] }
50
+
51
+ # @!attribute updated
52
+ # Time of the update
53
+ #
54
+ # @return [Time]
55
+ required :updated, Time
56
+
57
+ # @!method initialize(token:, collection_resource_type:, collection_tokens:, created:, high_watermark:, previous_high_watermark:, settlement_breakdowns:, updated:)
58
+ # @param token [String] Unique token ID
59
+ #
60
+ # @param collection_resource_type [Symbol, Lithic::Models::FundingEventListResponse::CollectionResourceType] Collection resource type
61
+ #
62
+ # @param collection_tokens [Array<String>] IDs of collections
63
+ #
64
+ # @param created [Time] Time of the creation
65
+ #
66
+ # @param high_watermark [Time] Time of the high watermark
67
+ #
68
+ # @param previous_high_watermark [Time] Time of the previous high watermark
69
+ #
70
+ # @param settlement_breakdowns [Array<Lithic::Models::FundingEventListResponse::SettlementBreakdown>] List of settlements
71
+ #
72
+ # @param updated [Time] Time of the update
73
+
74
+ # Collection resource type
75
+ #
76
+ # @see Lithic::Models::FundingEventListResponse#collection_resource_type
77
+ module CollectionResourceType
78
+ extend Lithic::Internal::Type::Enum
79
+
80
+ BOOK_TRANSFER = :BOOK_TRANSFER
81
+ PAYMENT = :PAYMENT
82
+
83
+ # @!method self.values
84
+ # @return [Array<Symbol>]
85
+ end
86
+
87
+ class SettlementBreakdown < Lithic::Internal::Type::BaseModel
88
+ # @!attribute amount
89
+ #
90
+ # @return [Integer]
91
+ required :amount, Integer
92
+
93
+ # @!attribute settlement_date
94
+ #
95
+ # @return [Date]
96
+ required :settlement_date, Date
97
+
98
+ # @!method initialize(amount:, settlement_date:)
99
+ # @param amount [Integer]
100
+ # @param settlement_date [Date]
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::FundingEvents#retrieve_details
6
+ class FundingEventRetrieveDetailsParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::FundingEvents#retrieve_details
6
+ class FundingEventRetrieveDetailsResponse < Lithic::Internal::Type::BaseModel
7
+ # @!attribute token
8
+ # Unique token ID
9
+ #
10
+ # @return [String]
11
+ required :token, String
12
+
13
+ # @!attribute settlement_details_url
14
+ # URL of the settlement details
15
+ #
16
+ # @return [String]
17
+ required :settlement_details_url, String
18
+
19
+ # @!attribute settlement_summary_url
20
+ # URL of the settlement summary
21
+ #
22
+ # @return [String]
23
+ required :settlement_summary_url, String
24
+
25
+ # @!method initialize(token:, settlement_details_url:, settlement_summary_url:)
26
+ # @param token [String] Unique token ID
27
+ #
28
+ # @param settlement_details_url [String] URL of the settlement details
29
+ #
30
+ # @param settlement_summary_url [String] URL of the settlement summary
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::FundingEvents#retrieve
6
+ class FundingEventRetrieveParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::FundingEvents#retrieve
6
+ class FundingEventRetrieveResponse < Lithic::Internal::Type::BaseModel
7
+ # @!attribute token
8
+ # Unique token ID
9
+ #
10
+ # @return [String]
11
+ required :token, String
12
+
13
+ # @!attribute collection_resource_type
14
+ # Collection resource type
15
+ #
16
+ # @return [Symbol, Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType]
17
+ required :collection_resource_type,
18
+ enum: -> { Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType }
19
+
20
+ # @!attribute collection_tokens
21
+ # IDs of collections
22
+ #
23
+ # @return [Array<String>]
24
+ required :collection_tokens, Lithic::Internal::Type::ArrayOf[String]
25
+
26
+ # @!attribute created
27
+ # Time of the creation
28
+ #
29
+ # @return [Time]
30
+ required :created, Time
31
+
32
+ # @!attribute high_watermark
33
+ # Time of the high watermark
34
+ #
35
+ # @return [Time]
36
+ required :high_watermark, Time
37
+
38
+ # @!attribute previous_high_watermark
39
+ # Time of the previous high watermark
40
+ #
41
+ # @return [Time]
42
+ required :previous_high_watermark, Time
43
+
44
+ # @!attribute settlement_breakdowns
45
+ # List of settlements
46
+ #
47
+ # @return [Array<Lithic::Models::FundingEventRetrieveResponse::SettlementBreakdown>]
48
+ required :settlement_breakdowns,
49
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::FundingEventRetrieveResponse::SettlementBreakdown] }
50
+
51
+ # @!attribute updated
52
+ # Time of the update
53
+ #
54
+ # @return [Time]
55
+ required :updated, Time
56
+
57
+ # @!method initialize(token:, collection_resource_type:, collection_tokens:, created:, high_watermark:, previous_high_watermark:, settlement_breakdowns:, updated:)
58
+ # @param token [String] Unique token ID
59
+ #
60
+ # @param collection_resource_type [Symbol, Lithic::Models::FundingEventRetrieveResponse::CollectionResourceType] Collection resource type
61
+ #
62
+ # @param collection_tokens [Array<String>] IDs of collections
63
+ #
64
+ # @param created [Time] Time of the creation
65
+ #
66
+ # @param high_watermark [Time] Time of the high watermark
67
+ #
68
+ # @param previous_high_watermark [Time] Time of the previous high watermark
69
+ #
70
+ # @param settlement_breakdowns [Array<Lithic::Models::FundingEventRetrieveResponse::SettlementBreakdown>] List of settlements
71
+ #
72
+ # @param updated [Time] Time of the update
73
+
74
+ # Collection resource type
75
+ #
76
+ # @see Lithic::Models::FundingEventRetrieveResponse#collection_resource_type
77
+ module CollectionResourceType
78
+ extend Lithic::Internal::Type::Enum
79
+
80
+ BOOK_TRANSFER = :BOOK_TRANSFER
81
+ PAYMENT = :PAYMENT
82
+
83
+ # @!method self.values
84
+ # @return [Array<Symbol>]
85
+ end
86
+
87
+ class SettlementBreakdown < Lithic::Internal::Type::BaseModel
88
+ # @!attribute amount
89
+ #
90
+ # @return [Integer]
91
+ required :amount, Integer
92
+
93
+ # @!attribute settlement_date
94
+ #
95
+ # @return [Date]
96
+ required :settlement_date, Date
97
+
98
+ # @!method initialize(amount:, settlement_date:)
99
+ # @param amount [Integer]
100
+ # @param settlement_date [Date]
101
+ end
102
+ end
103
+ end
104
+ end
data/lib/lithic/models.rb CHANGED
@@ -129,6 +129,8 @@ module Lithic
129
129
 
130
130
  CardUpdateParams = Lithic::Models::CardUpdateParams
131
131
 
132
+ CardWebProvisionParams = Lithic::Models::CardWebProvisionParams
133
+
132
134
  Carrier = Lithic::Models::Carrier
133
135
 
134
136
  ClientAPIStatusParams = Lithic::Models::ClientAPIStatusParams
@@ -227,6 +229,12 @@ module Lithic
227
229
 
228
230
  FinancialTransaction = Lithic::Models::FinancialTransaction
229
231
 
232
+ FundingEventListParams = Lithic::Models::FundingEventListParams
233
+
234
+ FundingEventRetrieveDetailsParams = Lithic::Models::FundingEventRetrieveDetailsParams
235
+
236
+ FundingEventRetrieveParams = Lithic::Models::FundingEventRetrieveParams
237
+
230
238
  InstanceFinancialAccountType = Lithic::Models::InstanceFinancialAccountType
231
239
 
232
240
  KYB = Lithic::Models::KYB
@@ -431,6 +431,35 @@ module Lithic
431
431
  )
432
432
  end
433
433
 
434
+ # Allow your cardholders to directly add payment cards to the device's digital
435
+ # wallet from a browser on the web. Currently only suported for Apple Pay.
436
+ #
437
+ # This requires some additional setup and configuration. Please
438
+ # [Contact Us](https://lithic.com/contact) or your Customer Success representative
439
+ # for more information.
440
+ #
441
+ # @overload web_provision(card_token, digital_wallet: nil, request_options: {})
442
+ #
443
+ # @param card_token [String] The unique token of the card to add to the device's digital wallet.
444
+ #
445
+ # @param digital_wallet [Symbol, Lithic::CardWebProvisionParams::DigitalWallet] Name of digital wallet provider.
446
+ #
447
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
448
+ #
449
+ # @return [Lithic::Models::CardWebProvisionResponse]
450
+ #
451
+ # @see Lithic::Models::CardWebProvisionParams
452
+ def web_provision(card_token, params = {})
453
+ parsed, options = Lithic::CardWebProvisionParams.dump_request(params)
454
+ @client.request(
455
+ method: :post,
456
+ path: ["v1/cards/%1$s/web_provision", card_token],
457
+ body: parsed,
458
+ model: Lithic::Models::CardWebProvisionResponse,
459
+ options: options
460
+ )
461
+ end
462
+
434
463
  # @api private
435
464
  #
436
465
  # @param client [Lithic::Client]
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class FundingEvents
6
+ # Get funding event for program by id
7
+ #
8
+ # @overload retrieve(funding_event_token, request_options: {})
9
+ #
10
+ # @param funding_event_token [String] Globally unique identifier for funding event.
11
+ #
12
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [Lithic::Models::FundingEventRetrieveResponse]
15
+ #
16
+ # @see Lithic::Models::FundingEventRetrieveParams
17
+ def retrieve(funding_event_token, params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: ["v1/funding_events/%1$s", funding_event_token],
21
+ model: Lithic::Models::FundingEventRetrieveResponse,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # Some parameter documentations has been truncated, see
27
+ # {Lithic::Models::FundingEventListParams} for more details.
28
+ #
29
+ # Get all funding events for program
30
+ #
31
+ # @overload list(ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
32
+ #
33
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
34
+ #
35
+ # @param page_size [Integer] Page size (for pagination).
36
+ #
37
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
38
+ #
39
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
40
+ #
41
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::FundingEventListResponse>]
42
+ #
43
+ # @see Lithic::Models::FundingEventListParams
44
+ def list(params = {})
45
+ parsed, options = Lithic::FundingEventListParams.dump_request(params)
46
+ @client.request(
47
+ method: :get,
48
+ path: "v1/funding_events",
49
+ query: parsed,
50
+ page: Lithic::Internal::CursorPage,
51
+ model: Lithic::Models::FundingEventListResponse,
52
+ options: options
53
+ )
54
+ end
55
+
56
+ # Get funding event details by id
57
+ #
58
+ # @overload retrieve_details(funding_event_token, request_options: {})
59
+ #
60
+ # @param funding_event_token [String] Globally unique identifier for funding event.
61
+ #
62
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
63
+ #
64
+ # @return [Lithic::Models::FundingEventRetrieveDetailsResponse]
65
+ #
66
+ # @see Lithic::Models::FundingEventRetrieveDetailsParams
67
+ def retrieve_details(funding_event_token, params = {})
68
+ @client.request(
69
+ method: :get,
70
+ path: ["v1/funding_events/%1$s/details", funding_event_token],
71
+ model: Lithic::Models::FundingEventRetrieveDetailsResponse,
72
+ options: params[:request_options]
73
+ )
74
+ end
75
+
76
+ # @api private
77
+ #
78
+ # @param client [Lithic::Client]
79
+ def initialize(client:)
80
+ @client = client
81
+ end
82
+ end
83
+ end
84
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0.pre.alpha.25"
4
+ VERSION = "0.1.0.pre.alpha.26"
5
5
  end