braspag_rails 0.0.4 → 0.0.5
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/lib/braspag_rails/transacoes/fraude.rb +96 -9
- data/lib/braspag_rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e90c8b5759aec7aa47a292b56fe618db1b272253
|
4
|
+
data.tar.gz: 1ed9c445778542393dceb4726964fbc39b5f235e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
+
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-
|
11
|
+
date: 2015-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|