webtopay 1.6.0 → 1.6.1
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/README.md +2 -2
- data/lib/webtopay/payment.rb +4 -1
- data/lib/webtopay/version.rb +1 -1
- data/spec/lib/webtopay/payment_spec.rb +33 -0
- metadata +46 -32
- checksums.yaml +0 -7
data/README.md
CHANGED
@@ -11,7 +11,7 @@ This gem could be integrated with both billing types - MACRO (VISA, MasterCard,
|
|
11
11
|
Add to your gemfile:
|
12
12
|
|
13
13
|
```ruby
|
14
|
-
gem "webtopay",
|
14
|
+
gem "webtopay", '1.6.1'
|
15
15
|
```
|
16
16
|
|
17
17
|
## Configuration
|
@@ -101,7 +101,7 @@ Then in your controller
|
|
101
101
|
class ProductsController < ApplicationController
|
102
102
|
def order
|
103
103
|
# do some order stuff here ...
|
104
|
-
@payment = WebToPay::Payment(params[:web_to_pay_payment])
|
104
|
+
@payment = WebToPay::Payment.new(params[:web_to_pay_payment])
|
105
105
|
redirect_to @payment.url
|
106
106
|
end
|
107
107
|
end
|
data/lib/webtopay/payment.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
class WebToPay::Payment
|
2
2
|
ATTRIBUTES = [:projectid, :orderid, :lang, :amount, :currency, :accepturl, :cancelurl, :callbackurl,
|
3
3
|
:country, :paytext, :p_email, :p_name, :p_surname, :payment, :test, :version]
|
4
|
+
UNDERSCORE_MAPPINGS = {pname: :p_name, pemail: :p_email, psurname: :p_surname}
|
4
5
|
attr_accessor *ATTRIBUTES
|
5
6
|
|
6
7
|
extend ActiveModel::Naming
|
@@ -12,7 +13,9 @@ class WebToPay::Payment
|
|
12
13
|
@sign_password = user_params[:sign_password] || WebToPay.config.sign_password
|
13
14
|
|
14
15
|
params.each_pair do |field, value|
|
15
|
-
|
16
|
+
field_name = field.to_s.downcase.gsub('_', '').to_sym
|
17
|
+
field_name = UNDERSCORE_MAPPINGS[field_name] || field_name
|
18
|
+
self.public_send("#{field_name}=", value)
|
16
19
|
end
|
17
20
|
end
|
18
21
|
|
data/lib/webtopay/version.rb
CHANGED
@@ -28,4 +28,37 @@ describe WebToPay::Payment do
|
|
28
28
|
its(:data) { should == 'cHJvamVjdGlkPTEyMzQ1NiZvcmRlcmlkPTY1NDMyMSZsYW5nPUxJVCZhbW91bnQ9MjAwMCZjdXJyZW5jeT1MVEwmYWNjZXB0dXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmFjY2VwdCZjYW5jZWx1cmw9aHR0cCUzQSUyRiUyRmV4YW1wbGUuY29tJTJGY2FuY2VsJmNhbGxiYWNrdXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmNhbGxiYWNrJmNvdW50cnk9bHQmcGF5dGV4dD1CaWxsaW5nK2ZvcitYWCthdCt0aGUrd2Vic2l0ZStYWFgmcF9lbWFpbD1wZXRyYXMlNDBleGFtcGxlLmNvbSZwX25hbWU9Sm9uYXMmcF9zdXJuYW1lPUpvbmFpdGlzJnBheW1lbnQ9dmIyJnRlc3Q9MSZ2ZXJzaW9uPTEuNg==' }
|
29
29
|
its(:sign) { should == '51f7a63b3e43fde47daa0afdb02cdb8f' }
|
30
30
|
|
31
|
+
context 'with underscored attribute names' do
|
32
|
+
let(:payment_data) {
|
33
|
+
{
|
34
|
+
'project_id' => 123456,
|
35
|
+
'ord_er_id' => 654321,
|
36
|
+
'lang_' => 'LIT',
|
37
|
+
'amo_unt' => 2000,
|
38
|
+
'currency' => 'LTL',
|
39
|
+
'accept_url' => 'http://example.com/accept',
|
40
|
+
'cancel__url' => 'http://example.com/cancel',
|
41
|
+
'callback_url' => 'http://example.com/callback',
|
42
|
+
'_country' => 'lt',
|
43
|
+
'paytext' => 'Billing for XX at the website XXX',
|
44
|
+
'pemail' => 'petras@example.com',
|
45
|
+
'pname' => 'Jonas',
|
46
|
+
'psurname' => 'Jonaitis',
|
47
|
+
'pay_ment' => 'vb2',
|
48
|
+
'test' => 1,
|
49
|
+
'version' => 1.6
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
its(:query){ should == 'projectid=123456&orderid=654321&lang=LIT&amount=2000¤cy=LTL&accepturl=http%3A%2F%2Fexample.com%2Faccept&cancelurl=http%3A%2F%2Fexample.com%2Fcancel&callbackurl=http%3A%2F%2Fexample.com%2Fcallback&country=lt&paytext=Billing+for+XX+at+the+website+XXX&p_email=petras%40example.com&p_name=Jonas&p_surname=Jonaitis&payment=vb2&test=1&version=1.6' }
|
54
|
+
its(:data) { should == 'cHJvamVjdGlkPTEyMzQ1NiZvcmRlcmlkPTY1NDMyMSZsYW5nPUxJVCZhbW91bnQ9MjAwMCZjdXJyZW5jeT1MVEwmYWNjZXB0dXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmFjY2VwdCZjYW5jZWx1cmw9aHR0cCUzQSUyRiUyRmV4YW1wbGUuY29tJTJGY2FuY2VsJmNhbGxiYWNrdXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmNhbGxiYWNrJmNvdW50cnk9bHQmcGF5dGV4dD1CaWxsaW5nK2ZvcitYWCthdCt0aGUrd2Vic2l0ZStYWFgmcF9lbWFpbD1wZXRyYXMlNDBleGFtcGxlLmNvbSZwX25hbWU9Sm9uYXMmcF9zdXJuYW1lPUpvbmFpdGlzJnBheW1lbnQ9dmIyJnRlc3Q9MSZ2ZXJzaW9uPTEuNg==' }
|
55
|
+
its(:sign) { should == '51f7a63b3e43fde47daa0afdb02cdb8f' }
|
56
|
+
|
57
|
+
# We assume that payment data and ATTRIBUTES are ordered in the same way
|
58
|
+
WebToPay::Payment::ATTRIBUTES.each.with_index do |attr, i|
|
59
|
+
its(attr){ should == payment_data.values[i] }
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
31
64
|
end
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webtopay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Povilas Jurčys
|
@@ -10,126 +11,138 @@ authors:
|
|
10
11
|
autorequire:
|
11
12
|
bindir: bin
|
12
13
|
cert_chain: []
|
13
|
-
date: 2014-03
|
14
|
+
date: 2014-04-03 00:00:00.000000000 Z
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
17
|
name: sqlite3
|
17
18
|
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
18
20
|
requirements:
|
19
|
-
- -
|
21
|
+
- - ~>
|
20
22
|
- !ruby/object:Gem::Version
|
21
23
|
version: '1.3'
|
22
|
-
- -
|
24
|
+
- - ! '>='
|
23
25
|
- !ruby/object:Gem::Version
|
24
26
|
version: 1.3.8
|
25
27
|
type: :development
|
26
28
|
prerelease: false
|
27
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
28
31
|
requirements:
|
29
|
-
- -
|
32
|
+
- - ~>
|
30
33
|
- !ruby/object:Gem::Version
|
31
34
|
version: '1.3'
|
32
|
-
- -
|
35
|
+
- - ! '>='
|
33
36
|
- !ruby/object:Gem::Version
|
34
37
|
version: 1.3.8
|
35
38
|
- !ruby/object:Gem::Dependency
|
36
39
|
name: rails
|
37
40
|
requirement: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
|
-
- -
|
43
|
+
- - ~>
|
40
44
|
- !ruby/object:Gem::Version
|
41
45
|
version: '4.0'
|
42
|
-
- -
|
46
|
+
- - ! '>='
|
43
47
|
- !ruby/object:Gem::Version
|
44
48
|
version: 4.0.0
|
45
49
|
type: :development
|
46
50
|
prerelease: false
|
47
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
48
53
|
requirements:
|
49
|
-
- -
|
54
|
+
- - ~>
|
50
55
|
- !ruby/object:Gem::Version
|
51
56
|
version: '4.0'
|
52
|
-
- -
|
57
|
+
- - ! '>='
|
53
58
|
- !ruby/object:Gem::Version
|
54
59
|
version: 4.0.0
|
55
60
|
- !ruby/object:Gem::Dependency
|
56
61
|
name: factory_girl_rails
|
57
62
|
requirement: !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
58
64
|
requirements:
|
59
|
-
- -
|
65
|
+
- - ~>
|
60
66
|
- !ruby/object:Gem::Version
|
61
67
|
version: '4.3'
|
62
|
-
- -
|
68
|
+
- - ! '>='
|
63
69
|
- !ruby/object:Gem::Version
|
64
70
|
version: 4.3.0
|
65
71
|
type: :development
|
66
72
|
prerelease: false
|
67
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
68
75
|
requirements:
|
69
|
-
- -
|
76
|
+
- - ~>
|
70
77
|
- !ruby/object:Gem::Version
|
71
78
|
version: '4.3'
|
72
|
-
- -
|
79
|
+
- - ! '>='
|
73
80
|
- !ruby/object:Gem::Version
|
74
81
|
version: 4.3.0
|
75
82
|
- !ruby/object:Gem::Dependency
|
76
83
|
name: database_cleaner
|
77
84
|
requirement: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
78
86
|
requirements:
|
79
|
-
- -
|
87
|
+
- - ~>
|
80
88
|
- !ruby/object:Gem::Version
|
81
89
|
version: '1.2'
|
82
|
-
- -
|
90
|
+
- - ! '>='
|
83
91
|
- !ruby/object:Gem::Version
|
84
92
|
version: 1.2.0
|
85
93
|
type: :development
|
86
94
|
prerelease: false
|
87
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
88
97
|
requirements:
|
89
|
-
- -
|
98
|
+
- - ~>
|
90
99
|
- !ruby/object:Gem::Version
|
91
100
|
version: '1.2'
|
92
|
-
- -
|
101
|
+
- - ! '>='
|
93
102
|
- !ruby/object:Gem::Version
|
94
103
|
version: 1.2.0
|
95
104
|
- !ruby/object:Gem::Dependency
|
96
105
|
name: rspec
|
97
106
|
requirement: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
98
108
|
requirements:
|
99
|
-
- -
|
109
|
+
- - ~>
|
100
110
|
- !ruby/object:Gem::Version
|
101
111
|
version: '2.14'
|
102
|
-
- -
|
112
|
+
- - ! '>='
|
103
113
|
- !ruby/object:Gem::Version
|
104
114
|
version: 2.14.1
|
105
115
|
type: :development
|
106
116
|
prerelease: false
|
107
117
|
version_requirements: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
108
119
|
requirements:
|
109
|
-
- -
|
120
|
+
- - ~>
|
110
121
|
- !ruby/object:Gem::Version
|
111
122
|
version: '2.14'
|
112
|
-
- -
|
123
|
+
- - ! '>='
|
113
124
|
- !ruby/object:Gem::Version
|
114
125
|
version: 2.14.1
|
115
126
|
- !ruby/object:Gem::Dependency
|
116
127
|
name: rspec-rails
|
117
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
118
130
|
requirements:
|
119
|
-
- -
|
131
|
+
- - ~>
|
120
132
|
- !ruby/object:Gem::Version
|
121
133
|
version: '2.14'
|
122
|
-
- -
|
134
|
+
- - ! '>='
|
123
135
|
- !ruby/object:Gem::Version
|
124
136
|
version: 2.14.1
|
125
137
|
type: :development
|
126
138
|
prerelease: false
|
127
139
|
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
128
141
|
requirements:
|
129
|
-
- -
|
142
|
+
- - ~>
|
130
143
|
- !ruby/object:Gem::Version
|
131
144
|
version: '2.14'
|
132
|
-
- -
|
145
|
+
- - ! '>='
|
133
146
|
- !ruby/object:Gem::Version
|
134
147
|
version: 2.14.1
|
135
148
|
description: Verifies webtopay.com (mokejimai.lt) payment data transfer
|
@@ -141,7 +154,7 @@ executables: []
|
|
141
154
|
extensions: []
|
142
155
|
extra_rdoc_files: []
|
143
156
|
files:
|
144
|
-
-
|
157
|
+
- .gitignore
|
145
158
|
- Gemfile
|
146
159
|
- MIT-LICENSE
|
147
160
|
- README.md
|
@@ -203,26 +216,27 @@ files:
|
|
203
216
|
- webtopay.gemspec
|
204
217
|
homepage: https://github.com/bloomrain/webtopay
|
205
218
|
licenses: []
|
206
|
-
metadata: {}
|
207
219
|
post_install_message:
|
208
220
|
rdoc_options: []
|
209
221
|
require_paths:
|
210
222
|
- lib
|
211
223
|
required_ruby_version: !ruby/object:Gem::Requirement
|
224
|
+
none: false
|
212
225
|
requirements:
|
213
|
-
- -
|
226
|
+
- - ! '>='
|
214
227
|
- !ruby/object:Gem::Version
|
215
228
|
version: '0'
|
216
229
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
230
|
+
none: false
|
217
231
|
requirements:
|
218
|
-
- -
|
232
|
+
- - ! '>='
|
219
233
|
- !ruby/object:Gem::Version
|
220
234
|
version: '0'
|
221
235
|
requirements: []
|
222
236
|
rubyforge_project: webtopay
|
223
|
-
rubygems_version:
|
237
|
+
rubygems_version: 1.8.24
|
224
238
|
signing_key:
|
225
|
-
specification_version:
|
239
|
+
specification_version: 3
|
226
240
|
summary: Provides integration with http://www.webtopay.com (mokejimai.lt) payment
|
227
241
|
system
|
228
242
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: ff4f52a85253c3642d03c9f73fbdea3b6078a47c
|
4
|
-
data.tar.gz: 9bfca8246d27fc7d85e7924520acf2f476594b06
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: dbfac9082c0800b94d4052ab6e9c21a691c2ef2308d1634253722ec7e28cc3c1df3c8a52a93406b372b9bc6c7b59970606a1cf4bbc7f71f1641966162200a0e8
|
7
|
-
data.tar.gz: 12ad2c8eaad9d42bd1e1fe325b7f5f28761e1c812392c232e08bd8a296ff912528c7ee6a95b0b7860cd1d92190be8e82ed790c0dc32a53558ed835b4397cae31
|