Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para módulos, formas de pagamentos e formas de envio para OpenCart v1.x.
#54936
Salve salve!

Já dei uma boa procurada aqui no fórum, mas ainda não achei orientação que me ajudasse a resolver esta questão específica.
Se estiver infringindo regras, moderadores, por favor, me condenem. hehe

Seguinte:

Tenho a loja funcionando 1.5.9.3.
Tenho instalado também o módulo PagSeguro, funcionando.

Criei um esquema onde o cliente recebe, já na confirmação de compra, o acesso à dois links:
- LINK PRA PAGAR POR BOLETO impresso no próprio site, sem a necessidade do PagSeguro (convênio próprio que tenho com o meu banco)
- LINK PRA PAGAR COM PAGSEGURO chama a API e processa o pagamento

Muito bem... O cliente escolhe, a qualquer momento, qual a forma de pagamento que quer, seja no e-mail ou seja na página com detalhes do pedido.

Mas vocês lembram que na hora de Finalizar a Compra, o cliente escolhe também a forma de pagamento né?

Então:

Se o cliente escolher PAGSEGURO na hora de finalizar a compra, ele pode ir pro pagseguro, confirma (ou não) o pagamento, em seguida pelo link de notificação o PagSeguro atualiza o histórico do pedido para (por ex.) PAGAMENTO CONFIRMADO, CANCELADO, EM ANÁLISE, ETC...

Já se o cliente escolher forma de pagamento BOLETO. E depois (por qualquer motivo) ele optar por pagar com PAGSEGURO (ele já tem o link pra esta opção), então ele vai lá pro PAGSEGURO, confirma (ou não) o pagamento, mas quando o PagSeguro tentar atualizar o histórico do pedido, nada fica registrado.

Eu entendo que o motivo é: o pedido originalmente já está configurado para Boleto, então o PagSeguro "chama" as informações do sistema no sentido de:
"SELECIONAR TAL PEDIDO QUE TEM FORMA DE PAGAMENTO PAGSEGURO".

Só que o tal pedido em questão está originalmente registrado para pagamento via BOLETO, ou seja, esse tal pedido, para o sistema, não existe.

Creio que a solução seja "editar" alguma parte do módulo PagSeguro.
Em algum lugar deve existir a instrução para selecionar o pedido, condicionado com o pagamento que deve ser PAGSEGURO.

Então na lógica, o sistema deveria buscar o pedido, (por ex.) apenas pelo número dele, e não pelo número + método de pagamento.

Alguém faz ideia aí de onde encontrar esta parte do código pra fazer a alteração?

Por enquanto eu "incluí" uma instrução php+mysql que "atualiza" a forma de pagamento do pedido para PagSeguro logo depois que o cliente escolheu o link para pagar via PagSeguro, mesmo que originalmente o pedido tenha sido redigido por boleto.

Mas francamente, não sei se isso é o suficiente, pois não tive mais caso prático disso.

alguma ideia?

abraço comunidade, vamos que vamos! 8-)

Mas