netaxept 0.0.4 → 0.0.6
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.
- data/lib/netaxept.rb +2 -0
- data/lib/netaxept/responses/auth_response.rb +7 -0
- data/lib/netaxept/responses/capture_response.rb +7 -0
- data/lib/netaxept/service.rb +31 -1
- data/lib/netaxept/version.rb +1 -1
- data/netaxept.gemspec +2 -2
- data/spec/cassettes/Netaxept_Service/_auth.yml +60 -0
- data/spec/cassettes/Netaxept_Service/_capture.yml +60 -0
- data/spec/netaxept/service_spec.rb +32 -0
- metadata +20 -12
data/lib/netaxept.rb
CHANGED
@@ -15,6 +15,8 @@ module Netaxept
|
|
15
15
|
autoload :Response, "netaxept/responses/response"
|
16
16
|
autoload :RegisterResponse, "netaxept/responses/register_response"
|
17
17
|
autoload :SaleResponse, "netaxept/responses/sale_response"
|
18
|
+
autoload :AuthResponse, "netaxept/responses/auth_response"
|
19
|
+
autoload :CaptureResponse, "netaxept/responses/capture_response"
|
18
20
|
|
19
21
|
end
|
20
22
|
end
|
data/lib/netaxept/service.rb
CHANGED
@@ -68,11 +68,41 @@ module Netaxept
|
|
68
68
|
Responses::SaleResponse.new(self.class.get("/Netaxept/Process.aspx", params).parsed_response)
|
69
69
|
end
|
70
70
|
|
71
|
+
##
|
72
|
+
# Authorize the whole amount on the credit card
|
73
|
+
|
74
|
+
def auth(transaction_id, amount)
|
75
|
+
params = {
|
76
|
+
:query => {
|
77
|
+
:amount => amount,
|
78
|
+
:transactionId => transaction_id,
|
79
|
+
:operation => "AUTH"
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
Responses::AuthResponse.new(self.class.get("/Netaxept/Process.aspx", params).parsed_response)
|
84
|
+
end
|
85
|
+
|
86
|
+
##
|
87
|
+
# Captures the whole amount on the credit card
|
88
|
+
|
89
|
+
def capture(transaction_id, amount)
|
90
|
+
params = {
|
91
|
+
:query => {
|
92
|
+
:amount => amount,
|
93
|
+
:transactionId => transaction_id,
|
94
|
+
:operation => "CAPTURE",
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
Responses::CaptureResponse.new(self.class.get("/Netaxept/Process.aspx", params).parsed_response)
|
99
|
+
end
|
100
|
+
|
71
101
|
##
|
72
102
|
# The terminal url for a given transaction id
|
73
103
|
|
74
104
|
def self.terminal_url(transaction_id)
|
75
|
-
"#{
|
105
|
+
"#{self.base_uri}/terminal/default.aspx?MerchantID=#{self.merchant_id}&TransactionID=#{transaction_id}"
|
76
106
|
end
|
77
107
|
|
78
108
|
end
|
data/lib/netaxept/version.rb
CHANGED
data/netaxept.gemspec
CHANGED
@@ -5,8 +5,8 @@ require "netaxept/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "netaxept"
|
7
7
|
s.version = Netaxept::VERSION
|
8
|
-
s.authors = ["Håkon Lerring"]
|
9
|
-
s.email = ["hakon@powow.no"]
|
8
|
+
s.authors = ["Håkon Lerring", "Theodor Tonum"]
|
9
|
+
s.email = ["hakon@powow.no", "theodor@tonum.no"]
|
10
10
|
s.homepage = ""
|
11
11
|
s.summary = %q{A gem for speaking to Nets Netaxept credit card payment service}
|
12
12
|
s.description = %q{This gem simplifies the comunication with the netaxept service significantly. Right now it only supports register and sale, more is to come.}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://epayment-test.bbs.no:443/Netaxept/Register.aspx?CurrencyCode=NOK&MerchantId=123123&token=123test&amount=20100&orderNumber=12&redirectUrl=http%3A%2F%2Flocalhost%3A3000%2Forder%2F1%2Freturn
|
6
|
+
body: !!null
|
7
|
+
headers: !!null
|
8
|
+
response: !ruby/struct:VCR::Response
|
9
|
+
status: !ruby/struct:VCR::ResponseStatus
|
10
|
+
code: 200
|
11
|
+
message: OK
|
12
|
+
headers:
|
13
|
+
cache-control:
|
14
|
+
- private
|
15
|
+
content-type:
|
16
|
+
- text/xml
|
17
|
+
server:
|
18
|
+
- Microsoft-IIS/7.5
|
19
|
+
x-aspnet-version:
|
20
|
+
- 2.0.50727
|
21
|
+
x-powered-by:
|
22
|
+
- ASP.NET
|
23
|
+
date:
|
24
|
+
- Wed, 07 Sep 2011 14:14:52 GMT
|
25
|
+
content-length:
|
26
|
+
- '228'
|
27
|
+
body: ! "<?xml version=\"1.0\"?>\r\n<RegisterResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
28
|
+
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <TransactionId>c790990debfa417dbc32ecdde9a6c074</TransactionId>\r\n</RegisterResponse>"
|
29
|
+
http_version: '1.1'
|
30
|
+
- !ruby/struct:VCR::HTTPInteraction
|
31
|
+
request: !ruby/struct:VCR::Request
|
32
|
+
method: :get
|
33
|
+
uri: https://epayment-test.bbs.no:443/Netaxept/Process.aspx?CurrencyCode=NOK&MerchantId=123123&token=123test&amount=20100&transactionId=c790990debfa417dbc32ecdde9a6c074&operation=AUTH
|
34
|
+
body: !!null
|
35
|
+
headers: !!null
|
36
|
+
response: !ruby/struct:VCR::Response
|
37
|
+
status: !ruby/struct:VCR::ResponseStatus
|
38
|
+
code: 200
|
39
|
+
message: OK
|
40
|
+
headers:
|
41
|
+
cache-control:
|
42
|
+
- private
|
43
|
+
content-type:
|
44
|
+
- text/xml
|
45
|
+
server:
|
46
|
+
- Microsoft-IIS/7.5
|
47
|
+
x-aspnet-version:
|
48
|
+
- 2.0.50727
|
49
|
+
x-powered-by:
|
50
|
+
- ASP.NET
|
51
|
+
date:
|
52
|
+
- Wed, 07 Sep 2011 14:16:08 GMT
|
53
|
+
content-length:
|
54
|
+
- '442'
|
55
|
+
body: ! "<?xml version=\"1.0\"?>\r\n<ProcessResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
56
|
+
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <Operation>AUTH</Operation>\r\n
|
57
|
+
\ <ResponseCode>OK</ResponseCode>\r\n <AuthorizationId>010444</AuthorizationId>\r\n
|
58
|
+
\ <TransactionId>c790990debfa417dbc32ecdde9a6c074</TransactionId>\r\n <ExecutionTime>2011-09-07T16:16:07.9918724+02:00</ExecutionTime>\r\n
|
59
|
+
\ <MerchantId>11000350</MerchantId>\r\n</ProcessResponse>"
|
60
|
+
http_version: '1.1'
|
@@ -0,0 +1,60 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://epayment-test.bbs.no:443/Netaxept/Register.aspx?CurrencyCode=NOK&MerchantId=123123&token=123test&amount=20100&orderNumber=12&redirectUrl=http%3A%2F%2Flocalhost%3A3000%2Forder%2F1%2Freturn
|
6
|
+
body: !!null
|
7
|
+
headers: !!null
|
8
|
+
response: !ruby/struct:VCR::Response
|
9
|
+
status: !ruby/struct:VCR::ResponseStatus
|
10
|
+
code: 200
|
11
|
+
message: OK
|
12
|
+
headers:
|
13
|
+
cache-control:
|
14
|
+
- private
|
15
|
+
content-type:
|
16
|
+
- text/xml
|
17
|
+
server:
|
18
|
+
- Microsoft-IIS/7.5
|
19
|
+
x-aspnet-version:
|
20
|
+
- 2.0.50727
|
21
|
+
x-powered-by:
|
22
|
+
- ASP.NET
|
23
|
+
date:
|
24
|
+
- Wed, 07 Sep 2011 14:14:52 GMT
|
25
|
+
content-length:
|
26
|
+
- '228'
|
27
|
+
body: ! "<?xml version=\"1.0\"?>\r\n<RegisterResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
28
|
+
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <TransactionId>c790990debfa417dbc32ecdde9a6c074</TransactionId>\r\n</RegisterResponse>"
|
29
|
+
http_version: '1.1'
|
30
|
+
- !ruby/struct:VCR::HTTPInteraction
|
31
|
+
request: !ruby/struct:VCR::Request
|
32
|
+
method: :get
|
33
|
+
uri: https://epayment-test.bbs.no:443/Netaxept/Process.aspx?CurrencyCode=NOK&MerchantId=123123&token=123test&amount=20100&transactionId=c790990debfa417dbc32ecdde9a6c074&operation=CAPTURE
|
34
|
+
body: !!null
|
35
|
+
headers: !!null
|
36
|
+
response: !ruby/struct:VCR::Response
|
37
|
+
status: !ruby/struct:VCR::ResponseStatus
|
38
|
+
code: 200
|
39
|
+
message: OK
|
40
|
+
headers:
|
41
|
+
cache-control:
|
42
|
+
- private
|
43
|
+
content-type:
|
44
|
+
- text/xml
|
45
|
+
server:
|
46
|
+
- Microsoft-IIS/7.5
|
47
|
+
x-aspnet-version:
|
48
|
+
- 2.0.50727
|
49
|
+
x-powered-by:
|
50
|
+
- ASP.NET
|
51
|
+
date:
|
52
|
+
- Wed, 07 Sep 2011 14:16:08 GMT
|
53
|
+
content-length:
|
54
|
+
- '442'
|
55
|
+
body: ! "<?xml version=\"1.0\"?>\r\n<ProcessResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
56
|
+
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <Operation>CAPTURE</Operation>\r\n
|
57
|
+
\ <ResponseCode>OK</ResponseCode>\r\n
|
58
|
+
\ <TransactionId>c790990debfa417dbc32ecdde9a6c074</TransactionId>\r\n <ExecutionTime>2011-09-07T16:16:07.9918724+02:00</ExecutionTime>\r\n
|
59
|
+
\ <MerchantId>11000350</MerchantId>\r\n</ProcessResponse>"
|
60
|
+
http_version: '1.1'
|
@@ -99,4 +99,36 @@ describe Netaxept::Service do
|
|
99
99
|
|
100
100
|
end
|
101
101
|
|
102
|
+
describe ".auth" do
|
103
|
+
use_vcr_cassette
|
104
|
+
|
105
|
+
let(:transaction_id) { service.register(20100, 12, :redirectUrl => "http://localhost:3000/order/1/return").transaction_id }
|
106
|
+
|
107
|
+
describe "a valid request" do
|
108
|
+
|
109
|
+
let(:response) { service.auth(transaction_id, 20100) }
|
110
|
+
|
111
|
+
it "is a success" do
|
112
|
+
response.success?.should == true
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
describe ".capture" do
|
119
|
+
use_vcr_cassette
|
120
|
+
|
121
|
+
let(:transaction_id) { service.register(20100, 12, :redirectUrl => "http://localhost:3000/order/1/return").transaction_id }
|
122
|
+
|
123
|
+
describe "a valid request" do
|
124
|
+
|
125
|
+
let(:response) { service.capture(transaction_id, 20100) }
|
126
|
+
|
127
|
+
it "is a success" do
|
128
|
+
response.success?.should == true
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
102
134
|
end
|
metadata
CHANGED
@@ -1,20 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netaxept
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Håkon Lerring
|
9
|
+
- Theodor Tonum
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2011-
|
13
|
+
date: 2011-09-07 00:00:00.000000000 +02:00
|
13
14
|
default_executable:
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: httparty
|
17
|
-
requirement: &
|
18
|
+
requirement: &2157377800 !ruby/object:Gem::Requirement
|
18
19
|
none: false
|
19
20
|
requirements:
|
20
21
|
- - ~>
|
@@ -22,10 +23,10 @@ dependencies:
|
|
22
23
|
version: '0.7'
|
23
24
|
type: :runtime
|
24
25
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
+
version_requirements: *2157377800
|
26
27
|
- !ruby/object:Gem::Dependency
|
27
28
|
name: rspec
|
28
|
-
requirement: &
|
29
|
+
requirement: &2157377320 !ruby/object:Gem::Requirement
|
29
30
|
none: false
|
30
31
|
requirements:
|
31
32
|
- - ! '>='
|
@@ -33,10 +34,10 @@ dependencies:
|
|
33
34
|
version: '0'
|
34
35
|
type: :development
|
35
36
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
+
version_requirements: *2157377320
|
37
38
|
- !ruby/object:Gem::Dependency
|
38
39
|
name: rdoc
|
39
|
-
requirement: &
|
40
|
+
requirement: &2157372420 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
41
42
|
requirements:
|
42
43
|
- - ! '>='
|
@@ -44,10 +45,10 @@ dependencies:
|
|
44
45
|
version: '0'
|
45
46
|
type: :development
|
46
47
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
+
version_requirements: *2157372420
|
48
49
|
- !ruby/object:Gem::Dependency
|
49
50
|
name: vcr
|
50
|
-
requirement: &
|
51
|
+
requirement: &2157370580 !ruby/object:Gem::Requirement
|
51
52
|
none: false
|
52
53
|
requirements:
|
53
54
|
- - ! '>='
|
@@ -55,10 +56,10 @@ dependencies:
|
|
55
56
|
version: '0'
|
56
57
|
type: :development
|
57
58
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
+
version_requirements: *2157370580
|
59
60
|
- !ruby/object:Gem::Dependency
|
60
61
|
name: fakeweb
|
61
|
-
requirement: &
|
62
|
+
requirement: &2157368660 !ruby/object:Gem::Requirement
|
62
63
|
none: false
|
63
64
|
requirements:
|
64
65
|
- - ! '>='
|
@@ -66,11 +67,12 @@ dependencies:
|
|
66
67
|
version: '0'
|
67
68
|
type: :development
|
68
69
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
+
version_requirements: *2157368660
|
70
71
|
description: This gem simplifies the comunication with the netaxept service significantly.
|
71
72
|
Right now it only supports register and sale, more is to come.
|
72
73
|
email:
|
73
74
|
- hakon@powow.no
|
75
|
+
- theodor@tonum.no
|
74
76
|
executables: []
|
75
77
|
extensions: []
|
76
78
|
extra_rdoc_files: []
|
@@ -81,12 +83,16 @@ files:
|
|
81
83
|
- Rakefile
|
82
84
|
- lib/netaxept.rb
|
83
85
|
- lib/netaxept/error_message.rb
|
86
|
+
- lib/netaxept/responses/auth_response.rb
|
87
|
+
- lib/netaxept/responses/capture_response.rb
|
84
88
|
- lib/netaxept/responses/register_response.rb
|
85
89
|
- lib/netaxept/responses/response.rb
|
86
90
|
- lib/netaxept/responses/sale_response.rb
|
87
91
|
- lib/netaxept/service.rb
|
88
92
|
- lib/netaxept/version.rb
|
89
93
|
- netaxept.gemspec
|
94
|
+
- spec/cassettes/Netaxept_Service/_auth.yml
|
95
|
+
- spec/cassettes/Netaxept_Service/_capture.yml
|
90
96
|
- spec/cassettes/Netaxept_Service/_register.yml
|
91
97
|
- spec/cassettes/Netaxept_Service/_sale.yml
|
92
98
|
- spec/netaxept/service_spec.rb
|
@@ -120,6 +126,8 @@ signing_key:
|
|
120
126
|
specification_version: 3
|
121
127
|
summary: A gem for speaking to Nets Netaxept credit card payment service
|
122
128
|
test_files:
|
129
|
+
- spec/cassettes/Netaxept_Service/_auth.yml
|
130
|
+
- spec/cassettes/Netaxept_Service/_capture.yml
|
123
131
|
- spec/cassettes/Netaxept_Service/_register.yml
|
124
132
|
- spec/cassettes/Netaxept_Service/_sale.yml
|
125
133
|
- spec/netaxept/service_spec.rb
|