catarse_pagarme 2.6.9 → 2.6.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +4 -4
- data/app/models/catarse_pagarme/payment_delegator.rb +26 -3
- data/app/views/catarse_pagarme/pagarme/review.html.slim +2 -2
- data/catarse_pagarme.gemspec +1 -1
- data/lib/catarse_pagarme/version.rb +1 -1
- data/spec/dummy/app/models/bank_account.rb +4 -0
- data/spec/dummy/app/models/payment.rb +1 -0
- data/spec/dummy/app/models/payment_transfer.rb +5 -0
- data/spec/models/catarse_pagarme/payment_delegator_spec.rb +18 -0
- data/spec/support/factories.rb +9 -6
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d92e0110e6013c6c87c538f4a48547dac7202e6
|
4
|
+
data.tar.gz: 180227927e1f49caf26b22fdc69c494b2b510020
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 490d4ed9b2618b4bd8c94d73dc4aba675d68b4ac6532833baec2915ca4d1e87ddd8320687b2cb0eb0ed8d03cb8d63910388f63f580561ff039a8ccc207e60459
|
7
|
+
data.tar.gz: dd0683eea582a5051ae4b2a505e740d7370a921e46959d084d8b519ddf48c3452242e4bc71a9bec43e53c9ba316d3d66b2fdc65ea5178cc04cb58b8063235dd7
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
catarse_pagarme (2.6.
|
5
|
-
pagarme (
|
4
|
+
catarse_pagarme (2.6.10)
|
5
|
+
pagarme (= 1.10.0)
|
6
6
|
rails (~> 4.0)
|
7
7
|
weekdays (>= 1.0.2)
|
8
8
|
|
@@ -57,7 +57,7 @@ GEM
|
|
57
57
|
minitest (5.4.0)
|
58
58
|
multi_json (1.11.0)
|
59
59
|
netrc (0.10.3)
|
60
|
-
pagarme (1.
|
60
|
+
pagarme (1.10.0)
|
61
61
|
multi_json
|
62
62
|
rest-client
|
63
63
|
pg (0.17.1)
|
@@ -97,7 +97,7 @@ GEM
|
|
97
97
|
rspec-core (~> 2.14.0)
|
98
98
|
rspec-expectations (~> 2.14.0)
|
99
99
|
rspec-mocks (~> 2.14.0)
|
100
|
-
sprockets (3.
|
100
|
+
sprockets (3.2.0)
|
101
101
|
rack (~> 1.0)
|
102
102
|
sprockets-rails (2.3.1)
|
103
103
|
actionpack (>= 3.0)
|
@@ -70,7 +70,7 @@ module CatarsePagarme
|
|
70
70
|
|
71
71
|
def transaction
|
72
72
|
@transaction ||= ::PagarMe::Transaction.find_by_id(self.payment.gateway_id)
|
73
|
-
if @transaction.kind_of?(Array)
|
73
|
+
if @transaction.kind_of?(Array)
|
74
74
|
@transaction.last
|
75
75
|
else
|
76
76
|
@transaction
|
@@ -78,8 +78,8 @@ module CatarsePagarme
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def get_installment(installment_number)
|
81
|
-
installment = get_installments['installments'].select do |
|
82
|
-
!
|
81
|
+
installment = get_installments['installments'].select do |_installment|
|
82
|
+
!_installment[installment_number.to_s].nil?
|
83
83
|
end
|
84
84
|
|
85
85
|
installment[installment_number.to_s]
|
@@ -92,6 +92,29 @@ module CatarsePagarme
|
|
92
92
|
})
|
93
93
|
end
|
94
94
|
|
95
|
+
# Transfer payment amount to payer bank account via transfers API
|
96
|
+
# Params:
|
97
|
+
# +authorized_by+:: +User+ object that authorize this transfer
|
98
|
+
def transfer_funds(authorized_by)
|
99
|
+
raise 'must be admin to perform this action' unless authorized_by.try(:admin?)
|
100
|
+
|
101
|
+
bank_account = PagarMe::BankAccount.new(bank_account_attributes.delete(:bank_account))
|
102
|
+
bank_account.create
|
103
|
+
raise "unable to create an bank account" unless bank_account.id.present?
|
104
|
+
|
105
|
+
transfer = PagarMe::Transfer.new({
|
106
|
+
bank_account_id: bank_account.id,
|
107
|
+
amount: value_for_transaction
|
108
|
+
})
|
109
|
+
transfer.create
|
110
|
+
|
111
|
+
payment.payment_transfers.create!({
|
112
|
+
user: authorized_by,
|
113
|
+
transfer_id: transfer.id,
|
114
|
+
transfer_data: transfer.to_json
|
115
|
+
})
|
116
|
+
end
|
117
|
+
|
95
118
|
protected
|
96
119
|
|
97
120
|
def bank_account_attributes
|
@@ -24,10 +24,10 @@
|
|
24
24
|
.w-col.w-col-1.w-sub-col
|
25
25
|
.w-radio.w-clearfix.back-payment-credit-card-radio-field
|
26
26
|
= radio_button_tag :payment_subscription_card, credit_card.card_key, i == 0, {"data-stored" => true}
|
27
|
-
.w-col.w-col-2.w-sub-col
|
27
|
+
.w-col.w-col-2.w-sub-col.w-sub-col-middle
|
28
28
|
.fontsize-small.fontweight-semibold.text-success
|
29
29
|
= credit_card.card_brand.upcase
|
30
|
-
.w-col.w-col-5.w-sub-col
|
30
|
+
.w-col.w-col-5.w-sub-col.w-sub-col-middle
|
31
31
|
.fontsize-small.fontweight-semibold.u-marginbottom-20
|
32
32
|
= "XXXX.XXXX.XXXX.#{credit_card.last_digits}"
|
33
33
|
.w-col.w-col-4
|
data/catarse_pagarme.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
19
19
|
|
20
20
|
s.add_dependency "rails", "~> 4.0"
|
21
|
-
s.add_dependency "pagarme", "
|
21
|
+
s.add_dependency "pagarme", "1.10.0"
|
22
22
|
s.add_dependency "weekdays", ">= 1.0.2"
|
23
23
|
|
24
24
|
s.add_development_dependency "rspec-rails", "~> 2.14.0"
|
@@ -100,6 +100,24 @@ describe CatarsePagarme::PaymentDelegator do
|
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
103
|
+
describe "#transfer_funds" do
|
104
|
+
let(:admin_user) { create(:user, admin: true) }
|
105
|
+
before do
|
106
|
+
create(:bank_account, user: payment.user)
|
107
|
+
allow(payment.user).to receive(:admin?).and_return(true)
|
108
|
+
end
|
109
|
+
|
110
|
+
it do
|
111
|
+
transfer = delegator.transfer_funds(admin_user)
|
112
|
+
|
113
|
+
expect(payment.payment_transfers.count).to eq(1)
|
114
|
+
expect(transfer.payment).to eq(payment)
|
115
|
+
expect(transfer.user).to eq(admin_user)
|
116
|
+
expect(transfer.transfer_id).to eq(transfer.transfer_data["id"])
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
|
103
121
|
describe "#change_status_by_transaction" do
|
104
122
|
|
105
123
|
%w(paid authorized).each do |status|
|
data/spec/support/factories.rb
CHANGED
@@ -33,17 +33,17 @@ FactoryGirl.define do
|
|
33
33
|
|
34
34
|
factory :bank do |f|
|
35
35
|
f.name { generate(:uid) }
|
36
|
-
f.code
|
36
|
+
f.code '237'
|
37
37
|
end
|
38
38
|
|
39
39
|
factory :bank_account do |f|
|
40
40
|
f.association :bank
|
41
|
-
f.account '
|
42
|
-
f.account_digit '
|
43
|
-
f.agency '
|
41
|
+
f.account '25334'
|
42
|
+
f.account_digit '2'
|
43
|
+
f.agency '1432'
|
44
44
|
f.agency_digit '2'
|
45
|
-
f.owner_name '
|
46
|
-
f.owner_document '
|
45
|
+
f.owner_name 'Lorem amenori'
|
46
|
+
f.owner_document '11111111111'
|
47
47
|
end
|
48
48
|
|
49
49
|
factory :project do |f|
|
@@ -64,6 +64,9 @@ FactoryGirl.define do
|
|
64
64
|
f.association :project, factory: :project
|
65
65
|
f.association :user, factory: :user
|
66
66
|
f.value 10.00
|
67
|
+
f.payer_name 'Foo Bar'
|
68
|
+
f.payer_email 'foo@bar.com'
|
69
|
+
f.anonymous false
|
67
70
|
after :create do |contribution|
|
68
71
|
create(:payment, paid_at: Time.now, gateway_id: '1.2.3', state: 'paid', value: contribution.value, contribution: contribution)
|
69
72
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: catarse_pagarme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antônio Roberto Silva
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-06-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -29,16 +29,16 @@ dependencies:
|
|
29
29
|
name: pagarme
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - '='
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 1.
|
34
|
+
version: 1.10.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '='
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 1.
|
41
|
+
version: 1.10.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: weekdays
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -166,6 +166,7 @@ files:
|
|
166
166
|
- spec/dummy/app/models/payment.rb
|
167
167
|
- spec/dummy/app/models/payment_engines.rb
|
168
168
|
- spec/dummy/app/models/payment_notification.rb
|
169
|
+
- spec/dummy/app/models/payment_transfer.rb
|
169
170
|
- spec/dummy/app/models/project.rb
|
170
171
|
- spec/dummy/app/models/user.rb
|
171
172
|
- spec/dummy/app/models/user_total.rb
|
@@ -253,6 +254,7 @@ test_files:
|
|
253
254
|
- spec/dummy/app/models/payment.rb
|
254
255
|
- spec/dummy/app/models/payment_engines.rb
|
255
256
|
- spec/dummy/app/models/payment_notification.rb
|
257
|
+
- spec/dummy/app/models/payment_transfer.rb
|
256
258
|
- spec/dummy/app/models/project.rb
|
257
259
|
- spec/dummy/app/models/user.rb
|
258
260
|
- spec/dummy/app/models/user_total.rb
|