braspag_rails 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 85422c6112828cbaaec3927f5ab1e2962fd99553
4
- data.tar.gz: 4fa672a9e9df4b3bb6a9ec5c28ad1cfb8520638d
3
+ metadata.gz: e90c8b5759aec7aa47a292b56fe618db1b272253
4
+ data.tar.gz: 1ed9c445778542393dceb4726964fbc39b5f235e
5
5
  SHA512:
6
- metadata.gz: ad4e93da71fc710dca689b8ebe6bdac9a51f71c474d8eadea28f250b027cea2e7866287d7af70deed1f455ec891ccdad9ecc56d13d4e5ed2af2b9742398596f3
7
- data.tar.gz: 1bedd2dabcd13a38e7bb2b439b9e36bba76e6d17608a97499585ce46881e2daeca878e2d5d924fe652f50d6bd0f6408cf75fb64335dd35a70a5bef01492b0c21
6
+ metadata.gz: c3443b7d9149d9387c8bb2bc516ca2eadb1b07ea2cf11408db2d37735a0d1d0bbee32df349701b41a52b777dcb1bfc0d1e77e237d11915d65435fca4f8ad3dca
7
+ data.tar.gz: e3979802e51e4f3972af7688000e81d45ddd24ee62b6461257380a1fe73d59a828f3076b8cfa62aa273abc5da7aa4b8d669882c1f9372970b28e2fa366568ec0
@@ -62,7 +62,96 @@ module BraspagRails
62
62
  # taxa_servico = Taxa do Serviço (em centavos)
63
63
 
64
64
 
65
- def self.analisar(comprador, endereco, browser, cartao, produtos, pedido)
65
+ def self.analisar(comprador, endereco, browser, cartao, produtos, pedido, dados_adicionais)
66
+ itens_data = []
67
+ produtos.each do |produto|
68
+ itens_data << {
69
+ GiftCategory: produto[:avaliacoes][:endereco],
70
+ HostHedge: produto[:avaliacoes][:host],
71
+ NonSensicalHedge: produto[:avaliacoes][:nonsensical],
72
+ ObscenitiesHedge: produto[:avaliacoes][:obscenidades],
73
+ PhoneHedge: produto[:avaliacoes][:telefone],
74
+ ProductData: {
75
+ Code: "Default",
76
+ Name: produto[:descricao],
77
+ Risk: produto[:avaliacoes][:chargebacks],
78
+ Sku: produto[:codigo],
79
+ Quantity: produto[:quantidade],
80
+ UnitPrice: produto[:valor_unitario]
81
+ },
82
+ TimeHedge: produto[:avaliacoes][:horario],
83
+ VelocityHedge: produto[:avaliacoes][:tempo]
84
+ }
85
+ end
86
+ itens_additional_data = []
87
+ dados_adicionais.each do |key, value|
88
+ itens_additional_data << {
89
+ Id: key,
90
+ Value: value
91
+ }
92
+ end
93
+ resp = fraud_analysis(message:{
94
+ request: {
95
+ RequestId: SecureRandom.uuid,
96
+ Version: "1.1",
97
+ MerchantId: BraspagRails.config['merchant_id'],
98
+ AntiFraudSequenceType: "AnalyseOnly",
99
+ DocumentData: {
100
+ Cpf: comprador[:cpf]
101
+ },
102
+ AntiFraudRequest: {
103
+ BillToData: {
104
+ City: endereco[:cidade],
105
+ Country: endereco[:pais],
106
+ CustomerId: comprador[:id],
107
+ Email: comprador[:email],
108
+ HostName: browser[:host_name],
109
+ HttpBrowserCookiesAccepted: browser[:cookies],
110
+ HttpBrowserType: browser[:nome],
111
+ IpAddress: browser[:ip],
112
+ FirstName: cartao[:primeiro_nome],
113
+ LastName: cartao[:ultimo_nome],
114
+ PostalCode: endereco[:cep],
115
+ State: endereco[:estado],
116
+ Street1: endereco[:rua],
117
+ Street2: endereco[:complemento]
118
+ },
119
+ CardData: {
120
+ AccountNumber: cartao[:numero],
121
+ Card: cartao[:bandeira],
122
+ ExpirationMonth: cartao[:mes_expiracao],
123
+ ExpirationYear: cartao[:ano_expiracao],
124
+ },
125
+ ItemDataCollection: {
126
+ ItemData: itens_data
127
+ },
128
+ AdditionalDataCollection: {
129
+ AdditionalData: itens_additional_data
130
+ },
131
+ MerchantReferenceCode: pedido[:id],
132
+ DeviceFingerprintID: pedido[:id],
133
+ PurchaseTotalsData: {
134
+ Currency: BraspagRails.config['currency'],
135
+ GrandTotalAmount: pedido[:valor_total],
136
+ },
137
+ ShipToData: {
138
+ City: endereco[:cidade],
139
+ Country: endereco[:pais],
140
+ FirstName: comprador[:primeiro_nome],
141
+ LastName: comprador[:ultimo_nome],
142
+ PostalCode: endereco[:cep],
143
+ ShippingMethod: "Other",
144
+ State: endereco[:estado],
145
+ Street1: endereco[:rua],
146
+ Street2: endereco[:complemento]
147
+ }
148
+ }
149
+ }
150
+ })
151
+ resp
152
+ end
153
+
154
+ def self.analisar_e_autorizar(comprador, endereco, browser, cartao, produtos, pedido)
66
155
  itens_data = []
67
156
  produtos.each do |produto|
68
157
  itens_data << {
@@ -108,7 +197,8 @@ module BraspagRails
108
197
  # PhoneNumber:
109
198
  PostalCode: endereco[:cep],
110
199
  State: endereco[:estado],
111
- Street1: endereco[:rua]
200
+ Street1: endereco[:rua],
201
+ Street2: endereco[:complemento]
112
202
  },
113
203
  # BusinessRulesScoreThreshold: Nível de risco aceitavel para ordenação de cada produto.
114
204
  CardData: {
@@ -117,9 +207,7 @@ module BraspagRails
117
207
  ExpirationMonth: cartao[:mes_expiracao],
118
208
  ExpirationYear: cartao[:ano_expiracao],
119
209
  },
120
- ItemDataCollection: {
121
- ItemData: itens_data
122
- },
210
+ ItemDataCollection: itens_data,
123
211
  MerchantReferenceCode: pedido[:id],
124
212
  DeviceFingerprintID: pedido[:sessionid],
125
213
  PurchaseTotalsData: {
@@ -135,7 +223,8 @@ module BraspagRails
135
223
  PostalCode: endereco[:cep],
136
224
  ShippingMethod: "Other",
137
225
  State: endereco[:estado],
138
- Street1: endereco[:rua]
226
+ Street1: endereco[:rua],
227
+ Street2: endereco[:complemento]
139
228
  },
140
229
  },
141
230
  AuthorizeTransactionRequest: {
@@ -169,9 +258,7 @@ module BraspagRails
169
258
  }
170
259
  })
171
260
  resp
172
- end
173
-
174
-
261
+ end
175
262
  # antiFraudTransactionId = Id da transação de antifraude a ser localizada.
176
263
  # status = Novo Status (ACCEPT ou REJECT)
177
264
  # comentario = Comentário associado a mudança de status.
@@ -1,3 +1,3 @@
1
1
  module BraspagRails
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: braspag_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonardo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-22 00:00:00.000000000 Z
11
+ date: 2015-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails