Notificação do PagSeguro não atualiza o histórico do pedido
Enviado: 16 Out 2014, 16:51
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!
Mas
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!
Mas