Comunidade de Desenvolvedores maxiPago!

Kount

 

 

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:

Fluxo iFrame para análise do Browser Kount

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:

Lógica do fluxo do cálculo para geração do Hash

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ção

SIMULADOR DE TESTES = 1

REDE = 2

GETNET = 3

CIELO = 4

e.REDE = 5

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

Y  ou vazio/nulo = Checar

N = Não Checar

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

CPF

RG

CNPJ

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 4217

Vá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ão

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