iFrame para análise do Browser
Uma peça chave do fraudControl! é a análise do browser do comprador. Com esta informação é possível traçar uma “impressão digital” da máquina do comprador e avaliar a probabilidade daquela transação ser uma fraude onde, por exemplo, o computador está em um fuso horário da Rússia, mas o endereço de entrega é no RJ.
Segue abaixo o fluxo geral dos dados de transações envolvendo o antifraude:

Para permitir a análise, o Lojista precisa incluir na sua página de check-out um iFrame, com os campos abaixo:
|
Campo |
<
Descrição |
|
m |
Corresponde ao ID de Loja (merchantId) criado pela maxiPago!. Exemplo: 100 |
|
s |
Número do pedido (referenceNum) criado pelo Lojista. Este valor deve ser o mesmo passado no campo ‘referenceNum’ da API Exemplo: ORD12345678 |
|
k |
Chave secreta usada exclusivamente para a criação deste Hash. Esta chave deve ser solicitada para: suporte@maxipago.com Exemplo: key1234567890abcd |
|
h |
Hash HMAC-MD5 de validação, formado pela concatenação dos campos m e s, intercalados pelo símbolo * (asterisco) e computados pelo algoritmo MD5 com a chave k. Exemplo: fe220a160c7fa6f7fc104185f8663e45 |
O detalhamento do fluxo do cálculo do h está descrito no seguinte diagrama:

