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