xfers 1.1.0 → 1.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 +4 -4
- data/examples/cards_example.rb +77 -0
- data/examples/charges_example.rb +6 -5
- data/lib/xfers.rb +1 -0
- data/lib/xfers/api_operations.rb +2 -2
- data/lib/xfers/card.rb +43 -0
- data/lib/xfers/charge.rb +6 -5
- data/lib/xfers/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ca2101e41f7d6fb8d2aad1ebaf1a0498f046971
|
4
|
+
data.tar.gz: a8a2517d52d996a1e928d61397f6c2fb57d0aa5b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34728e701312a8e35b6c70bf70841a092a3396bfb7a61b1c391e1919dc193f9a0f0ee88883ce0aaa6421070ad53d2de7b5e77c8791f82b5dfe5588a1b369d2cd
|
7
|
+
data.tar.gz: 2f0b8f8863c340b36fe4448d6951650b49f2a9bfc9de907d8385c73942ea29fc311792242a22ec6fcdae045ecd4064636b88e7fc9e03b934b6f4cd4dd3f29041
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'xfers'
|
2
|
+
|
3
|
+
Xfers.set_api_key 'WuTp3zM7UEpmUkeAyGPxRHmnXAx-hXJ7jzdqmxY6S1o'
|
4
|
+
Xfers.set_sg_sandbox
|
5
|
+
|
6
|
+
# Get the following user_api_token from http://docs.xfers.io/#xfers-connect
|
7
|
+
# you should have one user_api_token for every user you wish to add a credit card to.
|
8
|
+
user_api_token = 'osEdbc8uzxY5vaXA-oe-7E86sVWCYTCVPuHQyFQ-uPQ'
|
9
|
+
|
10
|
+
begin
|
11
|
+
puts 'Listing all cards...'
|
12
|
+
params = {
|
13
|
+
'limit'=> '5'
|
14
|
+
}
|
15
|
+
cards = Xfers::Card.list_all user_api_token
|
16
|
+
cards.each { |card|
|
17
|
+
puts card
|
18
|
+
}
|
19
|
+
rescue Xfers::XfersError => e
|
20
|
+
puts e.to_s
|
21
|
+
end
|
22
|
+
|
23
|
+
begin
|
24
|
+
puts 'Adding card...'
|
25
|
+
params = {
|
26
|
+
'user_api_token' => user_api_token,
|
27
|
+
'credit_card_token' => 'tok_19GiimB8MXWbQJDjF8FUIgpA', # gotten from http://docs.xfers.io/#xfers-tokenize
|
28
|
+
'first6' => '424242',
|
29
|
+
'last4' => '4242'
|
30
|
+
}
|
31
|
+
resp = Xfers::Card.add params
|
32
|
+
puts resp
|
33
|
+
rescue Xfers::XfersError => e
|
34
|
+
puts e.to_s
|
35
|
+
end
|
36
|
+
|
37
|
+
begin
|
38
|
+
puts 'Deleting card'
|
39
|
+
card_id = 'card_19C2JSI7jGeCrIKD0nVdiCHp'
|
40
|
+
resp = Xfers::Card.delete card_id, user_api_token
|
41
|
+
puts resp
|
42
|
+
rescue Xfers::XfersError => e
|
43
|
+
puts e.to_s
|
44
|
+
end
|
45
|
+
|
46
|
+
begin
|
47
|
+
puts 'Setting default card'
|
48
|
+
card_id = 'card_196iRQI7jGeCrIKDl5hrCmxE'
|
49
|
+
resp = Xfers::Card.set_default card_id, user_api_token
|
50
|
+
puts resp
|
51
|
+
rescue Xfers::XfersError => e
|
52
|
+
puts e.to_s
|
53
|
+
end
|
54
|
+
|
55
|
+
begin
|
56
|
+
puts 'Charge guest card'
|
57
|
+
charge_id = '54539f543f33456a98495bda4bc33abe'
|
58
|
+
params = {
|
59
|
+
'txn_id' => charge_id,
|
60
|
+
'credit_card_token' => 'tok_19GijKB8MXWbQJDjKCniMsgn', # gotten from http://docs.xfers.io/#xfers-tokenize
|
61
|
+
'first6' => '424242',
|
62
|
+
'last4' => '4242'
|
63
|
+
}
|
64
|
+
resp = Xfers::Card.charge_guest params
|
65
|
+
puts resp
|
66
|
+
rescue Xfers::XfersError => e
|
67
|
+
puts e.to_s
|
68
|
+
end
|
69
|
+
|
70
|
+
begin
|
71
|
+
puts 'Charge existing card'
|
72
|
+
charge_id = '9cfaac1c8d8a47d18540a87f4c1e711b'
|
73
|
+
resp = Xfers::Card.charge_existing charge_id
|
74
|
+
puts resp
|
75
|
+
rescue Xfers::XfersError => e
|
76
|
+
puts e.to_s
|
77
|
+
end
|
data/examples/charges_example.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'xfers'
|
2
2
|
|
3
|
-
Xfers.set_api_key '
|
3
|
+
Xfers.set_api_key 'WuTp3zM7UEpmUkeAyGPxRHmnXAx-hXJ7jzdqmxY6S1o'
|
4
4
|
Xfers.set_sg_sandbox
|
5
5
|
|
6
6
|
charge_id = ''
|
@@ -73,8 +73,8 @@ end
|
|
73
73
|
|
74
74
|
begin
|
75
75
|
charge_id = 'your-charge-id'
|
76
|
-
puts "
|
77
|
-
resp = Xfers::Charge.
|
76
|
+
puts "Refunding charge... #{charge_id}"
|
77
|
+
resp = Xfers::Charge.refund charge_id
|
78
78
|
puts resp
|
79
79
|
rescue Xfers::XfersError => e
|
80
80
|
puts e.to_s
|
@@ -82,8 +82,9 @@ end
|
|
82
82
|
|
83
83
|
begin
|
84
84
|
charge_id = 'your-charge-id'
|
85
|
-
|
86
|
-
|
85
|
+
auth_code = '012414'
|
86
|
+
puts "Authorizing charge... #{charge_id}"
|
87
|
+
resp = Xfers::Charge.authorize charge_id, auth_code
|
87
88
|
puts resp
|
88
89
|
rescue Xfers::XfersError => e
|
89
90
|
puts e.to_s
|
data/lib/xfers.rb
CHANGED
data/lib/xfers/api_operations.rb
CHANGED
@@ -62,8 +62,8 @@ module Xfers
|
|
62
62
|
}
|
63
63
|
end
|
64
64
|
|
65
|
-
def self.delete(resource_url, connect_key=nil)
|
66
|
-
RestClient::Request.execute(method: :delete, url: "#{Xfers.get_api_base}#{resource_url}",
|
65
|
+
def self.delete(resource_url, connect_key=nil, params=nil)
|
66
|
+
RestClient::Request.execute(method: :delete, url: "#{Xfers.get_api_base}#{resource_url}", payload: params,
|
67
67
|
headers: create_auth_headers(connect_key)) {
|
68
68
|
|r, request, result, &block|
|
69
69
|
handle_api_error(JSON.parse(r.body), r.code) if r.code != 200
|
data/lib/xfers/card.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
module Xfers
|
2
|
+
module Card
|
3
|
+
RESOURCE_URL = '/cards'
|
4
|
+
|
5
|
+
def self.list_all(user_api_token)
|
6
|
+
raise InvalidRequestError.new 'user_api_token cannot be empty', 400 if user_api_token.nil?
|
7
|
+
url = "#{RESOURCE_URL}?user_api_token=#{user_api_token}"
|
8
|
+
Xfers::APIOperations.get({}, url, nil)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.add(params)
|
12
|
+
raise InvalidRequestError.new 'Params cannot be empty', 400 if params.nil? or params == ''
|
13
|
+
Xfers::APIOperations.post params, RESOURCE_URL, nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.delete(card_id, user_api_token)
|
17
|
+
raise InvalidRequestError.new 'card_id id cannot be empty', 400 if card_id.nil? or card_id == ''
|
18
|
+
raise InvalidRequestError.new 'user_api_token id cannot be empty', 400 if user_api_token.nil? or user_api_token == ''
|
19
|
+
params = {user_api_token: user_api_token}
|
20
|
+
Xfers::APIOperations.delete "#{RESOURCE_URL}/#{card_id}", nil, params
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.set_default(card_id, user_api_token)
|
24
|
+
raise InvalidRequestError.new 'card_id id cannot be empty', 400 if card_id.nil? or card_id == ''
|
25
|
+
raise InvalidRequestError.new 'user_api_token id cannot be empty', 400 if user_api_token.nil? or user_api_token == ''
|
26
|
+
params = {user_api_token: user_api_token}
|
27
|
+
Xfers::APIOperations.post params, "#{RESOURCE_URL}/#{card_id}/set_default", nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.charge_guest(params)
|
31
|
+
raise InvalidRequestError.new 'Params cannot be empty', 400 if params.nil? or params == ''
|
32
|
+
Xfers::APIOperations.post params, '/credit_card_charges/charge_card_guest', nil
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.charge_existing(charge_id)
|
36
|
+
raise InvalidRequestError.new 'card_id id cannot be empty', 400 if charge_id.nil? or charge_id == ''
|
37
|
+
params = {txn_id: charge_id}
|
38
|
+
|
39
|
+
Xfers::APIOperations.post params, '/credit_card_charges/charge_card', nil
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
data/lib/xfers/charge.rb
CHANGED
@@ -31,12 +31,13 @@ module Xfers
|
|
31
31
|
Xfers::APIOperations.post nil, "#{RESOUCE_URL}/#{charge_id}/cancel", connect_key
|
32
32
|
end
|
33
33
|
|
34
|
-
def self.
|
34
|
+
def self.authorize(charge_id, auth_code)
|
35
35
|
raise InvalidRequestError.new 'Charge id cannot be empty', 400 if charge_id.nil? or charge_id == ''
|
36
|
-
|
37
|
-
params = {
|
38
|
-
|
39
|
-
|
36
|
+
raise InvalidRequestError.new 'auth_code cannot be empty', 400 if auth_code.nil? or auth_code == ''
|
37
|
+
params = {
|
38
|
+
'auth_code'=> auth_code
|
39
|
+
}
|
40
|
+
Xfers::APIOperations.post params, "#{RESOUCE_URL}/#{charge_id}/authorize", nil
|
40
41
|
end
|
41
42
|
|
42
43
|
end
|
data/lib/xfers/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xfers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xfers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -36,6 +36,7 @@ files:
|
|
36
36
|
- README.md
|
37
37
|
- Rakefile
|
38
38
|
- examples/bank_account_example.rb
|
39
|
+
- examples/cards_example.rb
|
39
40
|
- examples/charges_example.rb
|
40
41
|
- examples/connect_example.rb
|
41
42
|
- examples/intents_example.rb
|
@@ -44,6 +45,7 @@ files:
|
|
44
45
|
- lib/xfers.rb
|
45
46
|
- lib/xfers/api_operations.rb
|
46
47
|
- lib/xfers/bank_account.rb
|
48
|
+
- lib/xfers/card.rb
|
47
49
|
- lib/xfers/charge.rb
|
48
50
|
- lib/xfers/connect.rb
|
49
51
|
- lib/xfers/errors/authentication_error.rb
|