rubykassa 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -1
- data/README.md +4 -0
- data/app/controllers/robokassa_controller.rb +4 -4
- data/config/routes.rb +1 -1
- data/lib/rubykassa/action_view_extension.rb +3 -2
- data/lib/rubykassa/payment_interface.rb +7 -3
- data/lib/rubykassa/version.rb +1 -1
- data/spec/rubykassa/payment_interface_spec.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9853afe8fbe86ab00ff98d3dce3400f53ee12174
|
4
|
+
data.tar.gz: 749c93e75d2f6aaf75e8b53d297aebe24cb1980c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e54ae545570baecfab863f0044f120fe701b5eac77c516545e07d4918095c63703fdc9594fdad9ef1d2ea0161c4b23b57208421a841851b0a09deae0ea17d96
|
7
|
+
data.tar.gz: 6890ca424c90fbe83e3dccedb894c2830a4d3ca2b54af7607691ad5bac78a4ab1926272da1bdce161ea5dbce73368bc31828f1ace981e5ec7cd791f4382f6935
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.2.5
|
2
|
+
|
3
|
+
* Fix bug with passing custom params
|
4
|
+
|
1
5
|
## 0.2.4
|
2
6
|
|
3
7
|
* Fix naming issue with pay helper: rename 'link_to_pay' to 'pay_url'.
|
@@ -14,4 +18,4 @@
|
|
14
18
|
|
15
19
|
* Fix description param name from `'InvDesc'` to `'Desc'`. Closes [#2][]
|
16
20
|
|
17
|
-
[#2]: https://github.com/ZeroOneStudio/rubykassa/issues/2
|
21
|
+
[#2]: https://github.com/ZeroOneStudio/rubykassa/issues/2
|
data/README.md
CHANGED
@@ -48,6 +48,10 @@ Additionally you may want to pass extra options. There is no problem:
|
|
48
48
|
|
49
49
|
<%= pay_url "Pay with Robokassa", ivoice_id, total_sum, { description: "Invoice description", email: "foo@bar.com", currency: "WMZM", culture: :ru } %>
|
50
50
|
|
51
|
+
Or if you would like to pass some custom params use `custom` key in options hash:
|
52
|
+
|
53
|
+
<%= pay_url "Pay with Robokassa", ivoice_id, total_sum, { description: "Invoice description", email: "foo@bar.com", currency: "WMZM", culture: :ru, custom: { param1: "value1", param2: "value2" }} %>
|
54
|
+
|
51
55
|
If you need to implement Robokassa's XML interface functionality you have to the following:
|
52
56
|
|
53
57
|
xml_interface = Rubykassa::XmlInterface.new do
|
@@ -22,9 +22,9 @@ class RobokassaController < ApplicationController
|
|
22
22
|
render text: "fail"
|
23
23
|
end
|
24
24
|
|
25
|
-
private
|
25
|
+
private
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
def create_notification
|
28
|
+
@notification = Rubykassa::Notification.new params
|
29
|
+
end
|
30
30
|
end
|
data/config/routes.rb
CHANGED
@@ -3,7 +3,7 @@ Rails.application.routes.draw do
|
|
3
3
|
if Rubykassa::Client.configuration
|
4
4
|
scope '/robokassa' do
|
5
5
|
%w(paid success fail).map do |route|
|
6
|
-
method(Rubykassa.http_method).call "/#{route}" => "robokassa##{route}", as: "robokassa_#{route}"
|
6
|
+
method(Rubykassa.http_method).call "/#{route}" => "robokassa##{route}", as: "robokassa_#{route}"
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -2,9 +2,10 @@
|
|
2
2
|
module Rubykassa
|
3
3
|
module ActionViewExtension
|
4
4
|
def pay_url phrase, invoice_id, total, options = {}
|
5
|
-
phrase ||= "Pay"
|
6
5
|
total, invoice_id = total.to_s, invoice_id.to_s
|
7
|
-
|
6
|
+
extra_params = options.except(:custom)
|
7
|
+
custom_params = options[:custom] ||= {}
|
8
|
+
link_to phrase, Rubykassa.pay_url(invoice_id, total, custom_params, extra_params)
|
8
9
|
end
|
9
10
|
end
|
10
11
|
end
|
@@ -34,8 +34,12 @@ module Rubykassa
|
|
34
34
|
options = options.slice(:currency, :description, :email, :culture)
|
35
35
|
|
36
36
|
"#{base_url}?" + initial_options.merge(options).map do |key, value|
|
37
|
-
|
38
|
-
|
37
|
+
if key =~ /^shp/
|
38
|
+
"#{key}=#{value}"
|
39
|
+
else
|
40
|
+
"#{PARAMS_CONFORMITY[key]}=#{value}"
|
41
|
+
end
|
42
|
+
end.compact.join("&")
|
39
43
|
end
|
40
44
|
|
41
45
|
def initial_options
|
@@ -47,4 +51,4 @@ module Rubykassa
|
|
47
51
|
}.merge(Hash[@params.sort.map {|param_name| ["shp#{param_name[0]}".to_sym, param_name[1]]}])
|
48
52
|
end
|
49
53
|
end
|
50
|
-
end
|
54
|
+
end
|
data/lib/rubykassa/version.rb
CHANGED
@@ -6,7 +6,7 @@ describe Rubykassa::PaymentInterface do
|
|
6
6
|
@payment_interface = Rubykassa::PaymentInterface.new do
|
7
7
|
self.invoice_id = 12
|
8
8
|
self.total = 1200
|
9
|
-
self.params = {foo: "bar"}
|
9
|
+
self.params = { foo: "bar" }
|
10
10
|
end
|
11
11
|
|
12
12
|
Rubykassa.configure do |config|
|
@@ -18,11 +18,11 @@ describe Rubykassa::PaymentInterface do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should return correct pay_url" do
|
21
|
-
@payment_interface.pay_url.should == "http://test.robokassa.ru/Index.aspx?MrchLogin=your_login&OutSum=1200&InvId=12&SignatureValue=96c0bbd4fc8f365455e949b1fbf5e3f4"
|
21
|
+
@payment_interface.pay_url.should == "http://test.robokassa.ru/Index.aspx?MrchLogin=your_login&OutSum=1200&InvId=12&SignatureValue=96c0bbd4fc8f365455e949b1fbf5e3f4&shpfoo=bar"
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should return correct pay_url when additional options passed" do
|
25
|
-
@payment_interface.pay_url({description: "desc", culture: "ru", email: "foo@bar.com", currency: ""}).should == "http://test.robokassa.ru/Index.aspx?MrchLogin=your_login&OutSum=1200&InvId=12&SignatureValue=96c0bbd4fc8f365455e949b1fbf5e3f4&IncCurrLabel=&Desc=desc&Email=foo@bar.com&Culture=ru"
|
25
|
+
@payment_interface.pay_url({description: "desc", culture: "ru", email: "foo@bar.com", currency: ""}).should == "http://test.robokassa.ru/Index.aspx?MrchLogin=your_login&OutSum=1200&InvId=12&SignatureValue=96c0bbd4fc8f365455e949b1fbf5e3f4&shpfoo=bar&IncCurrLabel=&Desc=desc&Email=foo@bar.com&Culture=ru"
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should return correct initial_options" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubykassa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergey Kishenin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|