sermepa 0.0.2 → 0.1.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.
- data/lib/sermepa/config.rb +3 -1
- data/lib/sermepa/form_helper.rb +36 -0
- data/lib/sermepa/railtie.rb +9 -0
- data/lib/sermepa/sermepa.rb +1 -2
- data/lib/sermepa/signature.rb +1 -1
- data/lib/sermepa/version.rb +1 -1
- data/lib/sermepa.rb +1 -0
- metadata +6 -4
data/lib/sermepa/config.rb
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
module Sermepa
|
|
2
2
|
|
|
3
|
-
Config = Struct.new(:_logger, :service_url, :merchant_code, :secret, :terminal, :currency, :raise_errors, :
|
|
3
|
+
Config = Struct.new(:_logger, :service_url, :merchant_code, :secret, :terminal, :currency, :raise_errors, :merchant_url,
|
|
4
|
+
:url_ok, :url_ko, :consumer_language, :post_url) do
|
|
4
5
|
|
|
5
6
|
def self.default
|
|
6
7
|
config = new
|
|
7
8
|
config._logger = Logger.new STDOUT
|
|
8
9
|
config.raise_errors = true
|
|
10
|
+
config.consumer_language = '001' # ES
|
|
9
11
|
config
|
|
10
12
|
end
|
|
11
13
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Sermepa
|
|
2
|
+
module FormHelper
|
|
3
|
+
def sermepa_payment_form(amount, params = {}, &block)
|
|
4
|
+
values = {
|
|
5
|
+
DS_MERCHANT_AMOUNT: (amount.to_f * 100).to_i,
|
|
6
|
+
DS_MERCHANT_CURRENCY: CURRENCIES[params[:currency] || config.currency],
|
|
7
|
+
DS_MERCHANT_PRODUCTDESCRIPTION: params[:description],
|
|
8
|
+
DS_MERCHANT_TITULAR: params[:titular],
|
|
9
|
+
DS_MERCHANT_ORDER: params[:order] || Time.now.to_i,
|
|
10
|
+
DS_MERCHANT_MERCHANTCODE: params[:merchant_code] || config.merchant_code,
|
|
11
|
+
DS_MERCHANT_TERMINAL: params[:terminal] || config.terminal,
|
|
12
|
+
DS_MERCHANT_TRANSACTIONTYPE: TRANSACTION_TYPES[params[:transaction_type]],
|
|
13
|
+
DS_MERCHANT_MERCHANTURL: params[:merchant_url] || config.merchant_url,
|
|
14
|
+
DS_MERCHANT_URLOK: params[:url_ok] || config.url_ok,
|
|
15
|
+
DS_MERCHANT_URLKO: params[:url_ko] || config.url_ko,
|
|
16
|
+
DS_MERCHANT_CONSUMERLANGUAGE: params[:consumer_language] || config.consumer_language
|
|
17
|
+
}
|
|
18
|
+
values[:DS_MERCHANT_MERCHANTSIGNATURE] = signature(values)
|
|
19
|
+
|
|
20
|
+
output = ActiveSupport::SafeBuffer.new
|
|
21
|
+
|
|
22
|
+
form_tag config.post_url do
|
|
23
|
+
output = ActiveSupport::SafeBuffer.new
|
|
24
|
+
values.each_pair do |k,v|
|
|
25
|
+
output << hidden_field_tag(k, v) if v
|
|
26
|
+
end
|
|
27
|
+
if block_given?
|
|
28
|
+
output << capture(&block)
|
|
29
|
+
else
|
|
30
|
+
output << submit_tag(t 'send')
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
data/lib/sermepa/sermepa.rb
CHANGED
|
@@ -14,8 +14,7 @@ module Sermepa
|
|
|
14
14
|
DS_MERCHANT_ORDER: params[:order].to_s,
|
|
15
15
|
DS_MERCHANT_TRANSACTIONTYPE: TRANSACTION_TYPES[transaction_type]
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
#values[:DS_MERCHANT_MERCHANTURL] = Sermepa.config.callback_url if Sermepa.config.callback_url
|
|
17
|
+
values[:DS_MERCHANT_MERCHANTURL] = Sermepa.config.merchant_url if Sermepa.config.merchant_url
|
|
19
18
|
|
|
20
19
|
values
|
|
21
20
|
end
|
data/lib/sermepa/signature.rb
CHANGED
|
@@ -10,7 +10,7 @@ module Sermepa
|
|
|
10
10
|
token += values[:DS_MERCHANT_PAN].to_s
|
|
11
11
|
token += values[:DS_MERCHANT_CVV2].to_s
|
|
12
12
|
token += values[:DS_MERCHANT_TRANSACTIONTYPE].to_s
|
|
13
|
-
|
|
13
|
+
token += values[:DS_MERCHANT_MERCHANTURL].to_s if config.merchant_url
|
|
14
14
|
token += secret || config.secret
|
|
15
15
|
|
|
16
16
|
Digest::SHA1.hexdigest(token)
|
data/lib/sermepa/version.rb
CHANGED
data/lib/sermepa.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sermepa
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
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: 2013-01-
|
|
12
|
+
date: 2013-01-10 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rails
|
|
@@ -59,7 +59,7 @@ dependencies:
|
|
|
59
59
|
- - ! '>='
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '0'
|
|
62
|
-
description: Sermepa
|
|
62
|
+
description: Sermepa is a spanish payments gateway
|
|
63
63
|
email:
|
|
64
64
|
- me@endika.net
|
|
65
65
|
executables: []
|
|
@@ -69,6 +69,8 @@ files:
|
|
|
69
69
|
- lib/sermepa/config.rb
|
|
70
70
|
- lib/sermepa/constants.rb
|
|
71
71
|
- lib/sermepa/errors.rb
|
|
72
|
+
- lib/sermepa/form_helper.rb
|
|
73
|
+
- lib/sermepa/railtie.rb
|
|
72
74
|
- lib/sermepa/sermepa.rb
|
|
73
75
|
- lib/sermepa/signature.rb
|
|
74
76
|
- lib/sermepa/version.rb
|
|
@@ -130,7 +132,7 @@ rubyforge_project:
|
|
|
130
132
|
rubygems_version: 1.8.24
|
|
131
133
|
signing_key:
|
|
132
134
|
specification_version: 3
|
|
133
|
-
summary: Sermepa gateway for rails
|
|
135
|
+
summary: Sermepa SOAP gateway for rails.
|
|
134
136
|
test_files:
|
|
135
137
|
- test/dummy/app/assets/javascripts/application.js
|
|
136
138
|
- test/dummy/app/assets/stylesheets/application.css
|