plaid 12.0.0 → 13.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff88844aefb3173ccb877c8764119b67120d08a2f7d3425eef174236be4b6161
4
- data.tar.gz: 21103e33e95a4a54d984bdd4e30c0ac7c8e750f18eb542660ed8f55fc10a91c2
3
+ metadata.gz: 3e1b3a6dd1a43a81dec93cc841fa8272f94fd53e604d6f2826035c221ac0cd1e
4
+ data.tar.gz: 920032b3617aae75fecbe0e0288e0279ad99ca215103e4e5825322d198560e4f
5
5
  SHA512:
6
- metadata.gz: 01dd7019a4fd8ee33dc4ebc5bdd069e5c2188476e835a806d8d1e170e84d0eb00f831cba66c65ab73db7264b54a264732e0c00a811f8be94d6f03c09f1f6c2bb
7
- data.tar.gz: 363f9143a45caacc0abb0a668f7be9ee019e082814bec7545c00e092770faf2dca0cabe9304aef0624864acdaea8afc60a0baee2fe84209f1074f6bf785e99b2
6
+ metadata.gz: 1ed91a6d2994ea510d2830e2b002f839098328ef7ece3fe1ed84458e2554f1a5138f5e51b009c32b7367f691b16e3ed94ce0d33497e9adb8eb9d868d2fa278d9
7
+ data.tar.gz: c2cef50ce789faf7a22d97e0d381f07b3b029ad5406613b3df6bb41cd8402c4552fcf6b852146a8a0c7bf10eceed8460aadc722e292da4cab915ef1af4fd8df5
@@ -2,7 +2,7 @@ version: 2
2
2
  jobs:
3
3
  build:
4
4
  docker:
5
- - image: circleci/ruby:2.3
5
+ - image: circleci/ruby:2.4
6
6
  steps:
7
7
  - checkout
8
8
  - run:
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.1
2
+ TargetRubyVersion: 2.4
3
3
 
4
4
  Style/FrozenStringLiteralComment:
5
5
  Enabled: false
@@ -1,3 +1,12 @@
1
+ # 13.0.0
2
+ - Add support for providing a payment initiation schedule
3
+ - Add back the (now deprecated) `/item/public_token/create` endpoint
4
+ - Add back the (now deprecated) `/payment_initiation/payment/token/create` endpoint
5
+
6
+ BREAKING CHANGES:
7
+
8
+ - Update minimum required Ruby version to 2.4
9
+
1
10
  # 12.0.0
2
11
 
