plaid 8.3.0 → 8.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +13 -0
- data/Gemfile.lock +5 -5
- data/lib/plaid.rb +1 -0
- data/lib/plaid/client.rb +5 -0
- data/lib/plaid/models.rb +140 -0
- data/lib/plaid/products/payment_initiation.rb +211 -0
- data/lib/plaid/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f70479c2504298edafa057a0924b2c2132f20d88d0fa0cbe0ae9bcb56487aa06
|
4
|
+
data.tar.gz: b0a7b9a3976e543e02ca97c99544cc41745543bbfe77c23d319a1e57053e77d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ceab5477a6a2a2113c9025027a7f80c709d4db419c09e9f43f9a20500c29c7dd3abe28f8cf3ac849ee94a3e3006100846611344e63a34b9fa88f84629f453fa4
|
7
|
+
data.tar.gz: 8a6bb6cf0a09ee13dec7f8025599f112f891de8dfe899aa231d2467f961f9e4b2519564d791d52c886e2ee34c1eb8a27f7c2a45a0a6aa9fb0d7f8d89374df9f9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
# 8.4.0 23-Jan-2020
|
2
|
+
|
3
|
+
* Add support for new UK Payment Initiation product ([#246](https://github.com/plaid/plaid-ruby/pull/246))
|
4
|
+
* `/payment_initiation/recipient/create`
|
5
|
+
* `/payment_initiation/recipient/get`
|
6
|
+
* `/payment_initiation/recipient/list`
|
7
|
+
* `/payment_initiation/payment/create`
|
8
|
+
* `/payment_initiation/payment/token/create`
|
9
|
+
* `/payment_initiation/payment/get`
|
10
|
+
* `/payment_initiation/payment/list`
|
11
|
+
* Add `consent_expiration_time` to the Item interface ([#247](https://github.com/plaid/plaid-ruby/pull/247))
|
12
|
+
|
13
|
+
|
1
14
|
# 8.3.0 17-Sep-2019
|
2
15
|
|
3
16
|
* Add support for new [Ocrolus Partnership](https://plaid.com/docs/ocrolus/)
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
plaid (
|
4
|
+
plaid (8.4.0)
|
5
5
|
faraday
|
6
6
|
faraday_middleware
|
7
7
|
hashie (>= 3.4.3)
|
@@ -11,15 +11,15 @@ GEM
|
|
11
11
|
specs:
|
12
12
|
ast (2.4.0)
|
13
13
|
dotenv (2.4.0)
|
14
|
-
faraday (0.
|
14
|
+
faraday (0.17.3)
|
15
15
|
multipart-post (>= 1.2, < 3)
|
16
|
-
faraday_middleware (0.
|
16
|
+
faraday_middleware (0.14.0)
|
17
17
|
faraday (>= 0.7.4, < 1.0)
|
18
|
-
hashie (
|
18
|
+
hashie (4.0.0)
|
19
19
|
minitest (5.11.3)
|
20
20
|
minitest-around (0.4.1)
|
21
21
|
minitest (~> 5.0)
|
22
|
-
multipart-post (2.
|
22
|
+
multipart-post (2.1.1)
|
23
23
|
parallel (1.12.1)
|
24
24
|
parser (2.5.1.0)
|
25
25
|
ast (~> 2.4.0)
|
data/lib/plaid.rb
CHANGED
@@ -20,6 +20,7 @@ require_relative 'plaid/products/sandbox'
|
|
20
20
|
require_relative 'plaid/products/transactions'
|
21
21
|
require_relative 'plaid/products/investments'
|
22
22
|
require_relative 'plaid/products/liabilities'
|
23
|
+
require_relative 'plaid/products/payment_initiation'
|
23
24
|
require_relative 'plaid/client'
|
24
25
|
|
25
26
|
# Public: The namespace for all the things Plaid.
|
data/lib/plaid/client.rb
CHANGED
@@ -102,6 +102,11 @@ module Plaid
|
|
102
102
|
# Public: The Plaid::Investments product accessor.
|
103
103
|
subproduct :investments
|
104
104
|
|
105
|
+
##
|
106
|
+
# :attr_reader:
|
107
|
+
# Public: The Plaid::PaymentInitiation product accessor.
|
108
|
+
subproduct :payment_initiation
|
109
|
+
|
105
110
|
# Public: Make a post request
|
106
111
|
#
|
107
112
|
# path - Path or URL to make the request to
|
data/lib/plaid/models.rb
CHANGED
@@ -127,6 +127,12 @@ module Plaid
|
|
127
127
|
# :attr_reader:
|
128
128
|
# Public: The String webhook URL.
|
129
129
|
property :webhook
|
130
|
+
|
131
|
+
##
|
132
|
+
# :attr_reader:
|
133
|
+
# Public: The String consent expiration timestamp (or nil)
|
134
|
+
# (e.g. "2019-04-22T00:00:00Z").
|
135
|
+
property :consent_expiration_time
|
130
136
|
end
|
131
137
|
|
132
138
|
# Public: A representation of Item webhook status
|
@@ -159,6 +165,21 @@ module Plaid
|
|
159
165
|
property :last_successful_update
|
160
166
|
end
|
161
167
|
|
168
|
+
# Public: A representation of Item investments update status
|
169
|
+
class ItemStatusInvestments < BaseModel
|
170
|
+
##
|
171
|
+
# :attr_reader:
|
172
|
+
# Public: the String last failed update date (or nil).
|
173
|
+
# (e.g. "2019-04-22T00:00:00Z").
|
174
|
+
property :last_failed_update
|
175
|
+
|
176
|
+
##
|
177
|
+
# :attr_reader:
|
178
|
+
# Public: the String last successful update date (or nil).
|
179
|
+
# (e.g. "2019-04-22T00:00:00Z").
|
180
|
+
property :last_successful_update
|
181
|
+
end
|
182
|
+
|
162
183
|
# Public: A representation of Item status
|
163
184
|
class ItemStatus < BaseModel
|
164
185
|
##
|
@@ -170,6 +191,11 @@ module Plaid
|
|
170
191
|
# :attr_reader:
|
171
192
|
# Public: The ItemStatusTransactions for this ItemStatus.
|
172
193
|
property :transactions, coerce: ItemStatusTransactions
|
194
|
+
|
195
|
+
##
|
196
|
+
# :attr_reader:
|
197
|
+
# Public: The ItemStatusInvestments for this ItemStatus.
|
198
|
+
property :investments, coerce: ItemStatusInvestments
|
173
199
|
end
|
174
200
|
|
175
201
|
# Public: A representation of account balances.
|
@@ -986,6 +1012,18 @@ module Plaid
|
|
986
1012
|
# :attr_reader:
|
987
1013
|
# Public: The String unofficial currency code for the amount
|
988
1014
|
property :unofficial_currency_code
|
1015
|
+
|
1016
|
+
##
|
1017
|
+
# :attr_reader:
|
1018
|
+
# Public: The String channel used to make a payment, e.g.
|
1019
|
+
# "online", "in store", or "other".
|
1020
|
+
property :payment_channel
|
1021
|
+
|
1022
|
+
##
|
1023
|
+
# :attr_reader:
|
1024
|
+
# Public: The String date that the transaction was authorized,
|
1025
|
+
# e.g. "2017-01-01".
|
1026
|
+
property :authorized_date
|
989
1027
|
end
|
990
1028
|
|
991
1029
|
# Public: A representation of an InvestmentTransaction in an investment
|
@@ -1768,5 +1806,107 @@ module Plaid
|
|
1768
1806
|
# Public: Student loan liabilities associated with the item.
|
1769
1807
|
property :student, coerce: Array[StudentLoanLiability]
|
1770
1808
|
end
|
1809
|
+
|
1810
|
+
# Public: A representation of a payment amount.
|
1811
|
+
class PaymentAmount < BaseModel
|
1812
|
+
##
|
1813
|
+
# :attr_reader:
|
1814
|
+
# Public: Currency for the payment amount.
|
1815
|
+
property :currency
|
1816
|
+
|
1817
|
+
##
|
1818
|
+
# :attr_reader:
|
1819
|
+
# Public: Value of the payment amount.
|
1820
|
+
property :value
|
1821
|
+
end
|
1822
|
+
|
1823
|
+
# Public: A representation of a payment amount.
|
1824
|
+
class PaymentRecipientAddress < BaseModel
|
1825
|
+
##
|
1826
|
+
# :attr_reader:
|
1827
|
+
# Public: Street name.
|
1828
|
+
property :street
|
1829
|
+
|
1830
|
+
##
|
1831
|
+
# :attr_reader:
|
1832
|
+
# Public: City.
|
1833
|
+
property :city
|
1834
|
+
|
1835
|
+
##
|
1836
|
+
# :attr_reader:
|
1837
|
+
# Public: Postal code.
|
1838
|
+
property :postal_code
|
1839
|
+
|
1840
|
+
##
|
1841
|
+
# :attr_reader:
|
1842
|
+
# Public: Country.
|
1843
|
+
property :country
|
1844
|
+
end
|
1845
|
+
|
1846
|
+
# Public: A representation of a payment recipient.
|
1847
|
+
class PaymentRecipient < BaseModel
|
1848
|
+
##
|
1849
|
+
# :attr_reader:
|
1850
|
+
# Public: The recipient ID.
|
1851
|
+
property :recipient_id
|
1852
|
+
|
1853
|
+
##
|
1854
|
+
# :attr_reader:
|
1855
|
+
# Public: The recipient name.
|
1856
|
+
property :name
|
1857
|
+
|
1858
|
+
##
|
1859
|
+
# :attr_reader:
|
1860
|
+
# Public: The recipient IBAN.
|
1861
|
+
property :iban
|
1862
|
+
|
1863
|
+
##
|
1864
|
+
# :attr_reader:
|
1865
|
+
# Public: The recipient address.
|
1866
|
+
property :address, coerce: PaymentRecipientAddress
|
1867
|
+
end
|
1868
|
+
|
1869
|
+
# Public: A representation of a payment.
|
1870
|
+
class Payment < BaseModel
|
1871
|
+
##
|
1872
|
+
# :attr_reader:
|
1873
|
+
# Public: The payment ID.
|
1874
|
+
property :payment_id
|
1875
|
+
|
1876
|
+
##
|
1877
|
+
# :attr_reader:
|
1878
|
+
# Public: The payment token.
|
1879
|
+
property :payment_token
|
1880
|
+
|
1881
|
+
##
|
1882
|
+
# :attr_reader:
|
1883
|
+
# Public: The payment reference.
|
1884
|
+
property :reference
|
1885
|
+
|
1886
|
+
##
|
1887
|
+
# :attr_reader:
|
1888
|
+
# Public: The payment amount.
|
1889
|
+
property :amount, coerce: PaymentAmount
|
1890
|
+
|
1891
|
+
##
|
1892
|
+
# :attr_reader:
|
1893
|
+
# Public: The payment's status.
|
1894
|
+
property :status
|
1895
|
+
|
1896
|
+
##
|
1897
|
+
# :attr_reader:
|
1898
|
+
# Public: The last status update time for payment.
|
1899
|
+
property :last_status_update
|
1900
|
+
|
1901
|
+
##
|
1902
|
+
# :attr_reader:
|
1903
|
+
# Public: The payment token's expiration time.
|
1904
|
+
property :payment_token_expiration_time
|
1905
|
+
|
1906
|
+
##
|
1907
|
+
# :attr_reader:
|
1908
|
+
# Public: The recipient ID for payment.
|
1909
|
+
property :recipient_id
|
1910
|
+
end
|
1771
1911
|
end
|
1772
1912
|
end
|
@@ -0,0 +1,211 @@
|
|
1
|
+
module Plaid
|
2
|
+
# Public: Class used to call the Payment product.
|
3
|
+
class PaymentInitiation < BaseProduct
|
4
|
+
# Public: Create a recipient.
|
5
|
+
#
|
6
|
+
# name - Recipient name.
|
7
|
+
# iban - Recipient IBAN.
|
8
|
+
# address - Recipient address.
|
9
|
+
#
|
10
|
+
# Returns a PaymentRecipientCreateResponse object.
|
11
|
+
def create_recipient(name, iban, address)
|
12
|
+
post_with_auth 'payment_initiation/recipient/create',
|
13
|
+
PaymentRecipientCreateResponse,
|
14
|
+
name: name,
|
15
|
+
iban: iban,
|
16
|
+
address: address
|
17
|
+
end
|
18
|
+
|
19
|
+
# Public: Retrieve a recipient.
|
20
|
+
#
|
21
|
+
# recipient_id - The recipient ID from the `create_recipient` response.
|
22
|
+
#
|
23
|
+
# Returns a PaymentRecipientGetResponse object.
|
24
|
+
def get_recipient(recipient_id)
|
25
|
+
post_with_auth 'payment_initiation/recipient/get',
|
26
|
+
PaymentRecipientGetResponse,
|
27
|
+
recipient_id: recipient_id
|
28
|
+
end
|
29
|
+
|
30
|
+
# Public: List all recipients.
|
31
|
+
#
|
32
|
+
# Returns a PaymentRecipientListResponse object.
|
33
|
+
def list_recipients
|
34
|
+
post_with_auth 'payment_initiation/recipient/list',
|
35
|
+
PaymentRecipientListResponse,
|
36
|
+
{}
|
37
|
+
end
|
38
|
+
|
39
|
+
# Public: Create a payment.
|
40
|
+
#
|
41
|
+
# recipient_id - Recipient ID that the payment will be initiated for.
|
42
|
+
# reference - Payment reference.
|
43
|
+
# amount - Payment amount.
|
44
|
+
#
|
45
|
+
# Returns a PaymentCreateResponse object.
|
46
|
+
def create_payment(recipient_id, reference, amount)
|
47
|
+
post_with_auth 'payment_initiation/payment/create',
|
48
|
+
PaymentCreateResponse,
|
49
|
+
recipient_id: recipient_id,
|
50
|
+
reference: reference,
|
51
|
+
amount: amount
|
52
|
+
end
|
53
|
+
|
54
|
+
# Public: Create a payment token.
|
55
|
+
#
|
56
|
+
# payment_id - Payment ID that the token will be created for.
|
57
|
+
#
|
58
|
+
# Returns a PaymentTokenCreateResponse object.
|
59
|
+
def create_payment_token(payment_id)
|
60
|
+
post_with_auth 'payment_initiation/payment/token/create',
|
61
|
+
PaymentTokenCreateResponse,
|
62
|
+
payment_id: payment_id
|
63
|
+
end
|
64
|
+
|
65
|
+
# Public: Retrieve a payment.
|
66
|
+
#
|
67
|
+
# payment_id - The payment ID from the `create_payment` response.
|
68
|
+
#
|
69
|
+
# Returns a PaymentGetResponse object.
|
70
|
+
def get_payment(payment_id)
|
71
|
+
post_with_auth 'payment_initiation/payment/get',
|
72
|
+
PaymentGetResponse,
|
73
|
+
payment_id: payment_id
|
74
|
+
end
|
75
|
+
|
76
|
+
# Public: List all payments.
|
77
|
+
#
|
78
|
+
# options - Object to specify optional parameters 'count' and 'cursor'.
|
79
|
+
# e.g {count: 10, cursor: '2019-12-06T22:35:49Z'} returns 10
|
80
|
+
# payments initiated before 2019-12-06T22:35:49Z.
|
81
|
+
#
|
82
|
+
# Returns a PaymentListResponse object.
|
83
|
+
def list_payments(options)
|
84
|
+
post_with_auth 'payment_initiation/payment/list',
|
85
|
+
PaymentListResponse,
|
86
|
+
options
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# Public: The response wrapper for /payment_initiation/recipient/create.
|
91
|
+
class PaymentRecipientCreateResponse < Models::BaseResponse
|
92
|
+
##
|
93
|
+
# :attr_reader:
|
94
|
+
# Public: The recipient ID.
|
95
|
+
property :recipient_id
|
96
|
+
end
|
97
|
+
|
98
|
+
# Public: The response wrapper for /payment_initiation/recipient/get.
|
99
|
+
class PaymentRecipientGetResponse < Models::BaseResponse
|
100
|
+
##
|
101
|
+
# :attr_reader:
|
102
|
+
# Public: The recipient ID.
|
103
|
+
property :recipient_id
|
104
|
+
|
105
|
+
##
|
106
|
+
# :attr_reader:
|
107
|
+
# Public: The recipient name.
|
108
|
+
property :name
|
109
|
+
|
110
|
+
##
|
111
|
+
# :attr_reader:
|
112
|
+
# Public: The recipient IBAN.
|
113
|
+
property :iban
|
114
|
+
|
115
|
+
##
|
116
|
+
# :attr_reader:
|
117
|
+
# Public: The recipient address.
|
118
|
+
property :address, coerce: Models::PaymentRecipientAddress
|
119
|
+
end
|
120
|
+
|
121
|
+
# Public: The response wrapper for /payment_initiation/recipient/list.
|
122
|
+
class PaymentRecipientListResponse < Models::BaseResponse
|
123
|
+
##
|
124
|
+
# :attr_reader:
|
125
|
+
# Public: The list of recipients.
|
126
|
+
property :recipients, coerce: Array[Models::PaymentRecipient]
|
127
|
+
end
|
128
|
+
|
129
|
+
# Public: The response wrapper for /payment_initiation/payment/create.
|
130
|
+
class PaymentCreateResponse < Models::BaseResponse
|
131
|
+
##
|
132
|
+
# :attr_reader:
|
133
|
+
# Public: The payment ID.
|
134
|
+
property :payment_id
|
135
|
+
|
136
|
+
##
|
137
|
+
# :attr_reader:
|
138
|
+
# Public: The payment status.
|
139
|
+
property :status
|
140
|
+
end
|
141
|
+
|
142
|
+
# Public: The response wrapper for /payment_initiation/payment/token/create.
|
143
|
+
class PaymentTokenCreateResponse < Models::BaseResponse
|
144
|
+
##
|
145
|
+
# :attr_reader:
|
146
|
+
# Public: The payment token.
|
147
|
+
property :payment_token
|
148
|
+
|
149
|
+
##
|
150
|
+
# :attr_reader:
|
151
|
+
# Public: The payment token's expiration time.
|
152
|
+
property :payment_token_expiration_time
|
153
|
+
end
|
154
|
+
|
155
|
+
# Public: The response wrapper for /payment_initiation/payment/get.
|
156
|
+
class PaymentGetResponse < Models::BaseResponse
|
157
|
+
##
|
158
|
+
# :attr_reader:
|
159
|
+
# Public: The payment ID.
|
160
|
+
property :payment_id
|
161
|
+
|
162
|
+
##
|
163
|
+
# :attr_reader:
|
164
|
+
# Public: The payment token.
|
165
|
+
property :payment_token
|
166
|
+
|
167
|
+
##
|
168
|
+
# :attr_reader:
|
169
|
+
# Public: The payment reference.
|
170
|
+
property :reference
|
171
|
+
|
172
|
+
##
|
173
|
+
# :attr_reader:
|
174
|
+
# Public: The payment amount.
|
175
|
+
property :amount, coerce: Models::PaymentAmount
|
176
|
+
|
177
|
+
##
|
178
|
+
# :attr_reader:
|
179
|
+
# Public: The payment's status.
|
180
|
+
property :status
|
181
|
+
|
182
|
+
##
|
183
|
+
# :attr_reader:
|
184
|
+
# Public: The last status update time for payment.
|
185
|
+
property :last_status_update
|
186
|
+
|
187
|
+
##
|
188
|
+
# :attr_reader:
|
189
|
+
# Public: The payment token's expiration time.
|
190
|
+
property :payment_token_expiration_time
|
191
|
+
|
192
|
+
##
|
193
|
+
# :attr_reader:
|
194
|
+
# Public: The recipient ID for payment.
|
195
|
+
property :recipient_id
|
196
|
+
end
|
197
|
+
|
198
|
+
# Public: The response wrapper for /payment_initiation/payment/list.
|
199
|
+
class PaymentListResponse < Models::BaseResponse
|
200
|
+
##
|
201
|
+
# :attr_reader:
|
202
|
+
# Public: The list of payments.
|
203
|
+
property :payments, coerce: Array[Models::Payment]
|
204
|
+
|
205
|
+
##
|
206
|
+
# :attr_reader:
|
207
|
+
# Public: The cursor (its a timestamp) to use in the next
|
208
|
+
# /payment_initiation/payment/list call for retrieving more older payments.
|
209
|
+
property :next_cursor
|
210
|
+
end
|
211
|
+
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.4.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:
|
11
|
+
date: 2020-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -203,6 +203,7 @@ files:
|
|
203
203
|
- lib/plaid/products/investments.rb
|
204
204
|
- lib/plaid/products/item.rb
|
205
205
|
- lib/plaid/products/liabilities.rb
|
206
|
+
- lib/plaid/products/payment_initiation.rb
|
206
207
|
- lib/plaid/products/processor.rb
|
207
208
|
- lib/plaid/products/sandbox.rb
|
208
209
|
- lib/plaid/products/transactions.rb
|
@@ -229,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
230
|
version: '0'
|
230
231
|
requirements: []
|
231
232
|
rubyforge_project:
|
232
|
-
rubygems_version: 2.
|
233
|
+
rubygems_version: 2.7.7
|
233
234
|
signing_key:
|
234
235
|
specification_version: 4
|
235
236
|
summary: Ruby bindings for Plaid
|