datatrans 2.4.0 → 3.0.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 +7 -0
- data/.travis.yml +1 -0
- data/Gemfile.lock +4 -3
- data/README.markdown +31 -25
- data/datatrans.gemspec +3 -2
- data/lib/datatrans.rb +8 -49
- data/lib/datatrans/common.rb +2 -2
- data/lib/datatrans/config.rb +63 -0
- data/lib/datatrans/version.rb +1 -1
- data/lib/datatrans/web/transaction.rb +5 -30
- data/lib/datatrans/web/transaction/authorize.rb +26 -24
- data/lib/datatrans/web/view_helper.rb +25 -0
- data/lib/datatrans/xml/transaction.rb +11 -10
- data/lib/datatrans/xml/transaction/authorize.rb +2 -2
- data/lib/datatrans/xml/transaction/capture.rb +1 -1
- data/lib/datatrans/xml/transaction/request.rb +7 -16
- data/lib/datatrans/xml/transaction/response.rb +3 -2
- data/lib/datatrans/xml/transaction/status.rb +2 -2
- data/lib/datatrans/xml/transaction/void.rb +1 -1
- data/spec/common_spec.rb +5 -3
- data/spec/config_spec.rb +21 -0
- data/spec/spec_helper.rb +5 -5
- data/spec/web/authorize_spec.rb +5 -5
- data/spec/xml/authorize_spec.rb +43 -43
- data/spec/xml/capture_spec.rb +3 -3
- data/spec/xml/request_spec.rb +30 -22
- data/spec/xml/status_spec.rb +3 -3
- data/spec/xml/void_spec.rb +3 -3
- metadata +53 -59
@@ -0,0 +1,25 @@
|
|
1
|
+
module Datatrans::Web
|
2
|
+
module ViewHelper
|
3
|
+
def datatrans_notification_request_hidden_fields(datatrans, transaction)
|
4
|
+
fields = [
|
5
|
+
hidden_field_tag(:merchantId, datatrans.merchant_id),
|
6
|
+
hidden_field_tag(:hiddenMode, transaction.params[:hiddenMode]),
|
7
|
+
hidden_field_tag(:reqtype, transaction.params[:reqtype]),
|
8
|
+
hidden_field_tag(:amount, transaction.params[:amount]),
|
9
|
+
hidden_field_tag(:currency, transaction.params[:currency]),
|
10
|
+
hidden_field_tag(:useAlias, transaction.params[:useAlias]),
|
11
|
+
hidden_field_tag(:sign, transaction.signature),
|
12
|
+
hidden_field_tag(:refno, transaction.params[:refno]),
|
13
|
+
hidden_field_tag(:uppCustomerDetails, transaction.params[:uppCustomerDetails]),
|
14
|
+
]
|
15
|
+
|
16
|
+
[:uppCustomerName, :uppCustomerEmail].each do |field_name|
|
17
|
+
if transaction.params[field_name].present?
|
18
|
+
fields << hidden_field_tag(field_name, transaction.params[field_name])
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
fields.join.html_safe
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -3,33 +3,34 @@ require 'active_support/core_ext/hash'
|
|
3
3
|
module Datatrans::XML
|
4
4
|
class Transaction
|
5
5
|
attr_accessor :request
|
6
|
-
attr_reader :response, :params
|
6
|
+
attr_reader :response, :params, :datatrans
|
7
7
|
|
8
|
-
def initialize(params)
|
8
|
+
def initialize(datatrans, params)
|
9
|
+
@datatrans = datatrans
|
9
10
|
@params = params.symbolize_keys
|
10
11
|
end
|
11
12
|
|
12
13
|
def authorize
|
13
|
-
self.request = AuthorizeRequest.new(params)
|
14
|
-
@response = AuthorizeResponse.new(request.process)
|
14
|
+
self.request = AuthorizeRequest.new(self.datatrans, params)
|
15
|
+
@response = AuthorizeResponse.new(self.datatrans, request.process)
|
15
16
|
@response.successful?
|
16
17
|
end
|
17
18
|
|
18
19
|
def void
|
19
|
-
self.request = VoidRequest.new(params)
|
20
|
-
@response = VoidResponse.new(request.process)
|
20
|
+
self.request = VoidRequest.new(self.datatrans, params)
|
21
|
+
@response = VoidResponse.new(self.datatrans, request.process)
|
21
22
|
@response.successful?
|
22
23
|
end
|
23
24
|
|
24
25
|
def capture
|
25
|
-
self.request = CaptureRequest.new(params)
|
26
|
-
@response = CaptureResponse.new(request.process)
|
26
|
+
self.request = CaptureRequest.new(self.datatrans, params)
|
27
|
+
@response = CaptureResponse.new(self.datatrans, request.process)
|
27
28
|
@response.successful?
|
28
29
|
end
|
29
30
|
|
30
31
|
def status
|
31
|
-
self.request = StatusRequest.new(params)
|
32
|
-
@response = StatusResponse.new(request.process)
|
32
|
+
self.request = StatusRequest.new(self.datatrans, params)
|
33
|
+
@response = StatusResponse.new(self.datatrans, request.process)
|
33
34
|
@response.successful?
|
34
35
|
end
|
35
36
|
|
@@ -4,7 +4,7 @@ require 'datatrans/xml/transaction/response'
|
|
4
4
|
class Datatrans::XML::Transaction
|
5
5
|
class AuthorizeRequest < Request
|
6
6
|
def process
|
7
|
-
self.
|
7
|
+
post(self.datatrans.url(:xml_authorize_url),
|
8
8
|
:headers => { 'Content-Type' => 'text/xml' },
|
9
9
|
:body => build_authorize_request.to_s).parsed_response
|
10
10
|
end
|
@@ -18,7 +18,7 @@ class Datatrans::XML::Transaction
|
|
18
18
|
xml.aliasCC params[:aliasCC]
|
19
19
|
xml.expm params[:expm]
|
20
20
|
xml.expy params[:expy]
|
21
|
-
xml.sign sign(
|
21
|
+
xml.sign sign(self.datatrans.merchant_id, params[:amount], params[:currency], params[:refno])
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -4,7 +4,7 @@ require 'datatrans/xml/transaction/response'
|
|
4
4
|
class Datatrans::XML::Transaction
|
5
5
|
class CaptureRequest < Request
|
6
6
|
def process
|
7
|
-
self.
|
7
|
+
post(self.datatrans.url(:xml_settlement_url),
|
8
8
|
:headers => { 'Content-Type' => 'text/xml' },
|
9
9
|
:body => build_capture_request.to_s).parsed_response
|
10
10
|
end
|
@@ -3,25 +3,16 @@ require 'builder'
|
|
3
3
|
|
4
4
|
class Datatrans::XML::Transaction
|
5
5
|
class Request
|
6
|
-
include HTTParty
|
7
6
|
|
8
|
-
attr_accessor :params
|
7
|
+
attr_accessor :params, :datatrans
|
9
8
|
|
10
|
-
def
|
11
|
-
|
12
|
-
|
13
|
-
http_proxy(proxy[:host], proxy[:port], proxy[:user], proxy[:password])
|
14
|
-
else
|
15
|
-
http_proxy(nil, nil, nil, nil)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.perform_request(*args, &block)
|
20
|
-
set_default_options
|
21
|
-
super
|
9
|
+
def post(url, options = {})
|
10
|
+
options = options.merge(self.datatrans.proxy)
|
11
|
+
HTTParty.post(url, options)
|
22
12
|
end
|
23
13
|
|
24
|
-
def initialize(params)
|
14
|
+
def initialize(datatrans, params)
|
15
|
+
@datatrans = datatrans
|
25
16
|
@params = params
|
26
17
|
end
|
27
18
|
|
@@ -37,7 +28,7 @@ class Datatrans::XML::Transaction
|
|
37
28
|
xml = Builder::XmlMarkup.new
|
38
29
|
xml.instruct!
|
39
30
|
xml.tag! "#{service}Service", :version => 1 do
|
40
|
-
xml.body :merchantId =>
|
31
|
+
xml.body :merchantId => self.datatrans.merchant_id do |body|
|
41
32
|
xml.transaction :refno => params[:refno] do
|
42
33
|
xml.request do
|
43
34
|
yield body
|
@@ -4,8 +4,8 @@ require 'datatrans/xml/transaction/response'
|
|
4
4
|
class Datatrans::XML::Transaction
|
5
5
|
class StatusRequest < Request
|
6
6
|
def process
|
7
|
-
|
8
|
-
|
7
|
+
post(
|
8
|
+
self.datatrans.url(:xml_status_url),
|
9
9
|
:headers => {
|
10
10
|
'Content-Type' => 'text/xml'
|
11
11
|
},
|
@@ -4,7 +4,7 @@ require 'datatrans/xml/transaction/response'
|
|
4
4
|
class Datatrans::XML::Transaction
|
5
5
|
class VoidRequest < Request
|
6
6
|
def process
|
7
|
-
self.
|
7
|
+
post(self.datatrans.url(:xml_settlement_url),
|
8
8
|
:headers => { 'Content-Type' => 'text/xml' },
|
9
9
|
:body => build_void_request.to_s).parsed_response
|
10
10
|
end
|
data/spec/common_spec.rb
CHANGED
@@ -3,8 +3,10 @@ require 'spec_helper'
|
|
3
3
|
describe Datatrans::Common do
|
4
4
|
context "sign" do
|
5
5
|
before do
|
6
|
-
class Request
|
7
|
-
|
6
|
+
#class Request
|
7
|
+
# include Datatrans::Common
|
8
|
+
#end
|
9
|
+
@request = Datatrans::XML::Transaction::Request.new(@datatrans, {})
|
8
10
|
end
|
9
11
|
|
10
12
|
it "generates the correct sign" do
|
@@ -12,7 +14,7 @@ describe Datatrans::Common do
|
|
12
14
|
currency = 'CHF'
|
13
15
|
reference_number = 'ABCEDF'
|
14
16
|
|
15
|
-
@request.sign(
|
17
|
+
@request.sign(@datatrans.merchant_id, amount, currency, reference_number).should == '4e7d4d5bbde548c586f3b7f109635ffc'
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
data/spec/config_spec.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Datatrans::Config do
|
4
|
+
describe "Instance Methods" do
|
5
|
+
before do
|
6
|
+
@datatrans = Datatrans::Config.new(:merchant_id => "xxx")
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "web_transaction" do
|
10
|
+
it "builds a new web transaction object" do
|
11
|
+
@datatrans.web_transaction({}).class.should eq(Datatrans::Web::Transaction)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "xml_transaction" do
|
16
|
+
it "builds a new xml transaction object" do
|
17
|
+
@datatrans.xml_transaction({}).class.should eq(Datatrans::XML::Transaction)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -10,10 +10,10 @@ RSpec.configure do |config|
|
|
10
10
|
config.run_all_when_everything_filtered = true
|
11
11
|
|
12
12
|
config.before(:each) do
|
13
|
-
Datatrans.
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
@datatrans = Datatrans::Config.new(
|
14
|
+
:merchant_id => '1100000000',
|
15
|
+
:sign_key => 'd777c17ba2010282c2d2350a68b441ca07a799d294bfaa630b7c8442207c0b69703cc55775b0ca5a4e455b818a9bb10a43669c0c20ce31f4a43f10e0cabb9525',
|
16
|
+
:environment => :development
|
17
|
+
)
|
18
18
|
end
|
19
19
|
end
|
data/spec/web/authorize_spec.rb
CHANGED
@@ -69,12 +69,12 @@ describe Datatrans::Web::Transaction do
|
|
69
69
|
|
70
70
|
context "rails form helper" do
|
71
71
|
before do
|
72
|
-
@transaction = Datatrans::Web::Transaction.new(@valid_params)
|
72
|
+
@transaction = Datatrans::Web::Transaction.new(@datatrans, @valid_params)
|
73
73
|
@view = ActionView::Base.new
|
74
74
|
end
|
75
75
|
|
76
76
|
it "should generate valid form field string" do
|
77
|
-
@view.datatrans_notification_request_hidden_fields(@transaction).should == "<input id=\"merchantId\" name=\"merchantId\" type=\"hidden\" value=\"1100000000\" /><input id=\"hiddenMode\" name=\"hiddenMode\" type=\"hidden\" value=\"yes\" /><input id=\"reqtype\" name=\"reqtype\" type=\"hidden\" value=\"NOA\" /><input id=\"amount\" name=\"amount\" type=\"hidden\" value=\"1000\" /><input id=\"currency\" name=\"currency\" type=\"hidden\" value=\"CHF\" /><input id=\"useAlias\" name=\"useAlias\" type=\"hidden\" value=\"yes\" /><input id=\"sign\" name=\"sign\" type=\"hidden\" value=\"0402fb3fba8c6fcb40df9b7756e7e637\" /><input id=\"refno\" name=\"refno\" type=\"hidden\" value=\"ABCDEF\" /><input id=\"uppCustomerDetails\" name=\"uppCustomerDetails\" type=\"hidden\" /><input id=\"uppCustomerEmail\" name=\"uppCustomerEmail\" type=\"hidden\" value=\"customer@email.com\" />"
|
77
|
+
@view.datatrans_notification_request_hidden_fields(@datatrans, @transaction).should == "<input id=\"merchantId\" name=\"merchantId\" type=\"hidden\" value=\"1100000000\" /><input id=\"hiddenMode\" name=\"hiddenMode\" type=\"hidden\" value=\"yes\" /><input id=\"reqtype\" name=\"reqtype\" type=\"hidden\" value=\"NOA\" /><input id=\"amount\" name=\"amount\" type=\"hidden\" value=\"1000\" /><input id=\"currency\" name=\"currency\" type=\"hidden\" value=\"CHF\" /><input id=\"useAlias\" name=\"useAlias\" type=\"hidden\" value=\"yes\" /><input id=\"sign\" name=\"sign\" type=\"hidden\" value=\"0402fb3fba8c6fcb40df9b7756e7e637\" /><input id=\"refno\" name=\"refno\" type=\"hidden\" value=\"ABCDEF\" /><input id=\"uppCustomerDetails\" name=\"uppCustomerDetails\" type=\"hidden\" /><input id=\"uppCustomerEmail\" name=\"uppCustomerEmail\" type=\"hidden\" value=\"customer@email.com\" />"
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
@@ -85,7 +85,7 @@ describe Datatrans::Web::Transaction do
|
|
85
85
|
|
86
86
|
context "process" do
|
87
87
|
it "handles a valid datatrans authorize response" do
|
88
|
-
@transaction = Datatrans::Web::Transaction.new(@valid_params)
|
88
|
+
@transaction = Datatrans::Web::Transaction.new(@datatrans, @valid_params)
|
89
89
|
@transaction.authorize.should be_true
|
90
90
|
end
|
91
91
|
end
|
@@ -96,7 +96,7 @@ describe Datatrans::Web::Transaction do
|
|
96
96
|
fake_response = @successful_response
|
97
97
|
fake_response[:sign2] = 'invalid'
|
98
98
|
Datatrans::Web::Transaction::AuthorizeResponse.any_instance.stub(:params).and_return(fake_response)
|
99
|
-
@transaction = Datatrans::Web::Transaction.new(@valid_params)
|
99
|
+
@transaction = Datatrans::Web::Transaction.new(@datatrans, @valid_params)
|
100
100
|
end
|
101
101
|
|
102
102
|
it "raises an exception if sign2 is invalid" do
|
@@ -109,7 +109,7 @@ describe Datatrans::Web::Transaction do
|
|
109
109
|
context "failed response" do
|
110
110
|
before do
|
111
111
|
Datatrans::Web::Transaction::AuthorizeResponse.any_instance.stub(:params).and_return(@failed_response)
|
112
|
-
@transaction = Datatrans::Web::Transaction.new(@valid_params)
|
112
|
+
@transaction = Datatrans::Web::Transaction.new(@datatrans, @valid_params)
|
113
113
|
end
|
114
114
|
|
115
115
|
context "process" do
|
data/spec/xml/authorize_spec.rb
CHANGED
@@ -7,61 +7,61 @@ describe Datatrans::XML::Transaction::AuthorizeRequest do
|
|
7
7
|
"body" => {
|
8
8
|
"transaction" => {
|
9
9
|
"request" => {
|
10
|
-
"amount" => "1000",
|
11
|
-
"currency" => "CHF",
|
12
|
-
"aliasCC" => "70323122544311173",
|
13
|
-
"expm" => "12",
|
14
|
-
"expy" => "15",
|
15
|
-
"sign" => "1d236349b97fac15b267becb0792d185",
|
10
|
+
"amount" => "1000",
|
11
|
+
"currency" => "CHF",
|
12
|
+
"aliasCC" => "70323122544311173",
|
13
|
+
"expm" => "12",
|
14
|
+
"expy" => "15",
|
15
|
+
"sign" => "1d236349b97fac15b267becb0792d185",
|
16
16
|
"reqtype" => "NOA"
|
17
|
-
},
|
17
|
+
},
|
18
18
|
"response" => {
|
19
|
-
"responseCode" => "01",
|
20
|
-
"responseMessage" => "Authorized",
|
21
|
-
"uppTransactionId" => "110808142256858007",
|
22
|
-
"authorizationCode" => "257128012",
|
23
|
-
"acqAuthorizationCode" => "142257",
|
24
|
-
"maskedCC" => "520000xxxxxx0007",
|
19
|
+
"responseCode" => "01",
|
20
|
+
"responseMessage" => "Authorized",
|
21
|
+
"uppTransactionId" => "110808142256858007",
|
22
|
+
"authorizationCode" => "257128012",
|
23
|
+
"acqAuthorizationCode" => "142257",
|
24
|
+
"maskedCC" => "520000xxxxxx0007",
|
25
25
|
"returnCustomerCountry" => "CHE"
|
26
|
-
},
|
27
|
-
"refno" => "ABCDEF",
|
26
|
+
},
|
27
|
+
"refno" => "ABCDEF",
|
28
28
|
"trxStatus" => "response"
|
29
|
-
},
|
30
|
-
"merchantId" => "1100001872",
|
29
|
+
},
|
30
|
+
"merchantId" => "1100001872",
|
31
31
|
"status" => "accepted"
|
32
|
-
},
|
32
|
+
},
|
33
33
|
"version" => "1"
|
34
34
|
}
|
35
35
|
}
|
36
|
-
|
36
|
+
|
37
37
|
@failed_response = {
|
38
38
|
"authorizationService" => {
|
39
39
|
"body" => {
|
40
40
|
"transaction" => {
|
41
41
|
"request" => {
|
42
|
-
"amount" => "1000",
|
43
|
-
"currency" => "CHF",
|
44
|
-
"aliasCC" => "70323122544311173",
|
45
|
-
"expm" => "12",
|
46
|
-
"expy" => "15",
|
47
|
-
"sign" => "1d236349b97fac15b267becb0792d185",
|
42
|
+
"amount" => "1000",
|
43
|
+
"currency" => "CHF",
|
44
|
+
"aliasCC" => "70323122544311173",
|
45
|
+
"expm" => "12",
|
46
|
+
"expy" => "15",
|
47
|
+
"sign" => "1d236349b97fac15b267becb0792d185",
|
48
48
|
"reqtype" => "NOA"
|
49
|
-
},
|
49
|
+
},
|
50
50
|
"error" => {
|
51
|
-
"errorCode" => "2021",
|
52
|
-
"errorMessage" => "missing value",
|
51
|
+
"errorCode" => "2021",
|
52
|
+
"errorMessage" => "missing value",
|
53
53
|
"errorDetail" => "CC-alias"
|
54
|
-
},
|
55
|
-
"refno" => "ABCDEF",
|
54
|
+
},
|
55
|
+
"refno" => "ABCDEF",
|
56
56
|
"trxStatus" => "response"
|
57
|
-
},
|
58
|
-
"merchantId" => "1100001872",
|
57
|
+
},
|
58
|
+
"merchantId" => "1100001872",
|
59
59
|
"status" => "accepted"
|
60
|
-
},
|
60
|
+
},
|
61
61
|
"version" => "1"
|
62
62
|
}
|
63
63
|
}
|
64
|
-
|
64
|
+
|
65
65
|
@valid_params = {
|
66
66
|
:refno => 'ABCDEF',
|
67
67
|
:amount => 1000,
|
@@ -71,38 +71,38 @@ describe Datatrans::XML::Transaction::AuthorizeRequest do
|
|
71
71
|
:expy => 15
|
72
72
|
}
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
context "successful response" do
|
76
76
|
before do
|
77
77
|
Datatrans::XML::Transaction::AuthorizeRequest.any_instance.stub(:process).and_return(@successful_response)
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
context "build_authorize_request" do
|
81
81
|
it "generates a valid datatrans authorize xml" do
|
82
|
-
@request = Datatrans::XML::Transaction::AuthorizeRequest.new(@valid_params)
|
82
|
+
@request = Datatrans::XML::Transaction::AuthorizeRequest.new(@datatrans, @valid_params)
|
83
83
|
@request.send(:build_authorize_request).should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><authorizationService version=\"1\"><body merchantId=\"1100000000\"><transaction refno=\"ABCDEF\"><request><amount>1000</amount><currency>CHF</currency><aliasCC>3784982984234</aliasCC><expm>12</expm><expy>15</expy><sign>0402fb3fba8c6fcb40df9b7756e7e637</sign></request></transaction></body></authorizationService>"
|
84
84
|
end
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
context "process" do
|
88
88
|
it "handles a valid datatrans authorize response" do
|
89
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
89
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
90
90
|
@transaction.authorize.should be_true
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
94
|
-
|
94
|
+
|
95
95
|
context "failed response" do
|
96
96
|
before do
|
97
97
|
Datatrans::XML::Transaction::AuthorizeRequest.any_instance.stub(:process).and_return(@failed_response)
|
98
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
98
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
context "process" do
|
102
102
|
it "handles a failed datatrans authorize response" do
|
103
103
|
@transaction.authorize.should be_false
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
it "returns error details" do
|
107
107
|
@transaction.authorize
|
108
108
|
@transaction.error_code.length.should > 0
|
data/spec/xml/capture_spec.rb
CHANGED
@@ -68,14 +68,14 @@ describe Datatrans::XML::Transaction::CaptureRequest do
|
|
68
68
|
|
69
69
|
context "build_capture_request" do
|
70
70
|
it "generates a valid datatrans capture xml" do
|
71
|
-
@request = Datatrans::XML::Transaction::CaptureRequest.new(@valid_params)
|
71
|
+
@request = Datatrans::XML::Transaction::CaptureRequest.new(@datatrans, @valid_params)
|
72
72
|
@request.send(:build_capture_request).should == "<?xml version=\"1.0\" encoding=\"UTF-8\"?><paymentService version=\"1\"><body merchantId=\"1100000000\"><transaction refno=\"ABCDEF\"><request><amount>1000</amount><currency>CHF</currency><uppTransactionId>110808142256858007</uppTransactionId></request></transaction></body></paymentService>"
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
context "process" do
|
77
77
|
it "handles a valid datatrans capture response" do
|
78
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
78
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
79
79
|
@transaction.capture.should be_true
|
80
80
|
end
|
81
81
|
end
|
@@ -84,7 +84,7 @@ describe Datatrans::XML::Transaction::CaptureRequest do
|
|
84
84
|
context "failed response" do
|
85
85
|
before do
|
86
86
|
Datatrans::XML::Transaction::CaptureRequest.any_instance.stub(:process).and_return(@failed_response)
|
87
|
-
@transaction = Datatrans::XML::Transaction.new(@valid_params)
|
87
|
+
@transaction = Datatrans::XML::Transaction.new(@datatrans, @valid_params)
|
88
88
|
end
|
89
89
|
|
90
90
|
context "process" do
|