Intermediador de pagamentos cancelando todas transações

Hoje você vai aprender o motivo e como contornar aquele momento em que a loja foi para o ar, e em todos testes em produção o intermediador de pagamentos cancela a transação, mesmo quando os dados do comprador estão corretos.

Para entender o motivo disso, precisamos entender o que é um intermediador de pagamentos.

O Intermediador de pagamentos é uma solução para receber e enviar pagamentos com flexibilidade e segurança.

Isso significa que a ideia do intermediador de pagamentos, é facilitar de uma forma onde você precise programar o mínimo e ter o máximo de ferramentas no momento de incluir opções de pagamento em seu site.
Você não precisa concordar ou discordar se ele faz esse papel, só precisa ter ciência do que ele quer fazer.

Agora que entendemos o intermediador de pagamentos, precisamos entender que, ao colocar o intermediador como solução de pagamento, estamos incluido uma série de sistemas embutidos.

  • Pagamento com cartão de crédito, boleto, débto, online, etc;
  • Pagamento recorrente;
  • Dar opção para o comprador usar a própria para acessar os cartões já salvos e algumas de suas preferências entre outras customizações;
  • Proteção contra chargeback;
  • AntiFraude;
  • Outros...

Parei no AntiFraude de propósito, ele é o motivo deste post ser escrito. Sim, suas transações são canceladas quando você testa em produção por conta do AntiFraude (na maioria das vezes não é possivel desativar esse serviço).

Como sei que foi o AntiFraude que cancelou uma transação?

Dependendo do intermediador que você estiver utilizando, ele pode falar explicitamente ou informar que foi por motivos interno. Usarei o PagSeguro como exemplo.

Consultando os detalhes detalhes de uma transação - Seja pela API de notificações ou API de consulta por código de transação - procure por <transaction><cancellationSource> , (linha 8 do exemplo) .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<transaction>
    <date>2018-02-15T13:01:15.000-02:00</date>
    <code>0BED7D1B-DC00-4DE8-8828-082F8FCC7D55</code>
    <reference>REF1234</reference>
    <type>1</type>
    <status>7</status>
    <cancellationSource>INTERNAL</cancellationSource>
    <lastEventDate>2018-02-15T13:01:16.000-02:00</lastEventDate>
    <paymentMethod>
        <type>1</type>
        <code>101</code>
    </paymentMethod>
    <!-- Código reduzido, para economizar espaço -->
</transaction>

O exemplo foi reduzido para ocupar menos espaço, porém você pode ver o XML de exemplo completo clicando aqui.

O campo cancellationSource, significa a origem do cancelamento. Sempre que a origem do cancelamento for interna (Internal), significa que o antifraude barrou essa transação.

Cada intermediador terá sua peculiaridade, entre em contato com o suporte e procure entender como funciona no seu. Aproveite e poste nos comentários afim de ajudar o próximo que estiver pesquisando.

Como evitar que AntiFraude cancele transações legitimas

Não sabemos ao certo como o AntiFraude dos intermediadores funcionam, caso você pergunte no SAC, eles não irão responder, por motivos de segurança. Eles acreditam que se todos tiverem ciência dos critérios do AntiFraude, a segurança das transações fica comprometida, e alguém mal intencionado poderá burlar esse sistema e fazer compras indevidas.

Juntamos algumas dicas espalhadas pela intenet e vou citar algumas aqui:

Respeite as regras de uso do intermediador

Cada intermediador de pagamento tem um termo/regras de uso. Lá existem uma série de itens a serem cumpridos, como por exemplo não vender drogas, órgãos... Leia todos itens, a inteligência do AntiFraude pode usar alguma regras dessas para permitir ou não a venda.

Divergência de dados

Diversos campos são de preenchimento obrigatórios na requisição de pagamento, muitas vezes para pular alguns passos o programador pega alguns desses campos e deixa com valor padrão e assim o comprador não precisa preencher. O ponto é: O AntiFraude pega o padrão e classificar como uma fraude, negando tudo.

Lembre, na internet tudo se conversa, se esse mesmo comprador realizou alguma compra recentemente online usando dados totalmente diferentes do usado na compra atual, o AntiFraude pode bloquear a transação também.

CPF com pendências

Maioria dos sitemas podem verificar se não existem restrições no nome da pessoa, e/ou se aquele CPF já foi usado anteriormente para fraude.

Desvio no padrão de compra

Em todo cadastro no intermediador de pagamento, você vai precisar categorizar seu comércio, é importante preencher corretamente esse item. Caso contrário suas vendas entrará fora do padrão o que acabará dando cancelamento indevido.

Compras repetitivas

Normalmente você faz uma compra no site e só volta lá depois de um tempo, se no meio de seus testes, você faz duas, três, ou seja lá quantos testes, o AntiFraude pode pegar seu IP e cookie (ou sabe lá Deus o que ele pega) e detectar um padrão diferente e realizar o bloqueio, então testes em produção apenas com usuários reais, ou de locais e ambientes diferentes.

Sua vez

Você já caiu em algum ciclo onde o AntiFraude cancelava suas transações? O que você fez para contornar isso?