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 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