catarse_pagarme 2.6.9 → 2.6.10
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/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
|