dwolla-ruby 2.6.2 → 2.6.3
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.
- data/README.md +19 -1
- data/lib/dwolla/offsite_gateway.rb +4 -6
- data/lib/dwolla/version.rb +1 -1
- metadata +19 -5
- checksums.yaml +0 -15
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Official Ruby wrapper for Dwolla's API
|
3
3
|
|
4
4
|
## Version
|
5
|
-
2.6.
|
5
|
+
2.6.3
|
6
6
|
|
7
7
|
[](https://travis-ci.org/Dwolla/dwolla-ruby)
|
8
8
|
|
@@ -31,8 +31,26 @@ This repo includes various usage examples, including:
|
|
31
31
|
* Transacting money (includes sending) [transactions.rb]
|
32
32
|
* Getting a user's balance [balance.rb]
|
33
33
|
|
34
|
+
## Concurrent requests
|
35
|
+
|
36
|
+
If making requests using any background processing library such as `Sidkiq` or `Resque`, we recommend that you manually pass in tokens to functions which take an OAuth token.
|
37
|
+
|
38
|
+
For example, we can do this with the `Contacts` class:
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
# Include the Dwolla gem
|
42
|
+
require 'rubygems'
|
43
|
+
require 'pp'
|
44
|
+
require 'dwolla'
|
45
|
+
|
46
|
+
Dwolla::Contacts.get(nil, "your_token")
|
47
|
+
```
|
48
|
+
|
34
49
|
## Changelog
|
35
50
|
|
51
|
+
2.6.3
|
52
|
+
* Fixed webhook validation, cleaned up OpenSSL Digest calls (thanks, @michaelblinn)!
|
53
|
+
|
36
54
|
2.6.2
|
37
55
|
* Fixed bug with generation of Off-Site Gateway checkout URLs
|
38
56
|
|
@@ -94,8 +94,7 @@ module Dwolla
|
|
94
94
|
|
95
95
|
def self.read_callback(body)
|
96
96
|
data = JSON.load(body)
|
97
|
-
|
98
|
-
verify_callback_signature(data['Signature'], data['CheckoutId'], data['Amount'])
|
97
|
+
verify_callback_signature(data['signature'], data['checkoutId'], data['amount'])
|
99
98
|
|
100
99
|
return data
|
101
100
|
end
|
@@ -105,17 +104,16 @@ module Dwolla
|
|
105
104
|
end
|
106
105
|
|
107
106
|
private
|
108
|
-
|
109
|
-
def self.verify_callback_signature(candidate=nil, checkout_id=nil, amount=nil)
|
107
|
+
def self.verify_callback_signature(candidate=nil, checkout_id=nil, amount=nil)
|
110
108
|
key = "#{checkout_id}&#{amount}"
|
111
|
-
digest = OpenSSL::Digest
|
109
|
+
digest = OpenSSL::Digest.new('sha1')
|
112
110
|
signature = OpenSSL::HMAC.hexdigest(digest, Dwolla::api_secret, key)
|
113
111
|
|
114
112
|
raise APIError.new("Invalid callback signature (#{candidate} vs #{signature})") unless candidate == signature
|
115
113
|
end
|
116
114
|
|
117
115
|
def self.verify_webhook_signature(candidate=nil, body=nil)
|
118
|
-
digest = OpenSSL::Digest
|
116
|
+
digest = OpenSSL::Digest.new('sha1')
|
119
117
|
signature = OpenSSL::HMAC.hexdigest(digest, Dwolla::api_secret, body)
|
120
118
|
|
121
119
|
raise APIError.new("Invalid Webhook signature (#{candidate} vs #{signature})") unless candidate == signature
|
data/lib/dwolla/version.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dwolla-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.3
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Michael Schonfeld
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2015-02-11 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rest-client
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: multi_json
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -37,6 +41,7 @@ dependencies:
|
|
37
41
|
type: :runtime
|
38
42
|
prerelease: false
|
39
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
40
45
|
requirements:
|
41
46
|
- - ! '>='
|
42
47
|
- !ruby/object:Gem::Version
|
@@ -47,6 +52,7 @@ dependencies:
|
|
47
52
|
- !ruby/object:Gem::Dependency
|
48
53
|
name: addressable
|
49
54
|
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
50
56
|
requirements:
|
51
57
|
- - ! '>='
|
52
58
|
- !ruby/object:Gem::Version
|
@@ -54,6 +60,7 @@ dependencies:
|
|
54
60
|
type: :runtime
|
55
61
|
prerelease: false
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
57
64
|
requirements:
|
58
65
|
- - ! '>='
|
59
66
|
- !ruby/object:Gem::Version
|
@@ -61,6 +68,7 @@ dependencies:
|
|
61
68
|
- !ruby/object:Gem::Dependency
|
62
69
|
name: mocha
|
63
70
|
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
64
72
|
requirements:
|
65
73
|
- - ! '>='
|
66
74
|
- !ruby/object:Gem::Version
|
@@ -68,6 +76,7 @@ dependencies:
|
|
68
76
|
type: :development
|
69
77
|
prerelease: false
|
70
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
71
80
|
requirements:
|
72
81
|
- - ! '>='
|
73
82
|
- !ruby/object:Gem::Version
|
@@ -75,6 +84,7 @@ dependencies:
|
|
75
84
|
- !ruby/object:Gem::Dependency
|
76
85
|
name: test-unit
|
77
86
|
requirement: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
78
88
|
requirements:
|
79
89
|
- - ! '>='
|
80
90
|
- !ruby/object:Gem::Version
|
@@ -82,6 +92,7 @@ dependencies:
|
|
82
92
|
type: :development
|
83
93
|
prerelease: false
|
84
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
85
96
|
requirements:
|
86
97
|
- - ! '>='
|
87
98
|
- !ruby/object:Gem::Version
|
@@ -89,6 +100,7 @@ dependencies:
|
|
89
100
|
- !ruby/object:Gem::Dependency
|
90
101
|
name: rake
|
91
102
|
requirement: !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
92
104
|
requirements:
|
93
105
|
- - ! '>='
|
94
106
|
- !ruby/object:Gem::Version
|
@@ -96,6 +108,7 @@ dependencies:
|
|
96
108
|
type: :development
|
97
109
|
prerelease: false
|
98
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
99
112
|
requirements:
|
100
113
|
- - ! '>='
|
101
114
|
- !ruby/object:Gem::Version
|
@@ -156,26 +169,27 @@ files:
|
|
156
169
|
homepage: https://github.com/dwolla/dwolla-ruby
|
157
170
|
licenses:
|
158
171
|
- MIT
|
159
|
-
metadata: {}
|
160
172
|
post_install_message:
|
161
173
|
rdoc_options: []
|
162
174
|
require_paths:
|
163
175
|
- lib
|
164
176
|
required_ruby_version: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
165
178
|
requirements:
|
166
179
|
- - ! '>='
|
167
180
|
- !ruby/object:Gem::Version
|
168
181
|
version: '0'
|
169
182
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
none: false
|
170
184
|
requirements:
|
171
185
|
- - ! '>='
|
172
186
|
- !ruby/object:Gem::Version
|
173
187
|
version: '0'
|
174
188
|
requirements: []
|
175
189
|
rubyforge_project: dwolla-ruby
|
176
|
-
rubygems_version:
|
190
|
+
rubygems_version: 1.8.23
|
177
191
|
signing_key:
|
178
|
-
specification_version:
|
192
|
+
specification_version: 3
|
179
193
|
summary: Official Ruby Wrapper for Dwolla's API
|
180
194
|
test_files:
|
181
195
|
- test/test_accounts.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
YzJhM2M5ZDI1ZmIxODI2YTkwMDdiYmQ5NWIyNzgxYzFhNGU1ZjhhNw==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YzhjNDNhNmY3ZGY2ZGU2ZTA5ZTYxYWQ5NTU4MDI1OTM5YmM4YTVhOA==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
MjIwYzFjMmE2NWQ3NzExYTliMDA1YzBjOWRkNmRlY2M3MGJmZjg0NzI2YzQ0
|
10
|
-
ZWRlZjk3ZjEzNzczZjZmYTRmNmE0NWQ4NWY4MTAwNmQ3MmE4MDZjODE2ZmEy
|
11
|
-
ZGVmNDNiYTM1ODdmYjA2YWYzM2EyODQ4N2Q2ZGMzNWM3ZTI4MDI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YzYwNTNiZTFiNzFkZDI0OTZjZmJjYjlkYzBmZjc4MzZiYmM5MTBkY2JiMDZk
|
14
|
-
N2E5MDdkYmY1NTJmZGJmYWQxZjZkYmJkYzlhZmI4YTBmY2QyZTYxOThjMzZi
|
15
|
-
MTYyNjQxOGZhMWJkZTE0NGQzZDA5MzJkZDg2N2QwZDZmNTgxN2M=
|