O retorno das requisições de transação possui um padrão único, independentemente do tipo de transação efetuada. Contudo, nem todos os campos são retornados em todas as transações.

Transação Aprovada

<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
    <authCode>005772</authCode>
    <orderID>7F000001:013829A1C09E:8DE9:016891F0</orderID>
    <referenceNum>123456789</referenceNum>
    <transactionID>1418605</transactionID>
    <transactionTimestamp>1340728262</transactionTimestamp>
    <responseCode>0</responseCode>
    <responseMessage>CAPTURED</responseMessage>
    <avsResponseCode/>
    <cvvResponseCode/>
    <processorCode>0</processorCode>
    <processorMessage>APPROVED</processorMessage>
    <errorMessage/>
    <processorTransactionID>2612953</processorTransactionID>
    <processorReferenceNumber>689472845</processorReferenceNumber>
    <fraudScore>29</fraudScore>
    <save-on-file>
        <token>eBUv/SIBJv0=</token>
    </save-on-file>
</transaction-response>

Transação Negada

<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
    <authCode/>
    <orderID>7F000001:013D16CF1461:F0EF:014EDA77</orderID>
    <referenceNum>2012071201</referenceNum>
    <transactionID>3308</transactionID>
    <transactionTimestamp>1361887302962</transactionTimestamp>
    <responseCode>1</responseCode>
    <responseMessage>DECLINED</responseMessage>
    <avsResponseCode>NNN</avsResponseCode>
    <cvvResponseCode>N</cvvResponseCode>
    <processorCode>D</processorCode>
    <processorMessage>DECLINED</processorMessage>
    <errorMessage/>
</transaction-response>

Transação Com Parâmetros Inválidos

<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
    <authCode/>
    <orderID/>
    <referenceNum/>
    <transactionID/>
    <transactionTimestamp>1361887531821</transactionTimestamp>
    <responseCode>1024</responseCode>
    <responseMessage>INVALID REQUEST</responseMessage>
    <avsResponseCode/>
    <cvvResponseCode/>
    <processorCode/>
    <processorMessage/>
    <errorMessage>Credit Card Number is not a valid credit card number.</errorMessage>
</transaction-response>

Transação Com Erro

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api-error>
    <errorCode>1</errorCode>
    <errorMsg>
        <![CDATA[Schema validation for the vertical SA for the incoming transaction xml failed. Reason Parser Error: URI=null Line=1: cvcdatatype-valid.1.2.1:'100,01' is not a valid value for 'decimal'.]]>
    </errorMsg>
</api-error>

Erros mais comuns para o erro 1024

Mensagem

Descrição

Credit Card Number is not a valid credit card number

Número de cartão de crédito não é válido

The transaction has an expired credit car

Data de vencimento do cartão não é valida

A transaction with boletoNumber = XXX already exists in the data base

O campo ‘boletoNumber’ enviado já existe em nosso sistema para este lojista

Transaction Amount is not a valid number in the range of 0.01 to 1.0E14

O valor da transação não é válido

Reques tis invalid and can not be processed

O campo ‘processorID’ enviado não é válido.

Parâmetros retornados no <transaction-response/>

Nome

Descrição

boletoURL

URL para geração do Boleto

Recomenda-se salvar esta URL para uso futuro

onlineDebitURL

URL para redirecionamento do débito online

O cliente deve ser redirecionado para esta URL para completar a transação

authenticationURL

URL de autenticação

O cliente deve ser redirecionado para esta URL para completar a etapa de autenticação

authCode

Código de autorização retornado pela adquirente

referenceNum

Confirmação do código enviado na requisição

orderID

ID do pedido, gerado pela maxiPago!

Deve-se salvar este campo para futuras referências ao pedido

transactionID

Id da transação, gerado pela maxiPago!

Deve-se salvar este campo para futuras referências ao pedido

transactionTimestamp

Data/hora da transação em formato epoch

responseCode

Indicador do status da transação na maxiPago!

Você deve utilizar apenas este campo para validar o resultado de uma transação. Não utilize outros campos da resposta para determinar o sucesso ou falha de uma transação.

0 = aprovada (*)

1 = negada

2 = negada por duplicidade ou fraude

5 = em revisão (análise manual de fraude)

1022 = erro na operadora do cartão

1024 = erro nos parâmetros enviados

Ver ‘responseMessage’ para mais informações

1025 = erro nas credenciais

2048 = erro interno na maxiPago!

4097 = timeout com a adquirente

(*): para adquirente com estorno online, o valor 0 significa que o estorno já foi processado, para os offline significa que o estorno está sendo processado (neste caso pode ser posteriormente verificado pela API de consulta)

responseMessage

Mensagem de resposta da transação

avsResponseCode

Resposta da verificação AVS, se houver:

-X: o número da rua e o CEP batem

-A: o número da rua bate, mas o CEP não

-N: nem o número da rua nem o CEP batem

-S: o serviço não está disponível para este cartão

-C: serviço indisponível

-W: o CEP bate, mas o número da rua não

Obs.: sugerimos que a resposta AVS seja usada para avaliação manual do risco.

processorCode

Código de retorno da Adquirente

Linha digitável do boleto

processorMessage

Mensagem de retorno da adquirente

processorReferenceNumber

Número de referência da adquirente

Cielo: TID

Rede: NSU

processorTransactionID

ID da transação na adquirente

Cielo: NDU

Rede: comprovante de venda (CV)

fraudScore

Valor de score retornado pelo fraudControl!

Quanto menor o valor, menor o risco da transação.

errorMessage

Mensagem de erro, se houver

token

Presente só quando um cartão é salvo automaticamente, traz o token único daquele cartão. Vem dentro do elemento <save-on-file/>. É muito importante guardar esta informação para futura referência!

error

Presente só quando há erro na tentativa de salvar automaticamente o cartão, traz a mensagem de erro. Vem dentro do elemento <save-on-file/>.