sisow 0.9.5 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/lib/sisow/api/request/transaction_request.rb +20 -1
- data/lib/sisow/payment.rb +4 -0
- data/lib/sisow/version.rb +1 -1
- data/spec/models/transaction_request_spec.rb +37 -0
- metadata +2 -2
data/Gemfile.lock
CHANGED
@@ -47,7 +47,7 @@ module Sisow
|
|
47
47
|
private
|
48
48
|
|
49
49
|
def transaction_params
|
50
|
-
{
|
50
|
+
params = {
|
51
51
|
:payment => payment.payment_method,
|
52
52
|
:purchaseid => payment.purchase_id,
|
53
53
|
:amount => payment.amount,
|
@@ -61,6 +61,25 @@ module Sisow
|
|
61
61
|
:shop_id => payment.shop_id,
|
62
62
|
:sha1 => sha1
|
63
63
|
}
|
64
|
+
|
65
|
+
# Only iDEAL payments need an actual issuerid
|
66
|
+
#
|
67
|
+
# In test mode, the other payment types need an issuerid
|
68
|
+
# that is '99' (otherwise you will always get a
|
69
|
+
# production payment URL, regardless of 'test=true'
|
70
|
+
# in the request.
|
71
|
+
#
|
72
|
+
# In production mode, the other payment types do
|
73
|
+
# not need an issuerid at all, so we just delete it.
|
74
|
+
unless payment.ideal?
|
75
|
+
if Sisow.configuration.test_mode_enabled?
|
76
|
+
params[:issuerid] = '99'
|
77
|
+
else
|
78
|
+
params.delete(:issuerid)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
params
|
64
83
|
end
|
65
84
|
|
66
85
|
def payment
|
data/lib/sisow/payment.rb
CHANGED
data/lib/sisow/version.rb
CHANGED
@@ -21,4 +21,41 @@ describe Sisow::Api::TransactionRequest do
|
|
21
21
|
|
22
22
|
end
|
23
23
|
|
24
|
+
it "should not remove issuerid when it is an iDEAL payment" do
|
25
|
+
payment = Sisow::IdealPayment.new
|
26
|
+
request = Sisow::Api::TransactionRequest.new(payment)
|
27
|
+
|
28
|
+
request.params.keys.should include(:issuerid)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should remove issuerid from params for Bancontact" do
|
32
|
+
Sisow.configuration.stub!(:test_mode_enabled?).and_return(false)
|
33
|
+
payment = Sisow::BancontactPayment.new
|
34
|
+
request = Sisow::Api::TransactionRequest.new(payment)
|
35
|
+
|
36
|
+
request.params.keys.should_not include(:issuerid)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should force issuerid to '99' for Bancontact in test mode" do
|
40
|
+
payment = Sisow::BancontactPayment.new
|
41
|
+
request = Sisow::Api::TransactionRequest.new(payment)
|
42
|
+
|
43
|
+
request.params[:issuerid].should == '99'
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should remove issuerid from params for Sofort" do
|
47
|
+
Sisow.configuration.stub!(:test_mode_enabled?).and_return(false)
|
48
|
+
payment = Sisow::SofortPayment.new
|
49
|
+
request = Sisow::Api::TransactionRequest.new(payment)
|
50
|
+
|
51
|
+
request.params.keys.should_not include(:issuerid)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should force issuerid to '99' for Sofort in test mode" do
|
55
|
+
payment = Sisow::SofortPayment.new
|
56
|
+
request = Sisow::Api::TransactionRequest.new(payment)
|
57
|
+
|
58
|
+
request.params[:issuerid].should == '99'
|
59
|
+
end
|
60
|
+
|
24
61
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sisow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|