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