catarse_pagarme 2.14.14 → 2.15.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16f486ce4e0f5f5b564836a9b67e79b7a9b087ad0258503bdf75a131947e2a76
4
- data.tar.gz: f4511696e43eceed7913675ef7c4f43f4159f616d17745ee9b47712b2c6ab256
3
+ metadata.gz: 33de3fd1e6afdac8723405f945acc3d89d97be9420eace3c44f354e01113de6f
4
+ data.tar.gz: b25b6ad732704f9faf108861a844936ba21722b7ab41be1fb06f155510413d9e
5
5
  SHA512:
6
- metadata.gz: 4a7626b41c62a8427cf572a3a59bd2f13a6f2777c6fc4cf401e7c6fc022ad59737fa9d12ed0cd97276d6743e37ef2ae9eb3537bf558b350abc2abd41a63dedaf
7
- data.tar.gz: 2bf89a458858a603bcbd3b5600e7bcb66f8ba1b0ff79cfcada3e427cfa9b81117e908f31adef0031b30b2f2c67cf366b8ad50d2b0b10e03677c6f3797c86aa9b
6
+ metadata.gz: 73b17f419b5ef6ab87886c5642dd83fccb1189737a3398e5698d6aaf5cb60457846816fc547185c5fbbcafd9c8092b78f55d0a3c26648e9de03643c1c9343007
7
+ data.tar.gz: 8740a9e7f9ce6296534ea70ba43d183788b850bc100dcf82a8bdf8631dcc3b53f519b27912e5ecdea0fd479e042da3534e6d1a819f4bf48042cabc8658e00d4f
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- catarse_pagarme (2.14.14)
4
+ catarse_pagarme (2.15.0)
5
5
  countries (= 3.0.0)
6
6
  konduto-ruby (= 2.1.0)
7
7
  pagarme (= 2.1.4)
@@ -8,6 +8,8 @@ module CatarsePagarme
8
8
  else
9
9
  antifraud_outcome = process_antifraud
10
10
 
11
+ self.payment.create_antifraud_analysis!(cost: CatarsePagarme.configuration.antifraud_tax)
12
+
11
13
  if antifraud_outcome.recommendation == :APPROVE
12
14
  self.transaction.capture
13
15
  elsif antifraud_outcome.recommendation == :DECLINE
@@ -5,102 +5,17 @@ module CatarsePagarme::FeeCalculatorConcern
5
5
 
6
6
  def get_fee
7
7
  return nil if self.payment.payment_method.blank? # We always depend on the payment_choice
8
- if self.payment.payment_method == ::CatarsePagarme::PaymentType::SLIP
9
- get_slip_fee
10
- else
11
- get_card_fee
12
- end
13
- end
14
-
15
- protected
16
- def get_slip_fee
17
- CatarsePagarme.configuration.slip_tax.to_f
18
- end
19
-
20
- def get_card_fee
21
- return nil if self.payment.gateway_data["acquirer_name"].blank? # Here we depend on the acquirer name
22
- fee = if %w(stone pagarme).include? self.payment.gateway_data["acquirer_name"]
23
- get_stone_fee
24
- else
25
- get_cielo_fee
26
- end
27
-
28
- fee + payment_cost
29
- end
30
8
 
31
- def payment_cost
32
- self.payment.gateway_data["cost"] / 100.0
33
- end
34
-
35
- def get_stone_fee
36
- self.payment.installments > 1 ? tax_calc_for_installment(stone_installment_tax) : tax_calc(stone_tax)
37
- end
9
+ transaction = PagarMe::Transaction.find(self.payment.gateway_id)
10
+ payables = transaction.payables
11
+ cost = transaction.cost.to_f / 100.00
12
+ payables_fee = payables_fee.to_a.sum(&:fee).to_f / 100.00
38
13
 
39
- def get_cielo_fee
40
- return nil if self.payment.gateway_data["card_brand"].blank? # Here we depend on the card_brand
41
- if self.payment.gateway_data["card_brand"] == 'amex'
42
- get_cielo_fee_for_amex
14
+ if self.payment.payment_method == ::CatarsePagarme::PaymentType::SLIP
15
+ cost + payables_fee
43
16
  else
44
- get_cielo_fee_for_non_amex
17
+ payables_fee == 0 ? cost : payables_fee
45
18
  end
46
19
  end
47
-
48
- def get_cielo_fee_for_amex
49
- self.payment.installments > 1 ? tax_calc_for_installment(cielo_installment_amex_tax) : tax_calc(cielo_installment_not_amex_tax)
50
- end
51
-
52
- def get_cielo_fee_for_non_amex
53
- current_tax = self.payment.gateway_data["card_brand"] == 'diners' ? installment_diners_tax : installment_not_diners_tax
54
- self.payment.installments > 1 ? tax_calc_for_installment(current_tax) : tax_calc(cielo_tax)
55
- end
56
-
57
- def tax_calc acquirer_tax
58
- ((self.payment.value * pagarme_tax) + cents_fee).round(2) + (self.payment.value * acquirer_tax).round(2)
59
- end
60
-
61
- def tax_calc_for_installment acquirer_tax
62
- (((self.payment.installment_value * self.payment.installments) * pagarme_tax) + cents_fee).round(2) + ((self.payment.installment_value * acquirer_tax).round(2) * self.payment.installments)
63
- end
64
-
65
- def antifraud_tax
66
- CatarsePagarme.configuration.antifraud_tax.to_f
67
- end
68
-
69
- def cents_fee
70
- CatarsePagarme.configuration.credit_card_cents_fee.to_f
71
- end
72
-
73
- def pagarme_tax
74
- CatarsePagarme.configuration.pagarme_tax.to_f
75
- end
76
-
77
- def cielo_tax
78
- CatarsePagarme.configuration.cielo_tax.to_f
79
- end
80
-
81
- def stone_tax
82
- CatarsePagarme.configuration.stone_tax.to_f
83
- end
84
-
85
- def stone_installment_tax
86
- CatarsePagarme.configuration.stone_installment_tax.to_f
87
- end
88
-
89
- def installment_diners_tax
90
- CatarsePagarme.configuration.cielo_installment_diners_tax.to_f
91
- end
92
-
93
- def installment_not_diners_tax
94
- CatarsePagarme.configuration.cielo_installment_not_diners_tax.to_f
95
- end
96
-
97
- def cielo_installment_amex_tax
98
- CatarsePagarme.configuration.cielo_installment_amex_tax.to_f
99
- end
100
-
101
- def cielo_installment_not_amex_tax
102
- CatarsePagarme.configuration.cielo_installment_not_amex_tax.to_f
103
- end
104
-
105
20
  end
106
21
  end
@@ -1,3 +1,3 @@
1
1
  module CatarsePagarme
2
- VERSION = "2.14.14"
2
+ VERSION = "2.15.0"
3
3
  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.14.14
4
+ version: 2.15.0
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: 2020-04-24 00:00:00.000000000 Z
12
+ date: 2020-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: countries