Por que um pagamento é recusado?
A recusa de pagamentos é uma realidade no mundo das vendas online e pode acontecer por diversas razões. Um pagamento pode ser recusado por:
- Um erro com o meio de pagamento;
- Preenchimento incorreto das informações por parte do cliente;
- Cartão sem saldo suficiente;
- Violação de requisitos de segurança necessários;
- Movimentos suspeitos indicando risco de fraude;
- Problemas na comunicação entre adquirentes e subadquirentes.
Você pode encontrar as informações e checar o estado de um pagamento via API, através do endpoint Obter pagamentoAPI. O campo status indica se o pagamento foi ou não aprovado, enquanto o campo status_detail traz mais detalhes, incluindo os motivos de recusa.
curl
{ "status": "rejected", "status_detail": "cc_rejected_insufficient_amount", "id": 47198050, "payment_method_id": "master", "payment_type_id": "credit_card", ... }
Estes motivos de recusa acontecem devido a erros no momento do checkout. Isso pode acontecer por diversos motivos, como por exemplo falha de entendimento da tela de pagamento, problemas de experiência do comprador, falta de validação nos campos, ou também erros que o comprador pode cometer na hora de preencher seus dados, principalmente os dados de cartão.
Nestes casos o campo status_detail será retornado como:
cc_rejected_bad_filled_card_numbercc_rejected_bad_filled_datecc_rejected_bad_filled_othercc_rejected_bad_filled_security_code
Ao realizar um pagamento com cartão de crédito ou débito, por exemplo, o banco emissor pode recusar a cobrança por diferentes motivos, como data de validade expirada, saldo ou limite insuficientes, cartão desabilitado ou bloqueado para compras online.
Nestes casos o campo status_detail poderá retornar:
cc_rejected_call_for_authorizecc_rejected_card_disabledcc_rejected_duplicated_paymentcc_rejected_insufficient_amountcc_rejected_invalid_installmentscc_rejected_max_attempts
Fazemos o acompanhamento em tempo real das transações procurando reconhecer recursos e padrões suspeitos que apontam para uma tentativa de fraude. Isso é feito tanto pelos algoritmos do Mercado Pago quanto pelos bancos, tudo para evitar ao máximo estornos (chargebacks).
Quando o nosso sistema de prevenção de fraude detectar um pagamento suspeito, o campo status_detail poderá retornar:
cc_rejected_blacklistcc_rejected_high_riskcc_rejected_other_reason
A resposta cc_rejected_other_reason é um status enviado pelo banco emissor e, embora não especifique o motivo da rejeição, é uma estimativa do risco de fraude. No entanto, há outras razões pelas quais esse status pode ser retornado. Em caso de dúvida, é recomendável escolher outro meio de pagamento ou contactar o banco.
high_risk pode ocorrer quando dois pagamentos consecutivos são realizados com os mesmos itens ou com parâmetros muito semelhantes (como valores em payer e items idênticos em ambos os pagamentos realizados). Isso pode acionar o motor antifraude, que pode interpretar a tentativa como duplicada e rejeitá-la por precaução. Como consequência, os pagamentos subsequentes podem ser temporariamente bloqueados. É recomendável implementar controles para evitar novas tentativas imediatas com os mesmos dados de pagamento.json
{ "status": "rejected", "status_detail": "cc_rejected_high_risk", "id": 47198050, "payment_method_id": "master", "payment_type_id": "credit_card", ... }