plaid 2.0.0.alpha.2 → 2.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
  SHA1:
3
- metadata.gz: 97bd694d424964634d8df55cf301f6a8ab743eb4
4
- data.tar.gz: 3be0c9816df8e2c5917795cb40c3f70179dc60fa
3
+ metadata.gz: a1d12271b5f68498843347df5493efca85a54331
4
+ data.tar.gz: 77bd4a0ef5b50a6ac420a2067484a425d71b5f5b
5
5
  SHA512:
6
- metadata.gz: bb45ff4e878c9eaba205aabc4cfbc94f066baa62fb67f7a091427826ff58c1e7b788c8d286f0f8d762c87f5d4938cb040b941917d393699e903600f9cd4556e7
7
- data.tar.gz: 22a4587c8c0677660641892f0d68a2e746a665bdd8b9e5e595afb67cb702c7e964809c01bb26168ab6e2cdb36f012b1725c74589969a3adc8232d4ff7950cb5c
6
+ metadata.gz: 53b474fb7b12fbc2acb335aab4f072dd5d4ad96dcbc07b2a77fae42a73630b9ed7881336c7cab7e24a7b85543b666f07738eb8237df3eac8847a803244c71227
7
+ data.tar.gz: d9935d472dd1cc6841a94acee6049c637777c5d9c19384b6c43443f867906ffa1631465a5707676628794c84189f4ab90df9adcb6364e208bf861601c711e033
@@ -1,3 +1,8 @@
1
+ # 2.0.0. 24-May-2016
2
+
3
+ * Use `~> 1.0` spec for multi_json dependency.
4
+ * Support `stripe_bank_account_token` in `User.exchange_token`.
5
+
1
6
  # 2.0.0.alpha.2. 14-May-2016
2
7
 
3
8
  * Use `:production` instead of `:api` to signify production environment
data/README.md CHANGED
@@ -89,6 +89,11 @@ With more options:
89
89
  user2 = Plaid::User.exchange_token('public_token', account_id: '...', product: :auth)
90
90
  ```
91
91
 
92
+ If you want to [move money via Stripe's ACH
93
+ API](https://plaid.com/docs/link/stripe/#step-4-write-server-side-handler), you
94
+ ought to specify the `account_id` param. In this case the returned user
95
+ instance will have the `stripe_bank_account_token` attribute set.
96
+
92
97
  ### Upgrading and changing the current product
93
98
 
94
99
  Plaid supports upgrading a user, i.e. adding it to another product:
@@ -37,6 +37,12 @@ module Plaid
37
37
  # { message: 'Code sent to xxx-xxx-5309' }
38
38
  attr_reader :mfa
39
39
 
40
+ # Public: The String stripe bank account token.
41
+ #
42
+ # This field is set when you use User.exchange_token to convert Link
43
+ # public_token into an access token suitable for Plaid API.
44
+ attr_reader :stripe_bank_account_token
45
+
40
46
  # Internal: The Plaid::Client instance used to make queries.
41
47
  attr_reader :client
42
48
 
@@ -107,6 +113,9 @@ module Plaid
107
113
 
108
114
  # Public: Exchange a Link public_token for an API access_token.
109
115
  #
116
+ # The account_id parameter is required if you wish to receive a Stripe bank
117
+ # account token.
118
+ #
110
119
  # public_token - The String Link public_token.
111
120
  # account_id - The String account ID.
112
121
  # product - The Symbol product name (default: :connect).
@@ -114,7 +123,8 @@ module Plaid
114
123
  # (default is to use global Plaid client - Plaid.client).
115
124
  #
116
125
  # Returns a new User with access token obtained from Plaid and default
117
- # product set to product.
126
+ # product set to product. User#stripe_bank_account_token for this user
127
+ # instance will contain the Stripe token.
118
128
  def self.exchange_token(public_token, account_id = nil,
119
129
  product: :connect, client: nil)
120
130
  check_product product
@@ -124,7 +134,10 @@ module Plaid
124
134
 
125
135
  response = Connector.new(:exchange_token, auth: true, client: client)
126
136
  .post(payload)
127
- new product, response: response, client: client
137
+
138
+ stripe_token = account_id && response['stripe_bank_account_token']
139
+ new product, response: response, client: client,
140
+ stripe_token: stripe_token
128
141
  end
129
142
 
130
143
  # Internal: Initialize a User instance.
@@ -134,14 +147,16 @@ module Plaid
134
147
  # response - The Hash response body to parse.
135
148
  # mfa - The Boolean flag indicating that response body
136
149
  # - contains an MFA response.
150
+ # stripe_token - The String stripe bank account token.
137
151
  # client - The Plaid::Client instance used to connect to the API
138
152
  # (default is to use global Plaid client - Plaid.client).
139
153
  def initialize(product, access_token: nil, response: nil, mfa: nil,
140
- client: nil)
154
+ stripe_token: nil, client: nil)
141
155
  @product = product
142
156
  @client = client
143
157
  @access_token = access_token if access_token
144
158
  @mfa_required = mfa
159
+ @stripe_bank_account_token = stripe_token
145
160
  @accounts = @initial_transactions = @info = @risk = @income = nil
146
161
 
147
162
  parse_response(response) if response
@@ -1,3 +1,3 @@
1
1
  module Plaid
2
- VERSION = '2.0.0.alpha.2'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.required_ruby_version = '>= 2.0.0'
27
27
 
28
- spec.add_dependency 'multi_json', '~> 1.11.3'
28
+ spec.add_dependency 'multi_json', '~> 1.0'
29
29
 
30
30
  spec.add_development_dependency 'bundler', '~> 1.7'
31
31
  spec.add_development_dependency 'rake', '~> 10.0'
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: 2.0.0.alpha.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Dashevskii
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-14 00:00:00.000000000 Z
11
+ date: 2016-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.11.3
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.11.3
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -154,9 +154,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
154
  version: 2.0.0
155
155
  required_rubygems_version: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">"
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 1.3.1
159
+ version: '0'
160
160
  requirements: []
161
161
  rubyforge_project:
162
162
  rubygems_version: 2.5.1