spree_pag_seguro 1.0.3 → 1.0.4
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/app/models/spree/pag_seguro_payment.rb +3 -28
- data/app/models/spree/payment_decorator.rb +3 -0
- data/app/models/spree/payment_method/pag_seguro_method.rb +38 -1
- data/app/views/spree/checkout/payment/_order_details.html.erb +1 -1
- data/db/migrate/20120216223731_create_db:migrate:20120216223950_create_spree_pag_seguro_payments.rb +2 -1
- metadata +56 -20
@@ -1,7 +1,7 @@
|
|
1
1
|
module Spree
|
2
2
|
class PagSeguroPayment < ActiveRecord::Base
|
3
3
|
attr_accessor :order_id
|
4
|
-
|
4
|
+
belongs_to :payment
|
5
5
|
|
6
6
|
def process!(payment)
|
7
7
|
order = payment.order
|
@@ -12,7 +12,7 @@ module Spree
|
|
12
12
|
Order.pag_seguro_payment_method.preferred_email,
|
13
13
|
Order.pag_seguro_payment_method.preferred_token,
|
14
14
|
redirect_url: redirect_url,
|
15
|
-
extra_amount: format("%.2f",
|
15
|
+
extra_amount: format("%.2f", order.shipment.amount.round(2)),
|
16
16
|
id: order.id)
|
17
17
|
|
18
18
|
pag_seguro_payment.items = order.line_items.map do |item|
|
@@ -29,33 +29,8 @@ module Spree
|
|
29
29
|
pag_seguro_payment.shipping = ::PagSeguro::Shipping.new(type: ::PagSeguro::Shipping::SEDEX, state: order.ship_address.state.abbr, city: order.ship_address.city, postal_code: order.ship_address.zipcode, street: order.ship_address.address1, complement: order.ship_address.address2)
|
30
30
|
self.code = pag_seguro_payment.code
|
31
31
|
self.date = pag_seguro_payment.date
|
32
|
+
self.payment = payment
|
32
33
|
self.save
|
33
34
|
end
|
34
|
-
|
35
|
-
def actions
|
36
|
-
%w{capture void}
|
37
|
-
end
|
38
|
-
|
39
|
-
# Indicates whether its possible to capture the payment
|
40
|
-
def can_capture?(payment)
|
41
|
-
['processing', 'checkout', 'pending'].include?(payment.state)
|
42
|
-
end
|
43
|
-
|
44
|
-
# Indicates whether its possible to void the payment.
|
45
|
-
def can_void?(payment)
|
46
|
-
payment.state != 'void'
|
47
|
-
end
|
48
|
-
|
49
|
-
def capture(payment)
|
50
|
-
payment.update_attribute(:state, 'pending') if payment.state == 'checkout'
|
51
|
-
payment.complete
|
52
|
-
true
|
53
|
-
end
|
54
|
-
|
55
|
-
def void(payment)
|
56
|
-
payment.update_attribute(:state, 'pending') if payment.state == 'checkout'
|
57
|
-
payment.void
|
58
|
-
true
|
59
|
-
end
|
60
35
|
end
|
61
36
|
end
|
@@ -2,9 +2,46 @@ module Spree
|
|
2
2
|
class PaymentMethod::PagSeguroMethod < PaymentMethod
|
3
3
|
preference :email, :string
|
4
4
|
preference :token, :string
|
5
|
+
has_many :payments, :as => :source
|
6
|
+
|
7
|
+
def actions
|
8
|
+
%w{capture void}
|
9
|
+
end
|
10
|
+
|
11
|
+
# Indicates whether its possible to capture the payment
|
12
|
+
def can_capture?(payment)
|
13
|
+
['checkout', 'pending'].include?(payment.state)
|
14
|
+
end
|
15
|
+
|
16
|
+
# Indicates whether its possible to void the payment.
|
17
|
+
def can_void?(payment)
|
18
|
+
payment.state != 'void'
|
19
|
+
end
|
20
|
+
|
21
|
+
def capture(*args)
|
22
|
+
ActiveMerchant::Billing::Response.new(true, "", {}, {})
|
23
|
+
end
|
24
|
+
|
25
|
+
def void(*args)
|
26
|
+
ActiveMerchant::Billing::Response.new(true, "", {}, {})
|
27
|
+
end
|
5
28
|
|
6
29
|
def payment_source_class
|
7
|
-
|
30
|
+
self.class
|
31
|
+
end
|
32
|
+
|
33
|
+
def source_required?
|
34
|
+
false
|
35
|
+
end
|
36
|
+
|
37
|
+
def code(payment)
|
38
|
+
if payment.pag_seguro_payment.present?
|
39
|
+
payment.pag_seguro_payment.code
|
40
|
+
else
|
41
|
+
pag_seguro_payment = Spree::PagSeguroPayment.new
|
42
|
+
pag_seguro_payment.process!(payment)
|
43
|
+
pag_seguro_payment.code
|
44
|
+
end
|
8
45
|
end
|
9
46
|
end
|
10
47
|
end
|
@@ -3,6 +3,6 @@
|
|
3
3
|
Seu pagamento foi aprovado pelo PagSeguro através da transação de código: <%= @order.payment_notifications.last.transaction_id if @order.payment_notifications.present? %>
|
4
4
|
<% else %>
|
5
5
|
Clique na imagem abaixo para realizar o pagamento através do Pag Seguro.
|
6
|
-
<%= link_to image_tag("pag_seguro_checkout.gif"), PagSeguro::Payment.checkout_payment_url(@order.
|
6
|
+
<%= link_to image_tag("pag_seguro_checkout.gif"), PagSeguro::Payment.checkout_payment_url(@order.payment_method.code(@order.payment)) %>
|
7
7
|
<% end %>
|
8
8
|
<% end %>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_pag_seguro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,44 +9,59 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: spree_core
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: 1.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.1.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: pag_seguro
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
31
36
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
37
|
+
version: 0.2.3
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.2.3
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: capybara
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
|
-
- - =
|
51
|
+
- - '='
|
42
52
|
- !ruby/object:Gem::Version
|
43
53
|
version: 1.0.1
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.1
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: factory_girl
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: ffaker
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rspec-rails
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ~>
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '2.7'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '2.7'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: sqlite3
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,7 +117,12 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
description: Spree extension for integration with PagSeguro payment. Based on spree_pp_website_standart
|
92
127
|
gem
|
93
128
|
email: tomekrs@o2.pl
|
@@ -108,6 +143,7 @@ files:
|
|
108
143
|
- app/controllers/spree/pag_seguro_controller.rb
|
109
144
|
- app/models/spree/order_decorator.rb
|
110
145
|
- app/models/spree/pag_seguro_payment.rb
|
146
|
+
- app/models/spree/payment_decorator.rb
|
111
147
|
- app/models/spree/payment_method/pag_seguro_method.rb
|
112
148
|
- app/models/spree/payment_notification.rb
|
113
149
|
- app/overrides/replace_payment_info.rb
|
@@ -279,7 +315,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
279
315
|
requirements:
|
280
316
|
- none
|
281
317
|
rubyforge_project:
|
282
|
-
rubygems_version: 1.8.
|
318
|
+
rubygems_version: 1.8.23
|
283
319
|
signing_key:
|
284
320
|
specification_version: 3
|
285
321
|
summary: Spree extension for integration with PagSeguro payment
|