ecomplus / app-galaxpay

E-Com Plus app to integrate Galax Pay for recurring payments
MIT License
0 stars 1 forks source link

Pedido original cancelado erroneamente #45

Closed leomp12 closed 1 year ago

leomp12 commented 1 year ago

O pedido a seguir teve status financeiro alterado para não autorizado e cancelado automaticamente, mesmo com a respectiva transação paga:

print(1)

O lojista alterou o status de volta para pago manualmente.

O cliente cancelou a assinatura e portanto as transações seguintes (próximos períodos) foram corretamente canceladas. O erro é que o financial_status do primeiro pedido também foi cancelado, ele deveria ser mantido pago. O primeiro pagamento continuou pago no gateway, apenas os pagamentos agendados foram cancelados, me parece que não houve uma validação do ID da transação (apenas da assinatura) para alterar o status financeiro do pedido. Nesse caso o pedido deveria estar cancelled mas o status financeiro mantido paid, sem alteração.

wisley7l commented 1 year ago

Tava verificando alguns logs aqui. ao que parece essas atualizações foram erradas devido a delay que não tem. Pq quando vai buscar a order ele ainda não tinha sido atualizado o financial_status. Ou seja, ele atualizou para pago e para não autorizado em diferenças relativamente pequenas.

Acredito que esse seja o erro.

leomp12 commented 1 year ago

Hmm, mas não era pra alterar para não autorizado em nenhum momento. O pagamento relativo a esse pedido não foi unauthorized, nem voided, em nenhum momento. Isso só aconteceu com os pagamentos agendados que seriam relativos a outros pedidos nos períodos consecutivos.

wisley7l commented 1 year ago

Mas na linha do tempo ai na imagem mostra não autorizado duas vezes, referente a assinatura .

leomp12 commented 1 year ago

Então, esse é o ponto, o pagamento não autorizado é referente a outra cobrança. Não deveria ter nenhuma vez na linha do tempo desse pedido, nem antes nem depois do pago.

leomp12 commented 1 year ago

🙃

wisley7l commented 1 year ago

O erro aqui se trata do pedido 63e67727f4167e223c8a736b Como conversamos em reunião, segue o print do payment history no qual o status de paidchegou antes do unauthorized, pois o campo notification_code armazena o tipo do webhook recebido do galapay e qual o id desse webhook e aqui notamos que o id do webhook com status paid é maior que o do webhook com status unauthorized

payment_history

e como atualmente nosso código busca o status da transação (no galaxpay) antes de atualizar aqui na E-com, acredito que esse problema não ocorra mais.