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 1023 = processamento rejeitado pelo parceiro 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/>. |