netaxept 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,7 @@
1
+ module Netaxept
2
+ module Responses
3
+ class AuthResponse < Response
4
+
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Netaxept
2
+ module Responses
3
+ class CaptureResponse < Response
4
+
5
+ end
6
+ end
7
+ end
@@ -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
- "#{Netaxept::Service.base_uri}/terminal/default.aspx?MerchantID=#{Netaxept::Service.merchant_id}&TransactionID=#{transaction_id}"
105
+ "#{self.base_uri}/terminal/default.aspx?MerchantID=#{self.merchant_id}&TransactionID=#{transaction_id}"
76
106
  end
77
107
 
78
108
  end
@@ -1,3 +1,3 @@
1
1
  module Netaxept
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -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
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-08-04 00:00:00.000000000 +02:00
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: &2155187500 !ruby/object:Gem::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: *2155187500
26
+ version_requirements: *2157377800
26
27
  - !ruby/object:Gem::Dependency
27
28
  name: rspec
28
- requirement: &2155187080 !ruby/object:Gem::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: *2155187080
37
+ version_requirements: *2157377320
37
38
  - !ruby/object:Gem::Dependency
38
39
  name: rdoc
39
- requirement: &2155186620 !ruby/object:Gem::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: *2155186620
48
+ version_requirements: *2157372420
48
49
  - !ruby/object:Gem::Dependency
49
50
  name: vcr
50
- requirement: &2155186200 !ruby/object:Gem::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: *2155186200
59
+ version_requirements: *2157370580
59
60
  - !ruby/object:Gem::Dependency
60
61
  name: fakeweb
61
- requirement: &2155185780 !ruby/object:Gem::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: *2155185780
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