synapse_payments 0.1.1 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fcd5b060c257d3ad6da517c88bfab653fac778bb
4
- data.tar.gz: 2eaef38ba1b1f7bf62267de5a6edaa971c1d663e
3
+ metadata.gz: 4f4123d596fcbe30b219c5e2d9266a762d37285c
4
+ data.tar.gz: 79e51fd423fb548577e4dd78e210e1eb6e29fda1
5
5
  SHA512:
6
- metadata.gz: dc5b15562cf095f770dd658d89e931292868bc82cddf5b77db15180e184c26e25f82cc6f33d5c2827773786e1a7e2026d80939be619c2fdf933bc598f53ae9d3
7
- data.tar.gz: 4a68d4e459b4d6d4ba14521c0e2e42fd0d2419ffc86d89796cf8da9b8186bd8c7c48ff12eb7506eb7ce99b42a6f600efb5c613272f8bda372b2beea0e673aef1
6
+ metadata.gz: a81f7a5435941163e016e2bb63d838818198a99c67aa0d84a7d4a892cc416a1f22e04043e142b97001777b378455aa1d9cdc71fad64bf3a9c338789d38c3d1a2
7
+ data.tar.gz: 4c86931ec9f611bd4d78be0f5d9ea1cc634a911813cfa16a02c91cc06a30bc3cbcc4c8f6aac3147b801f5f596fb5656d0867e39a92561124961e459795f93e1c
@@ -40,20 +40,20 @@ module SynapsePayments
40
40
  credentials.values.all?
41
41
  end
42
42
 
43
- def get(path:, oauth_key: nil)
44
- Request.new(client: self, method: :get, path: path, oauth_key: oauth_key).perform
43
+ def get(path:, oauth_key: nil, fingerprint: nil)
44
+ Request.new(client: self, method: :get, path: path, oauth_key: oauth_key, fingerprint: fingerprint).perform
45
45
  end
46
46
 
47
- def post(path:, json:, oauth_key: nil)
48
- Request.new(client: self, method: :post, path: path, oauth_key: oauth_key, json: json).perform
47
+ def post(path:, json:, oauth_key: nil, fingerprint: nil)
48
+ Request.new(client: self, method: :post, path: path, oauth_key: oauth_key, fingerprint: fingerprint, json: json).perform
49
49
  end
50
50
 
51
- def patch(path:, json:, oauth_key: nil)
52
- Request.new(client: self, method: :patch, path: path, oauth_key: oauth_key, json: json).perform
51
+ def patch(path:, json:, oauth_key: nil, fingerprint: nil)
52
+ Request.new(client: self, method: :patch, path: path, oauth_key: oauth_key, fingerprint: fingerprint, json: json).perform
53
53
  end
54
54
 
55
- def delete(path:, oauth_key: nil)
56
- Request.new(client: self, method: :delete, path: path, oauth_key: oauth_key).perform
55
+ def delete(path:, oauth_key: nil, fingerprint: nil)
56
+ Request.new(client: self, method: :delete, path: path, oauth_key: oauth_key, fingerprint: fingerprint).perform
57
57
  end
58
58
 
59
59
  end
@@ -3,12 +3,9 @@ module SynapsePayments
3
3
 
4
4
  attr_reader :transactions
5
5
 
6
- def initialize(client, user_id, node_id, oauth_key)
6
+ def initialize(client, user_id, node_id, oauth_key, fingerprint)
7
7
  @client = client
8
- @user_id = user_id
9
- @node_id = node_id
10
- @oauth_key = oauth_key
11
- @transactions = Transactions.new(@client, user_id, node_id, oauth_key)
8
+ @transactions = Transactions.new(@client, user_id, node_id, oauth_key, fingerprint)
12
9
  end
13
10
 
14
11
  end
@@ -1,26 +1,27 @@
1
1
  module SynapsePayments
2
2
  class Nodes
3
3
 
4
- def initialize(client, user_id, oauth_key)
4
+ def initialize(client, user_id, oauth_key, fingerprint)
5
5
  @client = client
6
6
  @user_id = user_id
7
7
  @oauth_key = oauth_key
8
+ @fingerprint = fingerprint
8
9
  end
9
10
 
10
11
  def all
11
- @client.get(path: "/users/#{@user_id}/nodes", oauth_key: @oauth_key)
12
+ @client.get(path: "/users/#{@user_id}/nodes", oauth_key: @oauth_key, fingerprint: @fingerprint)
12
13
  end
