pagseguro / plugpag

Integração via bluetooth
49 stars 43 forks source link

PROBLEMA: VENDAS REPETIDAS DE MESMO VALOR P/ O MESMO CARTÃO #28

Open mauriciocontrole opened 5 years ago

mauriciocontrole commented 5 years ago

Galera, estou fazendo alguns testes aqui com a Moderninha PRO e notei o seguinte problema: quando tento realizar pagamentos repetidos (de mesmo valor) em curtos intervalos de tempo, a transação é efetuada apenas na primeira tentativa e recusada nas repetições.

O erro é o seguinte: "Transação duplicada S020". Acredito que isso se deve como uma medida de segurança (ou da PagSeguro ou da instituição financeira) para evitar múltiplos pagamentos.

Entrei no site da PagSeguro, na parte de Extratos de Transações, e o Status é: "Status: Pagamento negado pela empresa de cartão de crédito". Deve ser um padrão das instituições pq eu fiz o teste pelo Inter e pelo Nubank e ambos deram nisso.

Acontece que, na minha aplicação, o cliente pode querer comprar várias vezes produtos de mesmo preço e em curto espaço de tempo.

A única saída que eu vejo é criar uma espécie de preço dinâmico que a cada venda que realizo, acrescento R$ 0,01 no preço para, caso a mesma pessoa queira comprar novamente, eu consiga realizar a venda. Mas isso é meio que uma gambiarra.

Por favor, alguém teria uma saída mais inteligente ?

hhideki commented 5 years ago

@mauriciocontrole, primeiramente peço desculpas pela demora na resposta.

O problema que vc está tendo existe em qualquer maquininha de pagamento presencial. Para evitar algumas fraudes e problemas, há especificações que não permitem que o mesmo terminal aceite transações de mesmo valor com o mesmo cartão.

Há algumas soluções de TEF que permitem diversas transações nessa situação (mesmo terminal, mesmo cartão e mesmo valor).

Sobre sua gambiarra, se houver diversas transações no mesmo valor, mesmo terminal e mesmo cartão, você ficar alternando entre o valor original e o valor original acrescido de R$0,01. As transações de mesmo valor não pode ser consecutivas, mas podem repetir se houver alguma transação de valor diferente entre elas.

mauriciocontrole commented 5 years ago

@hhideki, muito obrigado pelo retorno.

Consegui resolver o problema usando o preço dinâmico.