warleysr / autopix

Plugin para vender por código QR no Minecraft
22 stars 7 forks source link

qr code invalido #12

Closed bandaohana closed 1 year ago

bandaohana commented 1 year ago

o plugin gera um qr code invalido na hora de pagar, já tentei pagar com o inter, nubank, 99pay, picpay, o mp e pagbank, mas nenhum deles identifica o qr code

inicialmente, pensei que tivesse gerado um token errado no mp, mas já gerei outros e nenhum deles funciona, vi aqui os problemas #4 e #3 para saber se conseguiria resolver o problema mas não consegui saiba que estou testando o plugin em um servidor windows localhost

WhatsApp Image 2023-09-02 at 15 33 59

warleysr commented 1 year ago

Certo, pelo que entendi você está usando o modo automático, certo? Os dados do QR code nesse caso são retornados pela própria API do MercadoPago, então veja se há algum erro no console no momento que uma compra é realizada e se sim coloque-o aqui. Coloque também um print da parte inicial do seu arquivo config.yml onde mostra os dados do MP e configuração das chaves PIX (tampe parte dos dados para não expor na internet).

bandaohana commented 1 year ago

Certo, pelo que entendi você está usando o modo automático, certo? Os dados do QR code nesse caso são retornados pela própria API do MercadoPago, então veja se há algum erro no console no momento que uma compra é realizada e se sim coloque-o aqui. Coloque também um print da parte inicial do seu arquivo config.yml onde mostra os dados do MP e configuração das chaves PIX (tampe parte dos dados para não expor na internet).

esse é o estranho não uso o modo automático. a config é a padrão que o plugin gera, pois também pensei que fosse algo nela e optei por testar a padrão, mas não há nada e o problema continua

fiquei gerando alguns qr code, e apenas 1 foi identificado pelo picpay mas com valor errado, extremamente alto inclusive

WhatsApp Image 2023-09-02 at 16 27 03

warleysr commented 1 year ago

Mostra a config. Se não usa o modo automático o access token do MP só é necessário na hora de validar a transação, o QR code é gerado pelo plugin mesmo, ai pode ser questão de config ou ter mudado algo em relação ao formato do PIX.

bandaohana commented 1 year ago

Mostra a config. Se não usa o modo automático o access token do MP só é necessário na hora de validar a transação, o QR code é gerado pelo plugin mesmo, ai pode ser questão de config ou ter mudado algo em relação ao formato do PIX.

cofig: https://pastebin.com/7YdMLAsX

agora os qr codes são lidos pelo picpay, mas o valor fica absurdamente mais alto que o definido no plugin WhatsApp Image 2023-09-02 at 16 53 16

uma coisa que eu reparei na "chave" do qr code, é que nas chaves copia e cola padrão o valor é definido com um . eo autopix define um valor com uma , e mesmo assim não é possível pagar o qr code com o copia e cola WhatsApp Image 2023-09-02 at 16 59 39

warleysr commented 1 year ago

Testei aqui com a sua config colocando a minha chave e foi lido corretamente. O que preciso ver é um print desse jeito para entender como sua chave está configurada:

image

Não tampe todos os caracteres da chave, apenas alguns do meio.

bandaohana commented 1 year ago

Testei aqui com a sua config colocando a minha chave e foi lido corretamente. O que preciso ver é um print desse jeito para entender como sua chave está configurada:

image

Não tampe todos os caracteres da chave, apenas alguns do meio.

a chave que estava utilizando era aleatória mas testei com email e cpf, somente o picpay lê o qr code mas o valor fica errado image

warleysr commented 1 year ago

Acho que descobri o que é. Provavelmente o nome que você colocou é João e os caracteres especiais não são suportados nesse campo, coloque Joao. Este campo pouco importa pois no momento do pagamento o banco irá recuperar e mostrar o nome independente desse, então poderia deixar até 'Fulano de Tal' mesmo.

bandaohana commented 1 year ago

acabei não lembrando de adicionar saldo ao picpay, como o qr code (no momento) só consigo ler por ele fiz o pagamento algumas vezes e só alguns foram aceitos pelo plugin

não houve nenhum erro, somente quando removi o token do mp (que é óbvio de ter erro)

.(escrito antes de você enviar a mensagem)↑↑

Acho que descobri o que é. Provavelmente o nome que você colocou é João e os caracteres especiais não são suportados nesse campo, coloque Joao. Este campo pouco importa pois no momento do pagamento o banco irá recuperar e mostrar o nome independente desse, então poderia deixar até 'Fulano de Tal' mesmo.

infelizmente não, já alterei o nome diversas vezes mas não vai

bandaohana commented 1 year ago

testei o plugin em um servidor separado mas sem sucesso, algo no token do mercadopago poderia interferir? quando criei o token acabei colocando #checkouttransparent, alterei para #walletconnect e depois para #checkoutpro algum desses estaria errado?

warleysr commented 1 year ago

Como disse o token não interfere na geração do código QR no modo manual, somente no automático. Você está usando a última versão do plugin (v1.0.9)?

bandaohana commented 1 year ago

Como disse o token não interfere na geração do código QR no modo manual, somente no automático. Você está usando a última versão do plugin (v1.0.9)?

sim image

warleysr commented 1 year ago

Me envia no Discord (warleysr) a sua config (tira seu token, deixa só a chave) para eu tentar reproduzir aqui.

Ou por aqui mesmo se for chave aleatória, depois você gera outra se não quiser ela exposta.

zyonNZz commented 1 year ago

Olá, conseguiram resolver? Achei eu fosse o único com esse problema.

warleysr commented 1 year ago

Testei com a mesma versão dele (Java 11 e PaperSpigot 1.8.8) e funcionou, coloquei uma versão que dá um print no código do pix e vimos que no dele o valor vinha com , ao invés de . (talvez tenha algo a ver com o idioma do sistema, mas não tenho certeza). Consegue postar sua config para analisar?

zyonNZz commented 1 year ago

Exatamente, adicionei um debug para verificar e vi que está vindo com "," no valor ao invés de "."

warleysr commented 1 year ago

Realmente o bug estava relacionado a formatação do preço, o método String.format() considera o idioma da máquina para formatar, em português acabava ficando a vírgula como separador decimal ao invés do ponto. Isso foi corrigido na versão v1.0.10. Obrigado por reportarem.