3
12
  - The library has been pinned to the '2020-09-14' API release. Visit the [docs](https://plaid.com/docs/api/versioning/) to see what changed.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- plaid (12.0.0)
4
+ plaid (13.0.0)
5
5
  faraday
6
6
  faraday_middleware
7
7
  hashie (>= 3.4.3)
@@ -11,8 +11,11 @@ GEM
11
11
  specs:
12
12
  ast (2.4.0)
13
13
  dotenv (2.4.0)
14
- faraday (1.0.1)
14
+ faraday (1.3.0)
15
+ faraday-net_http (~> 1.0)
15
16
  multipart-post (>= 1.2, < 3)
17
+ ruby2_keywords
18
+ faraday-net_http (1.0.0)
16
19
  faraday_middleware (1.0.0)
17
20
  faraday (~> 1.0)
18
21
  hashie (4.1.0)
@@ -35,6 +38,7 @@ GEM
35
38
  ruby-progressbar (~> 1.7)
36
39
  unicode-display_width (~> 1.0, >= 1.0.1)
37
40
  ruby-progressbar (1.9.0)
41
+ ruby2_keywords (0.0.2)
38
42
  sdoc (1.0.0)
39
43
  rdoc (>= 5.0)
40
44
  unicode-display_width (1.3.2)
data/README.md CHANGED
@@ -258,7 +258,7 @@ The gem is available as open source under the terms of the [MIT License](http://
258
258
  If you're looking for a Ruby client that works with the legacy Plaid API, use the [`plaid-legacy` gem][2].
259
259
 
260
260
  [2]: https://github.com/plaid/plaid-ruby-legacy
261
- [version-changelog]: https://plaid.com/docs/api-upgrades
262
- [api-version-2018-05-22]: https://plaid.com/docs/api-upgrades#2018-05-22
263
- [api-version-2019-05-29]: https://plaid.com/docs/api-upgrades#2019-05-29
264
- [api-version-2020-09-14]: https://plaid.com/docs/api-upgrades#2020-09-14
261
+ [version-changelog]: https://plaid.com/docs/api/versioning/
262
+ [api-version-2018-05-22]: https://plaid.com/docs/api/versioning/#2018-05-22
263
+ [api-version-2019-05-29]: https://plaid.com/docs/api/versioning/#2019-05-29
264
+ [api-version-2020-09-14]: https://plaid.com/docs/api/versioning/#2020-09-14
@@ -1924,6 +1924,25 @@ module Plaid
1924
1924
  property :value
1925
1925
  end
1926
1926
 
1927
+ # Public: A representation of a payment amount.
1928
+ class PaymentSchedule < BaseModel
1929
+ ##
1930
+ # :attr_reader:
1931
+ # Public: Interval for the standing order.
1932
+ property :interval
1933
+
1934
+ ##
1935
+ # :attr_reader:
1936
+ # Public: Day or the week or day of the month to execute
1937
+ # the standing order.
1938
+ property :interval_execution_day
1939
+
1940
+ ##
1941
+ # :attr_reader:
1942
+ # Public: Start date for the standing order.
1943
+ property :start_date
1944
+ end
1945
+
1927
1946
  # Public: A representation of a payment amount.
1928
1947
  class PaymentRecipientAddress < BaseModel
1929
1948
  ##
@@ -2010,6 +2029,11 @@ module Plaid
2010
2029
  # Public: The payment amount.
2011
2030
  property :amount, coerce: PaymentAmount
2012
2031
 
2032
+ ##
2033
+ # :attr_reader:
2034
+ # Public: The payment schedule.
2035
+ property :schedule, coerce: PaymentSchedule
2036
+
2013
2037
  ##
2014
2038
  # :attr_reader:
2015
2039
  # Public: The payment's status.
@@ -27,6 +27,37 @@ module Plaid
27
27
 
28
28
  # Public: Class used to call the PublicToken sub-product
29
29
  class PublicToken < BaseProduct
30
+ # Public: Creates a public token from an access_token.
31
+ #
32
+ # Does a POST /item/public_token/create call which can be used to
33
+ # initialize Link in update mode.
34
+ #
35
+ # access_token - access_token to create a public token for
36
+ #
37
+ # Returns a CreateResponse object with a public token and expiration info.
38
+ def create(access_token)
39
+ puts 'Warning: this method will be deprecated in a future version. '\
40
+ 'To replace the public_token for initializing Link, look into '\
41
+ 'the link_token at https://plaid.com/docs/api/tokens/#linktokencreate.'
42
+
43
+ post_with_auth 'item/public_token/create',
44
+ CreateResponse,
45
+ access_token: access_token
46
+ end
47
+
48
+ # Public: Response for /item/public_token/create.
49
+ class CreateResponse < Models::BaseResponse
50
+ ##
51
+ # :attr_reader:
52
+ # Public: The String token.
53
+ property :public_token
54
+
55
+ ##
56
+ # :attr_reader:
57
+ # Public: The String token expiration time.
58
+ property :expiration
59
+ end
60
+
30
61
  # Public: Exchange a public token for an access_token
31
62
  #
32
63
  # Does a POST /item/public_token/exchange call helps you exchange a public
@@ -43,14 +43,39 @@ module Plaid
43
43
  # recipient_id - Recipient ID that the payment will be initiated for.
44
44
  # reference - Payment reference.
45
45
  # amount - Payment amount.
46
+ # schedule - Payment schedule.
46
47
  #
47
48
  # Returns a PaymentCreateResponse object.
48
- def create_payment(recipient_id, reference, amount)
49
- post_with_auth 'payment_initiation/payment/create',
50
- PaymentCreateResponse,
51
- recipient_id: recipient_id,
52
- reference: reference,
53
- amount: amount
49
+ def create_payment(recipient_id, reference, amount, schedule: nil)
50
+ if schedule.nil?
51
+ post_with_auth 'payment_initiation/payment/create',
52
+ PaymentCreateResponse,
53
+ recipient_id: recipient_id,
54
+ reference: reference,
55
+ amount: amount
56
+ else
57
+ post_with_auth 'payment_initiation/payment/create',
58
+ PaymentCreateResponse,
59
+ recipient_id: recipient_id,
60
+ reference: reference,
61
+ amount: amount,
62
+ schedule: schedule
63
+ end
64
+ end
65
+
66
+ # Public: Create a payment token.
67
+ #
68
+ # payment_id - Payment ID that the token will be created for.
69
+ #
70
+ # Returns a PaymentTokenCreateResponse object.
71
+ def create_payment_token(payment_id)
72
+ puts 'Warning: this method will be deprecated in a future version. '\
73
+ 'To replace the payment_token, look into the link_token at '\
74
+ 'https://plaid.com/docs/api/tokens/#linktokencreate.'
75
+
76
+ post_with_auth 'payment_initiation/payment/token/create',
77
+ PaymentTokenCreateResponse,
78
+ payment_id: payment_id
54
79
  end
55
80
 
56
81
  # Public: Retrieve a payment.
@@ -135,6 +160,19 @@ module Plaid
135
160
  property :status
136
161
  end
137
162
 
163
+ # Public: The response wrapper for /payment_initiation/payment/token/create.
164
+ class PaymentTokenCreateResponse < Models::BaseResponse
165
+ ##
166
+ # :attr_reader:
167
+ # Public: The payment token.
168
+ property :payment_token
169
+
170
+ ##
171
+ # :attr_reader:
172
+ # Public: The payment token's expiration time.
173
+ property :payment_token_expiration_time
174
+ end
175
+
138
176
  # Public: The response wrapper for /payment_initiation/payment/get.
139
177
  class PaymentGetResponse < Models::BaseResponse
140
178
  ##
@@ -157,6 +195,11 @@ module Plaid
157
195
  # Public: The payment amount.
158
196
  property :amount, coerce: Models::PaymentAmount
159
197
 
198
+ ##
199
+ # :attr_reader:
200
+ # Public: The payment schedule.
201
+ property :schedule, coerce: Models::PaymentSchedule
202
+
160
203
  ##
161
204
  # :attr_reader:
162
205
  # Public: The payment's status.
@@ -1,4 +1,4 @@
1
1
  module Plaid
2
- VERSION = '12.0.0'.freeze
2
+ VERSION = '13.0.0'.freeze
3
3
  API_VERSION = '2020-09-14'.freeze
4
4
  end
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
32
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.required_ruby_version = '>= 2.1.0'
35
+ spec.required_ruby_version = '>= 2.4.0'
36
36
 
37
37
  spec.add_dependency 'faraday'
38
38
  spec.add_dependency 'faraday_middleware'
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: 12.0.0
4
+ version: 13.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmund Loo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-07 00:00:00.000000000 Z
11
+ date: 2021-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -218,7 +218,7 @@ licenses:
218
218
  - MIT
219
219
  metadata:
220
220
  allowed_push_host: https://rubygems.org
221
- post_install_message:
221
+ post_install_message:
222
222
  rdoc_options: []
223
223
  require_paths:
224
224
  - lib
@@ -226,7 +226,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - ">="
228
228
  - !ruby/object:Gem::Version
229
- version: 2.1.0
229
+ version: 2.4.0
230
230
  required_rubygems_version: !ruby/object:Gem::Requirement
231
231
  requirements:
232
232
  - - ">="
@@ -234,7 +234,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
234
  version: '0'
235
235
  requirements: []
236
236
  rubygems_version: 3.0.3
237
- signing_key:
237
+ signing_key:
238
238
  specification_version: 4
239
239
  summary: Ruby bindings for Plaid
240
240
  test_files: []