13
14
 
14
15
  def find(id)
15
- @client.get(path: "/users/#{@user_id}/nodes/#{id}", oauth_key: @oauth_key)
16
+ @client.get(path: "/users/#{@user_id}/nodes/#{id}", oauth_key: @oauth_key, fingerprint: @fingerprint)
16
17
  end
17
18
 
18
19
  def create(data)
19
- @client.post(path: "/users/#{@user_id}/nodes", oauth_key: @oauth_key, json: data)
20
+ @client.post(path: "/users/#{@user_id}/nodes", oauth_key: @oauth_key, fingerprint: @fingerprint, json: data)
20
21
  end
21
22
 
22
23
  def delete(id)
23
- @client.delete(path: "/users/#{@user_id}/nodes/#{id}", oauth_key: @oauth_key)
24
+ @client.delete(path: "/users/#{@user_id}/nodes/#{id}", oauth_key: @oauth_key, fingerprint: @fingerprint)
24
25
  end
25
26
 
26
27
  end
@@ -8,11 +8,12 @@ module SynapsePayments
8
8
  'X-Ruby-Platform' => RUBY_PLATFORM
9
9
  }
10
10
 
11
- def initialize(client:, method:, path:, oauth_key: nil, json: nil)
11
+ def initialize(client:, method:, path:, oauth_key: nil, fingerprint: nil, json: nil)
12
12
  @client = client
13
13
  @method = method
14
14
  @path = path
15
15
  @oauth_key = oauth_key
16
+ @fingerprint = fingerprint
16
17
  @json = json
17
18
  end
18
19
 
@@ -23,10 +24,12 @@ module SynapsePayments
23
24
  fail_or_return_response_body(response.code, response_body)
24
25
  end
25
26
 
27
+ private
28
+
26
29
  def http_client
27
30
  headers = HEADERS.merge({
28
31
  'X-SP-GATEWAY' => "#{@client.client_id}|#{@client.client_secret}",
29
- 'X-SP-USER' => "#{@oauth_key}|",
32
+ 'X-SP-USER' => "#{@oauth_key}|#{@fingerprint}",
30
33
  'X-SP-USER-IP' => ''
31
34
  })
32
35
  HTTP.headers(headers).timeout(write: 2, connect: 5, read: 10)
@@ -1,15 +1,16 @@
1
1
  module SynapsePayments
2
2
  class Transactions
3
3
 
4
- def initialize(client, user_id, node_id, oauth_key)
4
+ def initialize(client, user_id, node_id, oauth_key, fingerprint)
5
5
  @client = client
6
6
  @user_id = user_id
7
7
  @node_id = node_id
8
8
  @oauth_key = oauth_key
9
+ @fingerprint = fingerprint
9
10
  end
10
11
 
11
12
  def all
12
- @client.get(path: "/users/#{@user_id}/nodes/#{@node_id}/trans", oauth_key: @oauth_key)
13
+ @client.get(path: "/users/#{@user_id}/nodes/#{@node_id}/trans", oauth_key: @oauth_key, fingerprint: @fingerprint)
13
14
  end
14
15
 
15
16
  def create(node_id:, node_type:, amount:, currency:, ip_address:, **args)
@@ -27,19 +28,19 @@ module SynapsePayments
27
28
  }.merge(args)
28
29
  }
29
30
 
30
- @client.post(path: "/users/#{@user_id}/nodes/#{@node_id}/trans", oauth_key: @oauth_key, json: data)
31
+ @client.post(path: "/users/#{@user_id}/nodes/#{@node_id}/trans", oauth_key: @oauth_key, fingerprint: @fingerprint, json: data)
31
32
  end
32
33
 
33
34
  def delete(id)
34
- @client.delete(path: "/users/#{@user_id}/nodes/#{@node_id}/trans/#{id}", oauth_key: @oauth_key)
35
+ @client.delete(path: "/users/#{@user_id}/nodes/#{@node_id}/trans/#{id}", oauth_key: @oauth_key, fingerprint: @fingerprint)
35
36
  end
36
37
 
37
38
  def find(id)
38
- @client.get(path: "/users/#{@user_id}/nodes/#{@node_id}/trans/#{id}", oauth_key: @oauth_key)
39
+ @client.get(path: "/users/#{@user_id}/nodes/#{@node_id}/trans/#{id}", oauth_key: @oauth_key, fingerprint: @fingerprint)
39
40
  end