O iFrame fica, então, da seguinte forma:
<iframe width=”1” height=”1” frameborder=”0” src=”https://testauthentication.maxipago.net/redirection_service/logo?m=100&s=ORD12345678&h=fe220a160c7fa6f7fc104185f8663e45”> </iframe>
Kount – Requisições de Fraude
As chamadas para o fraudControl! já estão incluídas em nossa API. Portanto, não há a necessidade de métodos adicionais. Se o serviço estiver contratado, basta enviar uma transação para que ela seja verificada.
Para escolher quais transações serão passadas pelo serviço e quais serão processadas sem checagem de fraude, basta incluir o campo fraudCheck na requisição com os valores “Y” ou “N”. Ou se preferir solicite que todas as transações de cartão de crédito sejam enviadas para o fraudControl!
Kount – URL para envio dos dados
SANDBOX: https://testapi.maxipago.net/UniversalAPI/postXML
PRODUÇÃO: https://api.maxipago.net/UniversalAPI/postXML
Kount – Exemplo de chamada de autorização
<?xml version="1.0" encoding="UTF-8"?>
<transaction-request>
<version>3.1.1.15</version>
<verification>
<merchantId>store-id</merchantId>
<merchantKey>secret-key</merchantKey>
</verification>
<order>
<auth>
<processorID>1</processorID>
<referenceNum>K20151109-03</referenceNum>
<fraudCheck>Y</fraudCheck>
<ipAddress>123.123.123.123</ipAddress>
<billing>
<id>2546582</id>
<name>Fulano de Tal</name>
<address>Av. Republica Livre, 230</address>
<address2>16 Andar</address2>
<district>Centro</district>
<city>Sao Paulo</city>
<state>SP</state>
<postalcode>08021310</postalcode>
<country>BR</country>
<email>fulanodetal@email.com</email>
<type>Individual</type>
<gender>M</gender>
<birthDate>1982-03-08</birthDate>
<phones>
<phone>
<phoneType>Commercial</phoneType>
<phoneCountryCode>55</phoneCountryCode>
<phoneAreaCode>11</phoneAreaCode>
<phoneNumber>55554444</phoneNumber>
<phoneExtension>1234</phoneExtension>
</phone>
<phone>
<phoneType>Residential</phoneType>
<phoneCountryCode>55</phoneCountryCode>
<phoneAreaCode>11</phoneAreaCode>
<phoneNumber>55554444</phoneNumber>
<phoneExtension>1234</phoneExtension>
</phone>
</phones>
<documents>
<document>
<documentType>CPF</documentType>
<documentValue>259228370-60</documentValue>
</document>
<document>
<documentType>RG</documentType>
<documentValue>12546785-2Y</documentValue>
</document>
</documents>
</billing>
<shipping>
<id>OFFICE</id>
<name>Fulana de Tal</name>
<address>Rua de Teste, 123</address>
<address2>16 Andar</address2>
<district>Centro</district>
<city>Sao Paulo</city>
<state>SP</state>
<postalcode>12345000</postalcode>
<country>BR</country>
<type>Individual</type>
<gender>F</gender>
<birthDate>1982-03-08</birthDate>
<phones>
<phone>
<phoneType>Commercial</phoneType>
<phoneCountryCode>55</phoneCountryCode>
<phoneAreaCode>11</phoneAreaCode>
<phoneNumber>55554444</phoneNumber>
<phoneExtension>1234</phoneExtension>
</phone>
<phone>
<phoneType>Residential</phoneType>
<phoneCountryCode>55</phoneCountryCode>
<phoneAreaCode>11</phoneAreaCode>
<phoneNumber>55554444</phoneNumber>
<phoneExtension>1234</phoneExtension>
</phone>
</phones>
<documents>
<document>
<documentType>CPF</documentType>
<documentValue>128856789-80</documentValue>
</document>
<document>
<documentType>RG</documentType>
<documentValue>123456789-60Z</documentValue>
</document>
</documents>
</shipping>
<fraudDetails>
<fraudProcessorID>99</fraudProcessorID>
<captureOnLowRisk>N</captureOnLowRisk>
<voidOnHighRisk>N</voidOnHighRisk>
<websiteId>MXP_DEV</websiteId>
<fraudToken>q1234564987981alksf43549138</fraudToken>
</fraudDetails>
<transactionDetail>
<payType>
<creditCard>
<number>4539330315585581</number>
<expMonth>12</expMonth>
<expYear>2016</expYear>
<cvvNumber>082</cvvNumber>
</creditCard>
</payType>
</transactionDetail>
<payment>
<chargeTotal>149.99</chargeTotal>
<shippingTotal>10.00</shippingTotal>
</payment>
<itemList itemCount="3">
<item>
<itemIndex>1</itemIndex>
<itemProductCode>Product de Teste Um</itemProductCode>
<itemDescription>Certificacao de Integracao 01</itemDescription>
<itemQuantity>2</itemQuantity>
<itemTotalAmount>30.00</itemTotalAmount>
<itemUnitCost>15.00</itemUnitCost>
</item>
<item>
<itemIndex>2</itemIndex>
<itemProductCode>Produto de Teste Dois</itemProductCode>
<itemDescription>Certificacao de Integracao 02</itemDescription>
<itemQuantity>2</itemQuantity>
<itemTotalAmount>10.00</itemTotalAmount>
<itemUnitCost>5.00</itemUnitCost>
</item>
<item>
<itemIndex>3</itemIndex>
<itemProductCode>Produto de Teste Tres</itemProductCode>
<itemDescription>Certificacao de Integracao 03</itemDescription>
<itemQuantity>3</itemQuantity>
<itemTotalAmount>99.99</itemTotalAmount>
<itemUnitCost>33.33</itemUnitCost>
</item>
</itemList>
</auth>
</order>
</transaction-request>
Kount – Exemplo de retorno da chamada de autorização com sucesso
<?xml version="1.0" encoding="UTF-8"?> <transaction-response> <authCode>123456</authCode> <orderID>0A01159A:0157D30291E8:ABC3:57D3E40F</orderID> <referenceNum>2016</referenceNum> <transactionID>160701373</transactionID> <transactionTimestamp>1476713985</transactionTimestamp> <responseCode>0</responseCode> <responseMessage>AUTHORIZED</responseMessage> <avsResponseCode>YYY</avsResponseCode> <cvvResponseCode>M</cvvResponseCode> <processorCode>A</processorCode> <processorMessage>APPROVED</processorMessage> <errorMessage/> <processorTransactionID>P4630LMLSK0K</processorTransactionID> <processorReferenceNumber>135792468</processorReferenceNumber> <fraudScore>38</fraudScore> <creditCardCountry>US</creditCardCountry> <creditCardScheme>Visa</creditCardScheme> </transaction-response>
Kount – Exemplo de retorno da chamada de autorização com erro
<?xml version="1.0" encoding="UTF-8"?> <transaction-response> <authCode>123456</authCode> <orderID>0A01159A:0157D2F0FF0E:3551:338D9133</orderID> <referenceNum>K20151109-03</referenceNum> <transactionID>160700938</transactionID> <transactionTimestamp>1476712834</transactionTimestamp> <responseCode>1024</responseCode> <responseMessage>INVALID REQUEST</responseMessage> <avsResponseCode>YYY</avsResponseCode> <cvvResponseCode>M</cvvResponseCode> <processorCode>A</processorCode> <processorMessage>APPROVED</processorMessage> <errorMessage>Request is invalid and can not be processed.</errorMessage> <processorReferenceNumber>135792468</processorReferenceNumber> <creditCardCountry>US</creditCardCountry> <creditCardScheme>Visa</creditCardScheme> </transaction-response>
Kount – Tabela de parâmetros
|
Nome |
Obrigatório |
Tamanho |
Descrição |
| version |
Sim |
11 |
Versão da API |
| merchantId |
Sim |
20 |
Id de Loja que identifica o estabelecimento |
| merchantKey |
Sim |
80 |
Chave associada ao ID da loja |
| referenceNum |
Sim |
128 |
Identificador do pedido no estabelecimento Este campo aceita apenas valores alfanuméricos e deve ser único. |
| processorID |
Sim |
2 |
Código da Adquirente que irá processar a transaçãoSIMULADOR DE TESTES = 1
REDE = 5 GETNET = 3 CIELO = 4 ELAVON = 6 CHASEPAYMENTECH = 8 STONE = 9 |
| fraudCheck |
Não |
1 |
Flag para enviar transação para verificação de fraude. Se deixado em branco a transação será verificadaY ou vazio/nulo = ChecarN = Não ChecarEste campo só funciona para clientes que possuem o serviço de antifraude contratado. |
| ipAddress |
Não |
16 |
Endereço de IP do comprador |
| billing/id shipping/id |
Sim |
50 |
ID do consumidor na base do lojista |
| billing/name shipping/name |
Sim |
64 |
Nome do cliente (somente alfabético) |
| billing/address shipping/address |
Sim |
128 |
Logradouro de cobrança da transação (sem acentos e caracteres especiais) |
| billing/address2 shipping/address2 |
Não |
128 |
Complemento do Logradouro de cobrança da transação (sem acentos e caracteres especiais) |
| billing/district shipping/district |
Sim |
64 |
Bairro (sem acentos e caracteres especiais) |
| billing/city shipping/city |
Sim |
64 |
Cidade (sem acentos e caracteres especiais) |
| billing/state shipping/state |
Sim |
32 |
Estado (enviado com 2 dígitos) |
| billing/postalcode shipping/postalcode |
Sim |
16 |
CEP de Cobrança |
| billing/country shipping/country |
Sim |
64 |
País (Abreviação de 2 dígitos) |
| billing/email shipping/email |
Sim |
128 |
Utilização obrigatória de “@” |
| billing/type shipping/type |
Sim |
50 |
Use “Individual” para CPF e “Legal entity” para CNPJ |
| billing/gender shipping/gender |
Sim |
1 |
Sexo (“M” ou “F) |
| billing/birthDate shipping/birthDate |
Sim |
12 |
Data de nascimento (AAAA-MM-DD) |
| phone/phoneType |
Sim |
50 |
Utilize um dos dados abaixo:- Residential- Commercial- Mobile
– Fax – Undefined – Message – Billing |
| document/documentType |
Sim |
50 |
Tipo de Documento. Utilize a lista abaixo:CPFRGCNPJ
StateRegistration (não aplicado ao BR) MunicipalRegistration (não aplicado ao BR) Passport CTPS (Carteira de Trabalho – número PIS) VoterDocument (Título de Eleitor) |
| document/documentValue |
Sim |
50 |
Número do documento |
| fraudDetails/fraudProcessorID |
Não |
32 |
Envio do ProcessorID quando houver mais de um antifraude configurado na maxiPago! |
| fraudDetails/captureOnLowRisk |
Não |
1 |
Permite realizar a captura de uma transação após aprovação (“Y” ou “N”) |
| fraudDetails/voidOnHighRisk |
Não |
1 |
Permite cancelar (void) uma transação quando houver uma reprovação do antifraude via maxiPago! |
| fraudDetails/fraudToken |
Sim |
150 |
Envio do SessionId da transação enviado no DeviceFingerprint na Kount ou ClearSale |
| number |
Sim |
19 |
Número do cartão de crédito do cliente |
| expMonth |
Sim |
2 |
Mês de vencimento do cartão com 2 dígitos Exemplo: Janeiro = 01 |
| expYear |
Sim |
4 |
Ano de vencimento do cartão com 4 dígitos |
| cvvNumber |
Sim |
14 |
Código de segurança do cartão |
| currencyCode |
Não |
3 |
Código da moeda da transação no formato ISO 4217Válido somente para transações Chase Paymentech. |
| chargeTotal |
Sim |
14.2 |
Valor do pedido Os decimais devem ser separados por ponto (“.”) |
| shippingTotal |
Não |
14.2 |
Valor do frete que será cobrado. Os decimais devem ser separados por ponto (“.”) |
| iataFee |
Não |
14.2 |
É um campo informativo (ou seja não é somado ao valor da autorização) que define o montante da Taxa de Embarque da transação que deve ser destinado ao pagamento à Infraero. No momento disponível para a Cielo nas bandeiras Visa e Mastercard. Os decimais devem ser separados por ponto (“.”) |
| numberOfInstallments |
Não |
2 |
Número de parcelas da transação Para transações à vista não enviar/enviar nulo. |
| chargeInterest |
Não |
1 |
Define se o parcelamento é do tipo Loja ou CartãoPara transações à vista não enviar/enviar nulo.N = Sem juros (PADRÃO – parcelamento Loja)Y = Com juros (parcelamento Cartão) |
| itemIndex |
Sim |
1 |
Itens: Enumerador do item de 1 a n |
| itemProductCode |
Não |
50 |
Itens: Categoria do produto; Alfanumérico Ex: Acessórios de cozinha |
| itemDescription |
Sim |
100 |
Itens: Descrição do Item; Alfanumérico Ex: Facas Ginsu |
| itemQuantity |
Sim |
10 |
Itens: Quantidade deste item |
| itemTotalAmount |
Sim |
19 |
Valor do Item. Os decimais devem ser separados por ponto (“.”) |
| itemUnitCost |
Sim |
1 |
Valor do Item. Os decimais devem ser separados por ponto (“.”) |
| websiteId |
Sim |
8 |
Canal de venda. Ex: loja virtual, televendas e outros. |