geti 0.3.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/VERSION +1 -1
- data/certify.rb +66 -0
- data/config/test_credentials.yml.example +6 -2
- data/lib/geti/app_client.rb +6 -5
- data/lib/geti/auth_client.rb +1 -1
- data/lib/geti/client.rb +8 -0
- data/spec/helper.rb +2 -2
- data/spec/remote/geti_auth_client_spec.rb +10 -8
- metadata +5 -4
data/README.rdoc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
data/certify.rb
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
$: << 'lib'
|
2
|
+
require 'rubygems'
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'geti'
|
5
|
+
require 'pp'
|
6
|
+
|
7
|
+
|
8
|
+
def merchant_params
|
9
|
+
{ :id => 12345,
|
10
|
+
:name => "ACH Merchant Cert",
|
11
|
+
:industry => "Metal_Fabricators",
|
12
|
+
:address => "123 Main St",
|
13
|
+
:city => "Vancouver",
|
14
|
+
:state => "WA",
|
15
|
+
:zip => "10120",
|
16
|
+
:phone => "5555551234",
|
17
|
+
:business_type => "Corporation",
|
18
|
+
:days_in_business => 404,
|
19
|
+
|
20
|
+
:contact_name => 'George Jetson',
|
21
|
+
:physical_address => "123 Main St",
|
22
|
+
:physical_city => "Vancouver",
|
23
|
+
:physical_state => "WA",
|
24
|
+
:physical_zip => "10120",
|
25
|
+
:physical_phone => "5555551234",
|
26
|
+
|
27
|
+
:principal_first_name => "Carl",
|
28
|
+
:principal_last_name => "Cogsley",
|
29
|
+
:principal_title => 'President',
|
30
|
+
:principal_address => "123 Main St",
|
31
|
+
:principal_city => "Vancouver",
|
32
|
+
:principal_state => "WA",
|
33
|
+
:principal_zip => "10120",
|
34
|
+
:principal_dob => "1965-04-28",
|
35
|
+
:principal_ssn => '111222123',
|
36
|
+
|
37
|
+
:average_amount => "4000",
|
38
|
+
:max_amount => "7600",
|
39
|
+
|
40
|
+
:taxpayer_name => "Carl Cogsley",
|
41
|
+
:taxpayer_id => "123456789",
|
42
|
+
|
43
|
+
:routing_number => "490000018",
|
44
|
+
:account_number => "123456789",
|
45
|
+
}
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_credentials
|
49
|
+
YAML.load(File.read('config/test_credentials.yml'))
|
50
|
+
end
|
51
|
+
|
52
|
+
client = Geti::AppClient.new(test_credentials)
|
53
|
+
|
54
|
+
# Step 2: Create and board a new ACH merchant named “ACH Merchant Cert”. This merchant should have 1 Location and 1 Terminal.
|
55
|
+
# Step 3: Email GETI the Merchant ID received for “ACH Merchant Cert”.
|
56
|
+
#response = client.board_merchant_ach(merchant_params)
|
57
|
+
id = '26'
|
58
|
+
|
59
|
+
# Step 4: GETI will activate this merchant and email back when complete.
|
60
|
+
# Step 5: Run “Retrieve Merchant Status” with the Merchant ID you received for “ACH Merchant Cert ” and email GETI the Location ID and Terminal ID.
|
61
|
+
#response = client.retrieve_merchant_status(id)
|
62
|
+
|
63
|
+
# Step 6: Upload a pdf to “ACH Merchant Cert” (this would be a signed merchant application in production) and email GETI when complete.
|
64
|
+
#response = client.upload_supporting_docs(id, File.read('./spec/remote/sample.pdf'))
|
65
|
+
|
66
|
+
pp response
|
data/lib/geti/app_client.rb
CHANGED
@@ -174,14 +174,15 @@ class Geti::AppClient < Geti::Client
|
|
174
174
|
end
|
175
175
|
|
176
176
|
def data(xml, opts)
|
177
|
+
filename = "%s_%s.xml" % [opts[:id].to_s, Time.now.strftime("%d_%b_%Y_%H_%M_%S")]
|
177
178
|
xml.Envelope do
|
178
|
-
xml.Body :FileName =>
|
179
|
+
xml.Body :FileName => filename, :FileDate => Time.now.iso8601 do
|
179
180
|
xml.NewMerchant({
|
180
|
-
:isoID => "9999",
|
181
|
+
:isoID => opts[:iso_id] || "9999",
|
181
182
|
:merchCrossRefID => opts[:id],
|
182
183
|
:merchName => opts[:name], # Legal Name
|
183
184
|
:merchTypeID => MERCHANT_TYPES.index(opts[:industry]), # "Type of goods sold"
|
184
|
-
:merchServiceType => "GOLD",
|
185
|
+
:merchServiceType => opts[:service_type] || "GOLD",
|
185
186
|
# TODO: Tax ID
|
186
187
|
:merchAddress1 => opts[:address], # TODO: Is this mailing or DBA address?
|
187
188
|
:merchCity => opts[:city],
|
@@ -255,7 +256,7 @@ class Geti::AppClient < Geti::Client
|
|
255
256
|
end
|
256
257
|
|
257
258
|
def service_address
|
258
|
-
"https
|
259
|
+
"https://#{domain}/webservices/AppGateway.asmx?WSDL"
|
259
260
|
end
|
260
261
|
|
261
262
|
def soap_header
|
@@ -268,7 +269,7 @@ class Geti::AppClient < Geti::Client
|
|
268
269
|
end
|
269
270
|
|
270
271
|
def taxpayer_info(opts)
|
271
|
-
"Tax Info: %s - %
|
272
|
+
"Tax Info: %s - %s" % [opts[:taxpayer_name], opts[:taxpayer_id]]
|
272
273
|
end
|
273
274
|
|
274
275
|
private
|
data/lib/geti/auth_client.rb
CHANGED
data/lib/geti/client.rb
CHANGED
data/spec/helper.rb
CHANGED
@@ -28,8 +28,8 @@ Savon.configure do |config|
|
|
28
28
|
config.log = HTTPI.log = false unless ENV['SOAP_DEBUG']
|
29
29
|
end
|
30
30
|
|
31
|
-
def test_credentials
|
32
|
-
YAML.load(File.read('config/test_credentials.yml'))
|
31
|
+
def test_credentials(env='app')
|
32
|
+
YAML.load(File.read('config/test_credentials.yml'))[env]
|
33
33
|
end
|
34
34
|
|
35
35
|
def xit(*args, &block)
|
@@ -9,21 +9,23 @@ def routing_number(type)
|
|
9
9
|
end
|
10
10
|
|
11
11
|
describe Geti::AuthClient do
|
12
|
+
let(:credentials) { test_credentials('auth') }
|
13
|
+
|
12
14
|
describe '#get_terminal_settings' do
|
13
15
|
it 'gets a successful WEB response' do
|
14
|
-
client = Geti::AuthClient.new(
|
16
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => []})
|
15
17
|
terminal_settings = client.get_terminal_settings
|
16
18
|
expect(terminal_settings.terminal_id).to eq("2310")
|
17
19
|
end
|
18
20
|
|
19
21
|
it 'gets a successful PPD response' do
|
20
|
-
client = Geti::AuthClient.new(
|
22
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'PPD', :verify => []})
|
21
23
|
terminal_settings = client.get_terminal_settings
|
22
24
|
expect(terminal_settings.terminal_id).to eq("1010")
|
23
25
|
end
|
24
26
|
|
25
27
|
it 'gets a restricted WEB response' do
|
26
|
-
client = Geti::AuthClient.new(
|
28
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => [:dl]})
|
27
29
|
terminal_settings = client.get_terminal_settings
|
28
30
|
expect(terminal_settings.terminal_id).to eq("2311")
|
29
31
|
end
|
@@ -31,7 +33,7 @@ describe Geti::AuthClient do
|
|
31
33
|
|
32
34
|
describe '#validate' do
|
33
35
|
it 'gets a failed WEB response' do
|
34
|
-
client = Geti::AuthClient.new(
|
36
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => []})
|
35
37
|
response = client.validate({})
|
36
38
|
expect(response.validation.result).to eq("Failed")
|
37
39
|
expect(response).to_not be_success
|
@@ -39,7 +41,7 @@ describe Geti::AuthClient do
|
|
39
41
|
end
|
40
42
|
|
41
43
|
it 'gets a successful WEB response' do
|
42
|
-
client = Geti::AuthClient.new(
|
44
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => []})
|
43
45
|
response = client.validate({
|
44
46
|
:type => :authorize,
|
45
47
|
:amount => 1000,
|
@@ -57,7 +59,7 @@ describe Geti::AuthClient do
|
|
57
59
|
|
58
60
|
describe '#process' do
|
59
61
|
it 'gets a failed WEB response' do
|
60
|
-
client = Geti::AuthClient.new(
|
62
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => []})
|
61
63
|
response = client.process({})
|
62
64
|
expect(response.validation.result).to eq("Failed")
|
63
65
|
expect(response).to_not be_success
|
@@ -65,7 +67,7 @@ describe Geti::AuthClient do
|
|
65
67
|
end
|
66
68
|
|
67
69
|
it 'gets an exception' do
|
68
|
-
client = Geti::AuthClient.new(
|
70
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => []})
|
69
71
|
response = client.process({
|
70
72
|
:type => :authorize,
|
71
73
|
:amount => 1000,
|
@@ -80,7 +82,7 @@ describe Geti::AuthClient do
|
|
80
82
|
end
|
81
83
|
|
82
84
|
it 'gets a successful WEB response' do
|
83
|
-
client = Geti::AuthClient.new(
|
85
|
+
client = Geti::AuthClient.new(credentials, {:sec_code => 'WEB', :verify => []})
|
84
86
|
response = client.process({
|
85
87
|
:type => :authorize,
|
86
88
|
:amount => 1000,
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
- 3
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 1.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jamie Macey
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-11-05 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: savon
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- README.rdoc
|
139
139
|
- Rakefile
|
140
140
|
- VERSION
|
141
|
+
- certify.rb
|
141
142
|
- config/test_credentials.yml.example
|
142
143
|
- doc/.DS_Store
|
143
144
|
- doc/implementation_notes.md
|