40
41
 
41
42
  def update(id, data)
42
- @client.patch(path: "/users/#{@user_id}/nodes/#{@node_id}/trans/#{id}", oauth_key: @oauth_key, json: data)
43
+ @client.patch(path: "/users/#{@user_id}/nodes/#{@node_id}/trans/#{id}", oauth_key: @oauth_key, fingerprint: @fingerprint, json: data)
43
44
  end
44
45
 
45
46
  end
@@ -1,9 +1,10 @@
1
1
  module SynapsePayments
2
2
  class UserClient
3
3
 
4
- def initialize(client, user_id, response)
4
+ def initialize(client, user_id, fingerprint, response)
5
5
  @client = client
6
6
  @user_id = user_id
7
+ @fingerprint = fingerprint
7
8
  @response = response
8
9
  @oauth_key = response[:oauth_key]
9
10
 
@@ -15,7 +16,7 @@ module SynapsePayments
15
16
  end
16
17
  end
17
18
 
18
- @nodes = Nodes.new(@client, user_id, oauth_key)
19
+ @nodes = Nodes.new(@client, user_id, oauth_key, fingerprint)
19
20
  end
20
21
 
21
22
  def user
@@ -49,7 +50,7 @@ module SynapsePayments
49
50
  }
50
51
  }
51
52
 
52
- @client.patch(path: "/users/#{@user_id}", oauth_key: @oauth_key, json: data)
53
+ @client.patch(path: "/users/#{@user_id}", oauth_key: @oauth_key, fingerprint: @fingerprint, json: data)
53
54
  end
54
55
 
55
56
  def answer_kba(question_set_id:, answers:)
@@ -60,7 +61,7 @@ module SynapsePayments
60
61
  }
61
62
  }
62
63
 
63
- @client.patch(path: "/users/#{@user_id}", oauth_key: @oauth_key, json: data)
64
+ @client.patch(path: "/users/#{@user_id}", oauth_key: @oauth_key, fingerprint: @fingerprint, json: data)
64
65
  end
65
66
 
66
67
  # Adds a bank account by creating a node of node type ACH-US.
@@ -97,7 +98,7 @@ module SynapsePayments
97
98
  if id.nil?
98
99
  @nodes
99
100
  else
100
- Node.new(@client, @user_id, id, @oauth_key)
101
+ Node.new(@client, @user_id, id, @oauth_key, @fingerprint)
101
102
  end
102
103
  end
103
104
 
@@ -9,12 +9,12 @@ module SynapsePayments
9
9
  @client.get(path: '/users')
10
10
  end
11
11
 
12
- def authenticate_as(id:, refresh_token:)
13
- response = @client.post(path: "/oauth/#{id}", json: { refresh_token: refresh_token })
14
- UserClient.new(@client, id, response)
12
+ def authenticate_as(id:, refresh_token:, fingerprint: nil)
13
+ response = @client.post(path: "/oauth/#{id}", fingerprint: fingerprint, json: { refresh_token: refresh_token })
14
+ UserClient.new(@client, id, fingerprint, response)
15
15
  end
16
16
 
17
- def create(name:, email:, phone:, is_business: false, **args)
17
+ def create(name:, email:, phone:, fingerprint: nil, is_business: false, **args)
18
18
  data = {
19
19
  logins: email.is_a?(Array) ? email : [{ email: email }],
20
20
  phone_numbers: phone.is_a?(Array) ? phone : [phone],
@@ -26,7 +26,7 @@ module SynapsePayments
26
26
  }
27
27
  }
28
28
 
29
- @client.post(path: '/users', json: data)
29
+ @client.post(path: '/users', json: data, fingerprint: fingerprint)
30
30
  end
31
31
 
32
32
  def find(id)
@@ -1,3 +1,3 @@
1
1
  module SynapsePayments
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/samples.md CHANGED
@@ -28,7 +28,8 @@ response = client.users.all
28
28
  response = client.users.create(
29
29
  name: 'John Smith',
30
30
  email: 'johnsmith@example.com',
31
- phone: '123-456-7890'
31
+ phone: '123-456-7890',
32
+ fingerprint: 'abc123' # optional but recommended
32
33
  )
33
34
 
34
35
  # or specify multiple names, logins, phones...
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synapse_payments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Julio
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-18 00:00:00.000000000 Z
11
+ date: 2015-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler