opay 1.2.8 → 1.3.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 +4 -4
- data/app/controllers/opay/transferuj_controller.rb +12 -0
- data/config/routes.rb +10 -0
- data/lib/generators/opay/templates/opay_config.rb +5 -1
- data/lib/opay/configuration.rb +9 -1
- data/lib/opay/engine.rb +1 -0
- data/lib/opay/form_builder.rb +1 -0
- data/lib/opay/helpers/form_helper.rb +4 -0
- data/lib/opay/helpers/transferuj_helper.rb +39 -0
- data/lib/opay/helpers.rb +1 -0
- data/lib/opay/providers/transferuj.rb +44 -0
- data/lib/opay/providers.rb +1 -0
- data/lib/opay/version.rb +1 -1
- data/spec/dummy/app/views/orders/show.html.erb +7 -2
- data/spec/dummy/config/initializers/opay_config.rb +7 -3
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/log/development.log +1167 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0f0caea5a066b3808a988b401cad530a7fd28c3
|
4
|
+
data.tar.gz: 7f976f362a89553cf3ec02eead51a537d59e75ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26c4bd481500c71ab9fb89750a2120e8014885bac4facbedbc564a60a37f9ff20c4c181ba0043b62ae73f2f60d5c99f6002b439397d6055c238609ae326270ca
|
7
|
+
data.tar.gz: e01fbe6d5bb7d0fb54ec760abf933377cede209ee07463c2331a052045065caf7c0bb1239962693b8fba471ac18f7841c3c8b484c4f482c208fc0d11d99dfb2f
|
data/config/routes.rb
CHANGED
@@ -9,6 +9,16 @@ Opay::Engine.routes.draw do
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
+
# transferuj
|
13
|
+
scope 'transferuj' do
|
14
|
+
post 'online' => 'transferuj#online', as: :transferuj_online
|
15
|
+
|
16
|
+
if Opay.config.process_payments_localy
|
17
|
+
patch 'secure' => 'transferuj#secure', as: :transferuj_new_payment
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
12
22
|
# paypal
|
13
23
|
scope 'paypal' do
|
14
24
|
patch 'new' => 'paypal#new', as: :paypal_new_payment
|
@@ -1,5 +1,5 @@
|
|
1
1
|
Opay.configure do |config|
|
2
|
-
config.providers = [:payu, :paypal]
|
2
|
+
config.providers = [:payu, :transferuj, :paypal]
|
3
3
|
|
4
4
|
config.test_mode = true
|
5
5
|
# config.process_payments_localy = true if Rails.env.development?
|
@@ -13,6 +13,10 @@ Opay.configure do |config|
|
|
13
13
|
config.payu_key1 = ENV['PAYU_KEY1']
|
14
14
|
config.payu_key2 = ENV['PAYU_KEY2']
|
15
15
|
|
16
|
+
# transferuj configuration
|
17
|
+
config.transferuj_user_id = ENV['TRANSFERUJ_USER_ID']
|
18
|
+
config.transferuj_secure_code = ENV['TRANSFERUJ_SECURE_CODE']
|
19
|
+
|
16
20
|
# paypal configuration
|
17
21
|
config.paypal_login = ENV['PAYPAL_LOGIN']
|
18
22
|
config.paypal_password = ENV['PAYPAL_PASSWORD']
|
data/lib/opay/configuration.rb
CHANGED
@@ -13,6 +13,10 @@ module Opay
|
|
13
13
|
config_accessor :payu_key1
|
14
14
|
config_accessor :payu_key2
|
15
15
|
|
16
|
+
# transferuj configuration
|
17
|
+
config_accessor :transferuj_user_id
|
18
|
+
config_accessor :transferuj_secure_code
|
19
|
+
|
16
20
|
# paypal configuration
|
17
21
|
config_accessor :paypal_login
|
18
22
|
config_accessor :paypal_password
|
@@ -37,7 +41,7 @@ module Opay
|
|
37
41
|
# Sets configuration back to default
|
38
42
|
def reset_config
|
39
43
|
configure do |config|
|
40
|
-
config.providers = [:payu, :paypal]
|
44
|
+
config.providers = [:payu, :transferuj, :paypal]
|
41
45
|
|
42
46
|
config.success_url = :success_payment_url
|
43
47
|
config.cancel_url = :cancel_payment_url
|
@@ -48,6 +52,10 @@ module Opay
|
|
48
52
|
config.payu_key1 = ENV['PAYU_KEY1']
|
49
53
|
config.payu_key2 = ENV['PAYU_KEY2']
|
50
54
|
|
55
|
+
# transferuj configuration
|
56
|
+
config.transferuj_user_id = ENV['TRANSFERUJ_USER_ID']
|
57
|
+
config.transferuj_secure_code = ENV['TRANSFERUJ_SECURE_CODE']
|
58
|
+
|
51
59
|
# paypal configuration
|
52
60
|
config.paypal_login = ENV['PAYPAL_LOGIN']
|
53
61
|
config.paypal_password = ENV['PAYPAL_PASSWORD']
|
data/lib/opay/engine.rb
CHANGED
data/lib/opay/form_builder.rb
CHANGED
@@ -12,6 +12,8 @@ module Opay
|
|
12
12
|
case @payment_provider
|
13
13
|
when :payu
|
14
14
|
return payu_form_for(record, options, &block)
|
15
|
+
when :transferuj
|
16
|
+
return transferuj_form_for(record, options, &block)
|
15
17
|
when :paypal
|
16
18
|
return paypal_form_for(record, options, &block)
|
17
19
|
end
|
@@ -24,6 +26,8 @@ module Opay
|
|
24
26
|
case @options[:provider]
|
25
27
|
when :payu
|
26
28
|
payu_payment_info(options)
|
29
|
+
when :transferuj
|
30
|
+
transferuj_payment_info(options)
|
27
31
|
when :paypal
|
28
32
|
paypal_payment_info(options)
|
29
33
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Opay
|
2
|
+
module Helpers
|
3
|
+
|
4
|
+
module TransferujHelper
|
5
|
+
|
6
|
+
def transferuj_form_for(record, options = {}, &block)
|
7
|
+
record.prepare_payment
|
8
|
+
|
9
|
+
options[:builder] ||= Opay::FormBuilder
|
10
|
+
options[:url] = Opay::Providers::Transferuj.url
|
11
|
+
options[:html] = { id: "transferuj_payment_form_#{record.id}", class: 'opay-form opay-transferuj-form' }
|
12
|
+
|
13
|
+
form_for(record, options, &block)
|
14
|
+
end
|
15
|
+
|
16
|
+
def transferuj_payment_info(options = {})
|
17
|
+
options[:id] ||= Opay.config.transferuj_user_id
|
18
|
+
options[:crc] ||= object.payment_session_id
|
19
|
+
|
20
|
+
options[:kwota] ||= object.amount
|
21
|
+
options[:opis] ||= options[:desc].present? ? options[:desc] : object.payment_description
|
22
|
+
|
23
|
+
options[:imie] ||= options[:first_name].present? ? options[:first_name] : object.first_name
|
24
|
+
options[:nazwisko] ||= options[:last_name].present? ? options[:last_name] : object.last_name
|
25
|
+
options[:email] ||= object.email
|
26
|
+
|
27
|
+
options[:pow_url] ||= @template.main_app.send(Opay.config.success_url)
|
28
|
+
options[:pow_url_blad] ||= @template.main_app.send(Opay.config.cancel_url)
|
29
|
+
|
30
|
+
# options[:pay_type] = 't' if Opay.config.test_mode
|
31
|
+
options[:md5sum] = Providers::Transferuj.create_form_sig(options)
|
32
|
+
|
33
|
+
options.except(:first_name, :last_name, :desc).map { |key, val| @template.hidden_field_tag(key, val) }.join("\n").html_safe
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
data/lib/opay/helpers.rb
CHANGED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'uri'
|
3
|
+
|
4
|
+
module Opay
|
5
|
+
module Providers
|
6
|
+
|
7
|
+
class Transferuj
|
8
|
+
TRANSFERUJ_URL = 'https://secure.transferuj.pl/'
|
9
|
+
|
10
|
+
def self.process(params)
|
11
|
+
return false unless verify_sig(params[:md5sum], params[:id], params[:tr_id], params[:tr_amount], params[:tr_crc])
|
12
|
+
|
13
|
+
if params[:tr_status] == 'TRUE'
|
14
|
+
payment = Opay::Payment.where(session_id: params[:tr_crc]).first!
|
15
|
+
payment.payable.finish
|
16
|
+
end
|
17
|
+
|
18
|
+
return true
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.url
|
22
|
+
Opay.config.process_payments_localy == true ? '/opay/transferuj/secure' : TRANSFERUJ_URL
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.create_sig(*values)
|
26
|
+
Digest::MD5.hexdigest(values.join + Opay.config.transferuj_secure_code)
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.verify_sig(sig, *values)
|
30
|
+
sig == Digest::MD5.hexdigest(values.join + Opay.config.transferuj_secure_code)
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.create_form_sig(options)
|
34
|
+
sig_string = ''
|
35
|
+
%w( id kwota crc ).each do |key|
|
36
|
+
sig_string += options[key.to_sym].to_s if options.has_key?(key.to_sym)
|
37
|
+
end
|
38
|
+
|
39
|
+
create_sig(sig_string)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
end
|
data/lib/opay/providers.rb
CHANGED
data/lib/opay/version.rb
CHANGED
@@ -18,15 +18,20 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
<%= opay_form_for @order, provider: :payu do |f| %>
|
21
|
-
<%= f.payment_info first_name: 'Jan', last_name: 'Kowalski', email: 'kowalski@gmail.com', desc:
|
21
|
+
<%= f.payment_info first_name: 'Jan', last_name: 'Kowalski', email: 'kowalski@gmail.com', desc: @order.name, client_ip: '127.0.0.1' %>
|
22
22
|
<%= f.submit :pay_with_payu %>
|
23
23
|
<% end -%>
|
24
24
|
|
25
25
|
<%= opay_form_for @order, provider: :paypal do |f| %>
|
26
|
-
<%= f.paypal_payment_info desc:
|
26
|
+
<%= f.paypal_payment_info desc: @order.name, client_ip: '127.0.0.1' %>
|
27
27
|
<%= f.paypal_submit_tag %>
|
28
28
|
<% end -%>
|
29
29
|
|
30
|
+
<%= opay_form_for @order, provider: :transferuj do |f| %>
|
31
|
+
<%= f.payment_info first_name: 'Jan', last_name: 'Kowalski', email: 'kowalski@gmail.com', desc: @order.name %>
|
32
|
+
<%= f.submit :pay_with_transferuj %>
|
33
|
+
<% end -%>
|
34
|
+
|
30
35
|
|
31
36
|
<%= link_to 'Edit', edit_order_path(@order) %> |
|
32
37
|
<%= link_to 'Back', orders_path %>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# WebMock.disable! if Rails.env.development?
|
2
2
|
|
3
3
|
Opay.configure do |config|
|
4
|
-
config.providers = [:payu, :paypal]
|
4
|
+
config.providers = [:payu, :transferuj, :paypal]
|
5
5
|
|
6
|
-
config.success_url = :
|
7
|
-
config.cancel_url = :
|
6
|
+
config.success_url = :root_url
|
7
|
+
config.cancel_url = :root_url
|
8
8
|
|
9
9
|
# payu configuration
|
10
10
|
config.payu_pos_id = 123456
|
@@ -12,6 +12,10 @@ Opay.configure do |config|
|
|
12
12
|
config.payu_key1 = 'c0c4b1a6b72b610f9342ea6820ee3a9c'
|
13
13
|
config.payu_key2 = '2af5c662cab479e5471ca76326a57563'
|
14
14
|
|
15
|
+
# payu configuration
|
16
|
+
config.transferuj_user_id = 16059
|
17
|
+
config.transferuj_secure_code = 'EdDXG7F4L86svhcR'
|
18
|
+
|
15
19
|
# paypal configuration
|
16
20
|
config.paypal_login = 'ollownia-facilitator_api1.gmail.com'
|
17
21
|
config.paypal_password = '1395743145'
|
Binary file
|