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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05efb71141589d2e20541e2e624ccfc72fe15630
4
- data.tar.gz: 9aff7a41ec9e557c9672c249120a96b0207278eb
3
+ metadata.gz: 2ca2101e41f7d6fb8d2aad1ebaf1a0498f046971
4
+ data.tar.gz: a8a2517d52d996a1e928d61397f6c2fb57d0aa5b
5
5
  SHA512:
6
- metadata.gz: 0a9935cc19d65dc9dcd6e760db7a82ea13028e6f60a80e92bece09b2bce97b53b97ff3dccef1acc594dcf999cc4e721c4533efa2e021243b6a23e7a07f292a34
7
- data.tar.gz: 5bf3e4d9b4d81821dcdffc933f328b9406b37eb74de36033c9e8fde30a8b60b5a5740b2375db0b9d9a93215c23ef91d06cdb6766ea71607d5b795a4d6d95d6a7
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
@@ -1,6 +1,6 @@
1
1
  require 'xfers'
2
2
 
3
- Xfers.set_api_key 'G-zsfAEScrqdU8GhWTEdjfdnb3XRdU8q1fH-nuWfSzo'
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 "Settling charge... #{charge_id}"
77
- resp = Xfers::Charge.settle charge_id, '512312'
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
- puts "Refunding charge... #{charge_id}"
86
- resp = Xfers::Charge.refund charge_id
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
@@ -14,6 +14,7 @@ require 'xfers/intent'
14
14
  require 'xfers/connect'
15
15
  require 'xfers/charge'
16
16
  require 'xfers/bank_account'
17
+ require 'xfers/card'
17
18
 
18
19
 
19
20
  # Errors
@@ -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
@@ -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
@@ -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.settle(charge_id, settlement_code=nil, connect_key=nil)
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
- params = nil
37
- params = {'settlement_code'=> settlement_code} unless settlement_code.nil?
38
-
39
- Xfers::APIOperations.post params, "#{RESOUCE_URL}/#{charge_id}", connect_key
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
@@ -1,3 +1,3 @@
1
1
  module Xfers
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.0'
3
3
  end
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.1.0
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-09-27 00:00:00.000000000 Z
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