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 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