plaid 8.4.0 → 8.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile.lock +1 -1
- data/lib/plaid.rb +2 -0
- data/lib/plaid/client.rb +10 -0
- data/lib/plaid/models.rb +53 -0
- data/lib/plaid/products/deposit_switch.rb +99 -0
- data/lib/plaid/products/item.rb +25 -0
- data/lib/plaid/products/processor.rb +39 -0
- data/lib/plaid/products/webhooks.rb +23 -0
- data/lib/plaid/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da09c74c4e425edb5481861ca9be64d5fbb8dbda67b742d34ca707fb90afc088
|
4
|
+
data.tar.gz: d43ec775772db6a2a89738654864378f6cbbe037c53d5673c2f93ff8516cf1c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dbcc0d8ab622c492f5cbf61fb2f32f6d75b52099e7c379524fe6736d9674adca7b9e3f5b302f9571d43667a2f3431818fda9e2806397ab82f9cd74f492f0f569
|
7
|
+
data.tar.gz: 4e8f6b22c61ebd8f73e61c72e079900f3bce5356c5d524557163030a5a5313f35379b3c3069fdd6cd3313700025e243605513810c11ea9ebf971becf5222da69
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# 8.5.0 10-Feb-2020
|
2
|
+
|
3
|
+
* Add support for deposit switch product ([#251](https://github.com/plaid/plaid-ruby/pull/251))
|
4
|
+
* Add support for generic processor token ([#256](https://github.com/plaid/plaid-ruby/pull/256))
|
5
|
+
* Add support for webhook verification ([#249](https://github.com/plaid/plaid-ruby/pull/249))
|
6
|
+
|
1
7
|
# 8.4.0 23-Jan-2020
|
2
8
|
|
3
9
|
* Add support for new UK Payment Initiation product ([#246](https://github.com/plaid/plaid-ruby/pull/246))
|
data/Gemfile.lock
CHANGED
data/lib/plaid.rb
CHANGED
@@ -11,6 +11,7 @@ require_relative 'plaid/products/asset_report'
|
|
11
11
|
require_relative 'plaid/products/auth'
|
12
12
|
require_relative 'plaid/products/categories'
|
13
13
|
require_relative 'plaid/products/credit_details'
|
14
|
+
require_relative 'plaid/products/deposit_switch'
|
14
15
|
require_relative 'plaid/products/identity'
|
15
16
|
require_relative 'plaid/products/income'
|
16
17
|
require_relative 'plaid/products/institutions'
|
@@ -21,6 +22,7 @@ require_relative 'plaid/products/transactions'
|
|
21
22
|
require_relative 'plaid/products/investments'
|
22
23
|
require_relative 'plaid/products/liabilities'
|
23
24
|
require_relative 'plaid/products/payment_initiation'
|
25
|
+
require_relative 'plaid/products/webhooks'
|
24
26
|
require_relative 'plaid/client'
|
25
27
|
|
26
28
|
# Public: The namespace for all the things Plaid.
|
data/lib/plaid/client.rb
CHANGED
@@ -57,6 +57,11 @@ module Plaid
|
|
57
57
|
# Public: The Plaid::CreditDetails product accessor.
|
58
58
|
subproduct :credit_details
|
59
59
|
|
60
|
+
##
|
61
|
+
# :attr_reader:
|
62
|
+
# Public: The Plaid::DepositSwitch product accessor.
|
63
|
+
subproduct :deposit_switch
|
64
|
+
|
60
65
|
##
|
61
66
|
# :attr_reader:
|
62
67
|
# Public: The Plaid::Identity product accessor.
|
@@ -107,6 +112,11 @@ module Plaid
|
|
107
112
|
# Public: The Plaid::PaymentInitiation product accessor.
|
108
113
|
subproduct :payment_initiation
|
109
114
|
|
115
|
+
##
|
116
|
+
# :attr_reader:
|
117
|
+
# Public: The Plaid::Webhooks endpoint accessor.
|
118
|
+
subproduct :webhooks
|
119
|
+
|
110
120
|
# Public: Make a post request
|
111
121
|
#
|
112
122
|
# path - Path or URL to make the request to
|
data/lib/plaid/models.rb
CHANGED
@@ -1081,6 +1081,11 @@ module Plaid
|
|
1081
1081
|
# Public: The String transaction type (or nil). E.g. "buy" or "sell".
|
1082
1082
|
property :type
|
1083
1083
|
|
1084
|
+
##
|
1085
|
+
# :attr_reader:
|
1086
|
+
# Public: The String transaction type (or nil). E.g. "buy" or "sell".
|
1087
|
+
property :subtype
|
1088
|
+
|
1084
1089
|
##
|
1085
1090
|
# :attr_reader:
|
1086
1091
|
# Public: The ISO currency code of the transaction, either USD or CAD.
|
@@ -1908,5 +1913,53 @@ module Plaid
|
|
1908
1913
|
# Public: The recipient ID for payment.
|
1909
1914
|
property :recipient_id
|
1910
1915
|
end
|
1916
|
+
|
1917
|
+
# Public: A representation of a payment amount.
|
1918
|
+
class WebhookVerificationKey < BaseModel
|
1919
|
+
##
|
1920
|
+
# :attr_reader:
|
1921
|
+
# Public: alg.
|
1922
|
+
property :alg
|
1923
|
+
|
1924
|
+
##
|
1925
|
+
# :attr_reader:
|
1926
|
+
# Public: created_at.
|
1927
|
+
property :created_at
|
1928
|
+
|
1929
|
+
##
|
1930
|
+
# :attr_reader:
|
1931
|
+
# Public: crv.
|
1932
|
+
property :crv
|
1933
|
+
|
1934
|
+
##
|
1935
|
+
# :attr_reader:
|
1936
|
+
# Public: expired_at.
|
1937
|
+
property :expired_at
|
1938
|
+
|
1939
|
+
##
|
1940
|
+
# :attr_reader:
|
1941
|
+
# Public: kid.
|
1942
|
+
property :kid
|
1943
|
+
|
1944
|
+
##
|
1945
|
+
# :attr_reader:
|
1946
|
+
# Public: kty.
|
1947
|
+
property :kty
|
1948
|
+
|
1949
|
+
##
|
1950
|
+
# :attr_reader:
|
1951
|
+
# Public: use.
|
1952
|
+
property :use
|
1953
|
+
|
1954
|
+
##
|
1955
|
+
# :attr_reader:
|
1956
|
+
# Public: x.
|
1957
|
+
property :x
|
1958
|
+
|
1959
|
+
##
|
1960
|
+
# :attr_reader:
|
1961
|
+
# Public: y.
|
1962
|
+
property :y
|
1963
|
+
end
|
1911
1964
|
end
|
1912
1965
|
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
module Plaid
|
2
|
+
# Public: Class used to call the Deposit Switch product.
|
3
|
+
class DepositSwitch < BaseProduct
|
4
|
+
# Public: Get Deposit Switch information.
|
5
|
+
#
|
6
|
+
# Does a POST /deposit_switch/get call which fetches deposit switch
|
7
|
+
# associated with a deposit switch id.
|
8
|
+
#
|
9
|
+
# deposit_switch_id - deposit_switch_id to fetch deposit switch
|
10
|
+
# Returns the DepositSwitchResponse object with deposit switch data.
|
11
|
+
def get(deposit_switch_id)
|
12
|
+
post_with_auth 'deposit_switch/get',
|
13
|
+
GetResponse,
|
14
|
+
deposit_switch_id: deposit_switch_id
|
15
|
+
end
|
16
|
+
|
17
|
+
# Public: Response wrapper for /deposit_switch/get.
|
18
|
+
class GetResponse < Models::BaseResponse
|
19
|
+
##
|
20
|
+
# :attr_reader:
|
21
|
+
# Public: The ID associated with the deposit switch.
|
22
|
+
property :deposit_switch_id
|
23
|
+
|
24
|
+
##
|
25
|
+
# :attr_reader:
|
26
|
+
# Public: The ID of the item that the deposit switch was a target to.
|
27
|
+
property :target_item_id
|
28
|
+
|
29
|
+
##
|
30
|
+
# :attr_reader:
|
31
|
+
# Public: The ID of the account that the deposit switch was a target to.
|
32
|
+
property :target_account_id
|
33
|
+
|
34
|
+
##
|
35
|
+
# :attr_reader:
|
36
|
+
# Public: The state that the deposit switch is in.
|
37
|
+
property :state
|
38
|
+
|
39
|
+
##
|
40
|
+
# :attr_reader:
|
41
|
+
# Public: The date on which the deposit switch was created.
|
42
|
+
property :date_created
|
43
|
+
|
44
|
+
##
|
45
|
+
# :attr_reader:
|
46
|
+
# Public: The date on which the deposit switch was completed.
|
47
|
+
property :date_completed
|
48
|
+
end
|
49
|
+
|
50
|
+
# Public: Create Deposit Switch.
|
51
|
+
#
|
52
|
+
# Does a POST /deposit_switch/create call which creates a deposit switch
|
53
|
+
#
|
54
|
+
# target_account_id - ID of the bank account for the deposit switch
|
55
|
+
# target_access_token - access token for the switch
|
56
|
+
#
|
57
|
+
# Returns the DepositSwitchResponse object with deposit switch data.
|
58
|
+
def create(target_account_id, target_access_token)
|
59
|
+
post_with_auth 'deposit_switch/create',
|
60
|
+
CreateResponse,
|
61
|
+
target_account_id: target_account_id,
|
62
|
+
target_access_token: target_access_token
|
63
|
+
end
|
64
|
+
# Public: Response wrapper for /deposit_switch/create.
|
65
|
+
class CreateResponse < Models::BaseResponse
|
66
|
+
##
|
67
|
+
# :attr_reader:
|
68
|
+
# Public: The ID associated with the deposit switch
|
69
|
+
property :deposit_switch_id
|
70
|
+
end
|
71
|
+
|
72
|
+
# Public: Create Deposit Switch token.
|
73
|
+
#
|
74
|
+
# Does a POST /deposit_switch/token/create call which creates a deposit
|
75
|
+
# switch.
|
76
|
+
#
|
77
|
+
# deposit_switch_item - ID of the deposit switch
|
78
|
+
#
|
79
|
+
# Returns the CreateTokenResponse object.
|
80
|
+
def create_token(deposit_switch_id)
|
81
|
+
post_with_auth 'deposit_switch/token/create',
|
82
|
+
CreateTokenResponse,
|
83
|
+
deposit_switch_id: deposit_switch_id
|
84
|
+
end
|
85
|
+
|
86
|
+
# Public: Response wrapper for /deposit_switch/create.
|
87
|
+
class CreateTokenResponse < Models::BaseResponse
|
88
|
+
##
|
89
|
+
# :attr_reader:
|
90
|
+
# Public: A deposit switch token for the deposit switch.
|
91
|
+
property :deposit_switch_token
|
92
|
+
|
93
|
+
##
|
94
|
+
# :attr_reader:
|
95
|
+
# Public: The expiration time of the deposit switch token
|
96
|
+
property :deposit_switch_token_expiration_time
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
data/lib/plaid/products/item.rb
CHANGED
@@ -204,5 +204,30 @@ module Plaid
|
|
204
204
|
# Public: The Boolean flag meaning successful removal.
|
205
205
|
property :removed
|
206
206
|
end
|
207
|
+
|
208
|
+
# Public: Import an item.
|
209
|
+
#
|
210
|
+
# Does a POST /item/import call which imports an item.
|
211
|
+
#
|
212
|
+
# products - array of products to enable
|
213
|
+
# user_auth - hash map of user authentication information
|
214
|
+
# options - optional hash map of options
|
215
|
+
#
|
216
|
+
# Returns an access token for the item.
|
217
|
+
def import(products, user_auth, options)
|
218
|
+
post_with_auth 'item/import',
|
219
|
+
ImportResponse,
|
220
|
+
products: products,
|
221
|
+
user_auth: user_auth,
|
222
|
+
options: options
|
223
|
+
end
|
224
|
+
|
225
|
+
# Public: Response for /item/import.
|
226
|
+
class ImportResponse < Models::BaseResponse
|
227
|
+
##
|
228
|
+
# :attr_reader:
|
229
|
+
# Public: The access token string
|
230
|
+
property :access_token
|
231
|
+
end
|
207
232
|
end
|
208
233
|
end
|
@@ -126,6 +126,40 @@ module Plaid
|
|
126
126
|
subproduct :processor_token, ProcessorToken
|
127
127
|
end
|
128
128
|
|
129
|
+
# Public: Class used to call the generic ProcessorToken sub-product.
|
130
|
+
class ProcessorToken < BaseProduct
|
131
|
+
# Public: Creates a processor token from an access_token.
|
132
|
+
#
|
133
|
+
# Does a POST /processor/token/create call which can be used to
|
134
|
+
# generate any non-stripe processor token for a given account ID.
|
135
|
+
# If the processor is Stripe, the stripe endpoint will be called
|
136
|
+
# instead.
|
137
|
+
#
|
138
|
+
# access_token - access_token to create a public token for.
|
139
|
+
# account_id - ID of the account to create a processor token for.
|
140
|
+
# processor - name of the processor to create a token for.
|
141
|
+
#
|
142
|
+
# Returns a ProcessorTokenResponse object containing a processor token.
|
143
|
+
def create(access_token, account_id, processor)
|
144
|
+
endpoint = 'processor/token/create'
|
145
|
+
options = {
|
146
|
+
access_token: access_token,
|
147
|
+
account_id: account_id,
|
148
|
+
processor: processor
|
149
|
+
}
|
150
|
+
|
151
|
+
if processor == 'stripe'
|
152
|
+
endpoint = '/processor/stripe/bank_account_token/create'
|
153
|
+
options.delete(:processor)
|
154
|
+
elsif processor == 'apex'
|
155
|
+
endpoint = '/processor/apex/processor_token/create'
|
156
|
+
options.delete(:processor)
|
157
|
+
end
|
158
|
+
|
159
|
+
post_with_auth endpoint, ProcessorTokenResponse, **options
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
129
163
|
# Public: Class used to call the Processor product.
|
130
164
|
class Processor < BaseProduct
|
131
165
|
##
|
@@ -147,5 +181,10 @@ module Plaid
|
|
147
181
|
# :attr_reader:
|
148
182
|
# Public: The Plaid::Ocrolus product accessor.
|
149
183
|
subproduct :ocrolus
|
184
|
+
|
185
|
+
##
|
186
|
+
# :attr_reader:
|
187
|
+
# Public: The Plaid::ProcessorToken product accessor.
|
188
|
+
subproduct :processor_token
|
150
189
|
end
|
151
190
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Plaid
|
2
|
+
# Public: Class used to call the Webhooks endpoint.
|
3
|
+
class Webhooks < BaseProduct
|
4
|
+
# Public: Retrieve a webhook verification key.
|
5
|
+
#
|
6
|
+
# key_id - The key ID from the Plaid-Verification header.
|
7
|
+
#
|
8
|
+
# Returns a WebhookVerificationKeyGetResponse object.
|
9
|
+
def get_verification_key(key_id)
|
10
|
+
post_with_auth 'webhook_verification_key/get',
|
11
|
+
WebhookVerificationKeyGetResponse,
|
12
|
+
key_id: key_id
|
13
|
+
end
|
14
|
+
|
15
|
+
# Public: The response wrapper for /webhook_verification_key/get.
|
16
|
+
class WebhookVerificationKeyGetResponse < Models::BaseResponse
|
17
|
+
##
|
18
|
+
# :attr_reader:
|
19
|
+
# Public: The webhook verification key.
|
20
|
+
property :key, coerce: Models::WebhookVerificationKey
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/plaid/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plaid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edmund Loo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -197,6 +197,7 @@ files:
|
|
197
197
|
- lib/plaid/products/base_product.rb
|
198
198
|
- lib/plaid/products/categories.rb
|
199
199
|
- lib/plaid/products/credit_details.rb
|
200
|
+
- lib/plaid/products/deposit_switch.rb
|
200
201
|
- lib/plaid/products/identity.rb
|
201
202
|
- lib/plaid/products/income.rb
|
202
203
|
- lib/plaid/products/institutions.rb
|
@@ -207,6 +208,7 @@ files:
|
|
207
208
|
- lib/plaid/products/processor.rb
|
208
209
|
- lib/plaid/products/sandbox.rb
|
209
210
|
- lib/plaid/products/transactions.rb
|
211
|
+
- lib/plaid/products/webhooks.rb
|
210
212
|
- lib/plaid/version.rb
|
211
213
|
- plaid.gemspec
|
212
214
|
homepage: https://plaid.com/
|
@@ -229,8 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
231
|
- !ruby/object:Gem::Version
|
230
232
|
version: '0'
|
231
233
|
requirements: []
|
232
|
-
|
233
|
-
rubygems_version: 2.7.7
|
234
|
+
rubygems_version: 3.1.2
|
234
235
|
signing_key:
|
235
236
|
specification_version: 4
|
236
237
|
summary: Ruby bindings for Plaid
|