xfers 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|