Voltar

VibeFox PayU India for OpenCart — Ajuda

Requisitos

OpenCart: 3.0.x (testado na versão 3.0.5.0) ou 4.0.2 e posteriores (testado na versão 4.1.0.3).

PHP: 8.0 ou superior.

Moeda: Rupia indiana (INR). A PayU India cobra apenas em rupias. A sua loja precisa ter a moeda INR (System > Localisation > Currencies). Para pedidos em outras moedas, o método de pagamento fica oculto na finalização de compra.

Número de telefone: a PayU exige um número de telefone em cada pagamento. Mantenha o campo Telephone na sua finalização de compra para que o pedido tenha um. O checkout do OpenCart 4 não pede telefone por padrão: quando o pedido não tem número de telefone, a extensão mostra seu próprio campo Phone na etapa de confirmação (veja Finalização de compra).

Conta na PayU India: você precisa da Merchant Key e do Merchant Salt (v1) em PayU Dashboard > Payment Gateway > Key Salt Details. Mude o painel para o Test Mode para ver o par de teste. Use o Salt v1, não o Salt v2.

Acesso à internet para a sua loja: necessário para o webhook opcional. Sem ele, os pedidos são confirmados quando o cliente retorna da PayU.

Chave de licença VibeFox: adquirida em vibefox.net. Uma chave funciona em um domínio.

Instalação

O download é um único arquivo zip com os pacotes para as duas versões do OpenCart. Descompacte-o no seu computador. Ele contém o README.txt, o pacote do OpenCart 3 wcp_payu_india_payment-oc3-(version).ocmod.zip e o pacote do OpenCart 4 wcp_payu_india_payment.ocmod.zip. Instale apenas o pacote da sua versão do OpenCart. A chave de licença é a mesma para as duas versões.

OpenCart 3

1. No admin, acesse Extensions > Installer, clique em Upload e escolha o arquivo wcp_payu_india_payment-oc3-(version).ocmod.zip. A extensão não tem modificações OCMOD, por isso Extensions > Modifications não precisa ser atualizado. Em vez do instalador, você também pode copiar o conteúdo da pasta upload deste pacote para a pasta raiz da sua loja.

2. Acesse Extensions > Extensions e escolha o tipo Payments. Encontre VibeFox PayU India Payment Gateway e clique em Install (o botão verde +). O seu usuário administrador precisa ter permissão para modificar a lista de extensões de pagamento.

3. Clique em Edit (o botão com o lápis) para abrir a página de configurações. Cole a sua chave de licença VibeFox em License key, no bloco de licença no topo da página, e clique em Activate (veja Chave de licença).

4. Informe a Merchant Key e o Salt de teste e a Merchant Key e o Salt de produção (veja Configuração).

5. Recomendado: em PayU Dashboard > Webhooks, adicione a URL do webhook exibida na página de configurações para pagamentos bem-sucedidos e com falha.

6. Escolha o Mode, ative Enable/Disable e clique em Save. Teste um pagamento no modo Test e, depois, mude para Live.

OpenCart 4

1. No admin, acesse Extensions > Installer, clique em Upload e escolha o arquivo wcp_payu_india_payment.ocmod.zip. Não renomeie o arquivo: o OpenCart 4 obtém o código da extensão a partir do nome do arquivo, e um pacote renomeado não funciona.

2. O pacote aparece na lista de extensões instaladas, na mesma página. Clique em Install (o botão verde +) ao lado dele.

3. Acesse Extensions > Extensions e escolha o tipo Payments. Encontre VibeFox PayU India Payment Gateway, clique em Install (o botão verde +) e depois em Edit (o botão com o lápis).

4. Informe a chave de licença, as credenciais da PayU e o webhook como nos passos 3 a 6 do OpenCart 3. A página de configurações e os campos são os mesmos nas duas versões. Só as URLs de retorno e de webhook são diferentes (veja URLs de retorno e de webhook).

Uma instalação nova começa com o método de pagamento desativado e o modo Test selecionado.

Configuração

Todas as configurações estão na página da extensão: Extensions > Extensions > Payments > VibeFox PayU India Payment Gateway > Edit. As seções aparecem à esquerda; o botão Save abaixo da lista salva a página inteira. Acima das configurações, a página avisa quando a chave ou o salt do modo atual está faltando, exibe O modo de teste está ativo: os pagamentos vão para test.payu.in e nenhum valor real é cobrado. no modo Test, e mostra um erro quando a moeda padrão da sua loja não é INR: nesse caso, o gateway só é exibido na finalização de compra se o cliente pagar em INR. Sem a permissão para modificar a extensão, a página mostra as configurações, mas não consegue salvá-las.

Ao salvar, Title não pode ficar vazio nem ter mais de 128 caracteres, Sort Order precisa ser um número inteiro (números negativos são permitidos), Total precisa ser um número igual ou maior que 0, e a zona geográfica e os status de pedido precisam existir; caso contrário, nada é salvo. Espaços e quebras de linha são removidos das chaves e dos salts, porque um salt com um espaço colado faria todas as respostas da PayU falharem na verificação. Se o método de pagamento estiver ativado sem a chave e o salt do modo atual, a página avisa você depois de salvar.

PayU India

A seção começa com uma breve nota: cartões, NetBanking, UPI e carteiras na página de pagamento hospedada pela PayU; resultados aceitos somente com uma assinatura válida da PayU; apenas rupias.

Enable/Disable: Enable PayU India Payment Gateway ativa ou desativa o método de pagamento. Padrão: desativado.

Title: o título do método de pagamento que o cliente vê durante a finalização de compra. Ele também é o nome do método de pagamento salvo no pedido. Padrão: PayU India. Obrigatório, no máximo 128 caracteres.

Description: o texto exibido ao cliente na etapa Confirm Order, acima do botão de confirmação. Padrão: Pay securely via Credit/Debit Card, NetBanking, UPI, or Wallets through PayU.

Sort Order: a posição da PayU India entre os métodos de pagamento na finalização de compra. Deixe em branco ou informe um número inteiro.

Geo Zone: oferecer a PayU India somente para endereços de pagamento na zona geográfica selecionada. Padrão: All zones. As zonas geográficas são configuradas em System > Localisation > Geo Zones.

Total: o total da finalização de compra, na moeda padrão da loja, que um pedido precisa atingir para que a PayU India seja oferecida. Deixe em branco para oferecer a PayU India em qualquer valor.

Credenciais de API

Copie a Merchant Key e o Merchant Salt (v1) de PayU Dashboard > Payment Gateway > Key Salt Details. Mude o painel para o Test Mode para obter o par de teste. A seção tem um link Open the PayU Dashboard.

Mode: o ambiente da PayU que os novos pagamentos usam.

Test (Sandbox): usa a chave e o salt de teste e o test.payu.in. Nenhum valor real é cobrado. Na etapa Confirm Order, o cliente vê MODO DE TESTE: nenhum valor real é cobrado. (padrão).
Live (Production): usa a chave e o salt de produção e o secure.payu.in.

Os pagamentos já iniciados mantêm o modo em que foram iniciados: os resultados deles são verificados e os reembolsos são enviados com a chave e o salt desse modo, mesmo depois de você trocar de modo.

Live Merchant Key: a sua Merchant Key de produção da PayU.

Live Merchant Salt (v1): o seu Merchant Salt (v1) de produção da PayU. Ele assina as requisições e verifica as respostas da PayU. Mantenha-o em segredo.

Test Merchant Key: a sua Merchant Key de teste da PayU, usada somente no modo Test.

Test Merchant Salt (v1): o seu Merchant Salt (v1) de teste da PayU, usado somente no modo Test.

Os salts salvos nunca são exibidos novamente. O campo fica vazio e mostra Salvo — deixe em branco para mantê-lo. Informe um novo valor somente se quiser alterá-lo. Para remover um salt salvo, marque Clear the saved salt on save abaixo do campo e clique em Save.

URLs de retorno e de webhook

Return URL: no OpenCart 3 tem a forma https://your-store/index.php?route=extension/payment/wcp_payu_india_payment/back; no OpenCart 4, https://your-store/index.php?route=extension/wcp_payu_india_payment/payment/wcp_payu_india_payment.back. Ela é enviada automaticamente para a PayU em cada pagamento; nada precisa ser configurado.

Webhook URL: no OpenCart 3 tem a forma https://your-store/index.php?route=extension/payment/wcp_payu_india_payment/webhook; no OpenCart 4, https://your-store/index.php?route=extension/wcp_payu_india_payment/payment/wcp_payu_india_payment.webhook. Opcional, mas recomendada: confirma os pagamentos mesmo que o cliente feche o navegador antes de voltar. Adicione-a em PayU Dashboard > Webhooks para pagamentos bem-sucedidos e com falha. Copie a URL exatamente como a página de configurações a mostra. Ela precisa estar acessível pela internet (sem autenticação básica e sem bloqueio de firewall). O modo de manutenção da loja não a bloqueia.

O webhook traz o mesmo resultado assinado do retorno do cliente. Webhooks sem um hash válido da PayU são rejeitados.

Pedidos

O OpenCart cria o pedido na etapa Confirm Order sem status (um pedido ausente). O pedido só recebe um status depois que a PayU envia um resultado corretamente assinado. Um pagamento com falha ou cancelado deixa o pedido sem status, e o cliente volta à finalização de compra com o carrinho mantido. Cada campo abaixo lista os seus status de pedido do OpenCart.

Order Status After Payment: um pagamento bem-sucedido com o valor esperado em INR, confirmado por verify_payment quando Verify Payment está ativado. Padrão: Processing.

Awaiting PayU Payment Status: a PayU informa que o pagamento está pendente (UPI collect, NetBanking em andamento). O pedido recebe o status de pagamento quando a PayU confirma. Padrão: Pending.

On Hold (Review) Status: a PayU informou um pagamento bem-sucedido que precisa de revisão manual (veja Status do pedido). Padrão: Pending, porque o OpenCart não tem o status On hold. Você pode criar um status próprio em System > Localisation > Order Statuses e selecioná-lo aqui.

Payment Error Status: um pagamento pendente que a PayU depois informou como falho. Padrão: Failed.

Refunded Status: definido quando tudo o que foi pago é reembolsado pela página do pedido. Padrão: Refunded.

Cancelled Order Status: o status que a sua loja usa para pedidos cancelados. Um pagamento recebido para esse pedido o coloca em revisão, em vez de marcá-lo como pago. A extensão nunca define esse status. Padrão: Canceled.

Avançado

Verify Payment: confere novamente cada pagamento bem-sucedido com a API verify_payment da PayU. Recomendado. Se a verificação não puder ser concluída, o pedido vai para revisão em vez de ser marcado como pago. Padrão: ativado.

Enable Logging: registra eventos do gateway para solução de problemas no arquivo payu_p_debug.log.php, na pasta de logs do OpenCart (storage/logs). O arquivo não pode ser aberto pela web. Erros e avisos são sempre registrados; esta opção acrescenta os demais eventos, como cada formulário de pagamento e cada resultado da PayU. Chaves, salts e dados pessoais dos clientes nunca são registrados. Padrão: desativado.

Log: mostra o tamanho e as últimas entradas do log. Clique em Clear log para esvaziá-lo.

Delete data on uninstall: exclui as configurações do gateway e o log quando a extensão é desinstalada. Pedidos e registros de transações da PayU nunca são excluídos. Padrão: desativado.

Importar / Exportar

Export: Download JSON salva as configurações em um arquivo JSON. Os salts não são exportados.

Import: cole o JSON exportado anteriormente e clique em Import para restaurar as configurações. Os salts salvos são mantidos.

Finalização de compra

Na etapa Payment Method, o cliente escolhe o método de pagamento (por padrão, PayU India). Na etapa Confirm Order, o cliente vê a sua descrição; o OpenCart cria o pedido nessa etapa, ainda sem status. No OpenCart 4 o cliente escolhe o método de pagamento com o botão Choose do bloco de métodos de pagamento, na janela Payment method options, e clica em Confirm Order no final da página de finalização de compra. Se o pedido não tiver número de telefone, o bloco de confirmação do OpenCart 4 também mostra o campo Phone com a dica A PayU India exige o número de telefone do pagador. O número informado ali é enviado à PayU e guardado para a próxima tentativa; o número de telefone do pedido tem prioridade. Quando o cliente clica em Confirm Order, a extensão verifica a moeda, as credenciais do modo atual e o número de telefone do pedido. Sem número de telefone, o cliente permanece na etapa com A PayU India exige um número de telefone. Informe o seu número de telefone e tente novamente. Caso contrário, a extensão monta uma requisição de pagamento assinada pelo total do pedido em INR, e o navegador a envia de imediato para a página de pagamento hospedada pela PayU. A página exibe Você será redirecionado para a PayU para concluir o seu pagamento. e um botão Pay with PayU, caso o navegador não prossiga sozinho. Na página da PayU, o cliente paga com cartão, NetBanking, UPI ou carteira.

Cada clique em Confirm Order inicia uma nova tentativa com o seu próprio ID de transação da PayU (txnid), que começa com o número do pedido e é salvo com o valor e o modo. No OpenCart 3, um novo pedido é criado sempre que a etapa Confirm Order é exibida; no OpenCart 4, o pedido do checkout é atualizado, então ali uma nova tentativa paga o mesmo pedido. Um pagamento feito em uma página de pagamento mais antiga, ainda aberta, do mesmo pedido continua sendo aceito. Se outro pedido do mesmo carrinho já estiver pago, aguardando a PayU ou em revisão, o cliente vai direto para a página de sucesso e nenhum novo formulário de pagamento é criado. Uma alteração do carrinho, inclusive uma nova quantidade, conta como um novo carrinho que precisa de um pagamento próprio.

A PayU envia o resultado junto com o cliente e, se configurado, por webhook. Um resultado só é aceito com um hash válido da PayU, feito com a chave e o salt do modo em que o pagamento foi iniciado, e somente para um ID de transação emitido para esse pedido. Com Verify Payment ativado, um resultado bem-sucedido também é conferido pela API verify_payment da PayU. O valor pago precisa ser igual ao valor da tentativa e ao total do pedido, até o último paisa, em INR. O pedido só é marcado como pago depois que a PayU confirma dessa forma, e então recebe o seu status da forma padrão do OpenCart, com os e-mails habituais do pedido e a atualização do estoque. A extensão trata estes resultados da PayU:

success: o pagamento foi feito. O pedido recebe Order Status After Payment quando todas as verificações são aprovadas; caso contrário, o status de revisão.
pending: um pagamento por UPI ou NetBanking ainda está em andamento. O pedido recebe Awaiting PayU Payment Status; o resultado final chega pelo webhook.
failure: o pagamento foi recusado ou cancelado pelo cliente. Um pedido sem status continua sem status e o carrinho é mantido, para que o cliente possa pagar novamente. Um pedido que aguardava esse pagamento recebe Payment Error Status. Pedidos pagos nunca são alterados.

Após um pagamento bem-sucedido ou pendente, o cliente vê a página de sucesso do pedido do OpenCart. Um pagamento pendente acrescenta Seu pagamento na PayU está pendente. O pedido será atualizado assim que a PayU confirmar o resultado — não é preciso pagar novamente., um pedido em revisão acrescenta Seu pagamento está em análise. Entraremos em contato se for necessário mais alguma coisa., e um pedido não pago no status de erro de pagamento ou cancelado mostra Seu pagamento na PayU não foi concluído. Entre em contato conosco sobre este pedido.

Após um pagamento sem sucesso, o cliente volta à finalização de compra com uma mensagem: O pagamento não foi concluído. Tente novamente ou escolha outro método de pagamento., O pagamento foi cancelado. Você pode tentar novamente. ou, quando o resultado não pôde ser conferido, Não foi possível confirmar o resultado do pagamento. Se a sua conta foi cobrada, entre em contato conosco antes de pagar novamente. Se o resultado ainda estiver sendo processado quando o cliente voltar, uma página mostra Estamos confirmando o seu pagamento na PayU. Se você concluiu o pagamento, o seu pedido será atualizado em breve — não pague novamente. com Check again e Back to checkout. No OpenCart 4 essas mensagens são exibidas acima da página de finalização de compra.

No OpenCart 4, o pedido permanece na finalização de compra até que a página de sucesso seja exibida. Se esse pedido tiver sido fechado sem pagamento nesse meio-tempo (por exemplo, se o pagamento pendente falhou ou você o cancelou), o cliente volta à finalização de compra com a mensagem Seu pedido anterior foi cancelado ou o pagamento dele falhou. Confirme o pedido novamente. Se o pedido foi pago e depois cancelado ou reembolsado pela loja, a mensagem é Seu pedido anterior foi cancelado ou reembolsado pela loja. Confirme o pedido novamente para pagar com um novo pedido. Se ele foi pago por um carrinho anterior e o carrinho mudou desde então, a mensagem é Seu pedido anterior já foi pago. O carrinho mudou — confirme o pedido novamente para pagar o carrinho atual. O próximo Confirm Order paga um novo pedido. Um pedido fechado nunca é mostrado como pago.

O webhook também funciona enquanto a loja está em modo de manutenção, porque o OpenCart deixa passar as requisições de extensões de pagamento (no OpenCart 4, a extensão adiciona sua própria ação de inicialização para isso, que também deixa passar o retorno do cliente da PayU).

A extensão cobra somente em INR e não tem processamento multimoeda (MCP). Não tem cartões salvos nem tokenização, nem assinaturas, nem formulário de cartão dentro do site (seamless), nem gestão de EMI ou ofertas, nem pagamento com um clique da PayU.

Pedidos e reembolsos

Status do pedido

Sem status (pedido ausente): o cliente foi enviado à PayU e não pagou, ou o pagamento falhou ou foi cancelado. Em Sales > Orders, esses pedidos só aparecem com o filtro Order Status definido como Missing Orders.

Order Status After Payment (padrão Processing): o pagamento foi confirmado. Uma nota mostra PayU payment successful. Transaction ID: …, Mode: …, Bank: …

Awaiting PayU Payment Status (padrão Pending): um pagamento por UPI ou NetBanking ainda está pendente na PayU. O pedido recebe o status de pago quando a PayU confirma.

On Hold (Review) Status (padrão Pending): o valor ou a moeda pagos diferem do pedido, a API verify_payment não pôde ser acessada ou ainda não confirmou o pagamento, ou chegou um pagamento para um pedido no status Cancelled Order Status. A nota informa o motivo. Confira a transação no PayU Dashboard e, em seguida, defina o status de pago ou cancele o pedido e reembolse o pagamento. Quando apenas a verificação falhou, o pedido é pago automaticamente na próxima entrega do resultado.

Payment Error Status (padrão Failed): um pagamento pendente foi depois recusado ou cancelado. Um resultado bem-sucedido posterior ainda paga o pedido.

Refunded Status (padrão Refunded): tudo o que foi pago foi reembolsado pela extensão.

Se a PayU informar outro pagamento bem-sucedido para um pedido que já está pago, o pedido não muda e uma nota pede que você reembolse a duplicata no PayU Dashboard. Um pagamento de outro pedido do mesmo carrinho que já está pago deixa esse pedido sem status, com uma nota no pedido pago. Um pagamento da PayU para um pedido que foi trocado para outro método de pagamento recebe apenas uma nota.

As notas são entradas do History do pedido, que o cliente não vê.

Aba VibeFox PayU India Payment Gateway

Em Sales > Orders, abra um pedido pago com a PayU India. Na parte inferior da página do pedido, ao lado de History e Additional, a aba VibeFox PayU India Payment Gateway mostra o PayU transaction ID (mihpayid), o Store transaction ID (txnid), o Environment com a etiqueta Test mode nos pagamentos de teste, o Status da PayU, o Mode / bank do pagamento, os valores Paid / refund requested (INR), o formulário de reembolso, o histórico de reembolsos e as PayU notes do pedido. Em um pedido em revisão, a aba mostra um lembrete para conferir o pagamento. A aba é exibida para os usuários que têm acesso à extensão.

Reembolsos

Na aba VibeFox PayU India Payment Gateway, informe o Amount (o valor ainda não reembolsado já vem preenchido), opcionalmente um Reason (optional), e clique em Refund via PayU. Confirme a pergunta Refund this amount through PayU? This cannot be undone. Reembolsos totais e parciais são suportados; o valor precisa ser maior que zero e não pode ultrapassar o saldo do pagamento cobrado pela PayU que ainda pode ser reembolsado. Você precisa da permissão para modificar a extensão (definida em System > Users > User Groups). O reembolso é enviado pela API de reembolsos da PayU com a chave e o salt do modo em que o pagamento foi feito, por isso essas credenciais precisam estar preenchidas. Apenas uma requisição à PayU por pedido é executada por vez. Se a PayU recusar o reembolso, a aba mostra PayU refund failed: com a mensagem da PayU, e nenhum reembolso é registrado.

A PayU coloca os reembolsos em fila e os conclui de forma assíncrona; o cliente normalmente recebe o dinheiro em 5–7 dias úteis. O histórico de reembolsos e as notas mostram o valor, o ID da requisição na PayU e o motivo. Um reembolso total define o pedido como Refunded Status, sem notificar o cliente e sem devolver os produtos ao estoque, como uma alteração manual de status. Um reembolso parcial não altera o status. Os reembolsos ficam disponíveis assim que a PayU informa o ID da transação do pagamento. A extensão não consulta o status do reembolso depois.

Devoluções de produtos em Sales > Returns não devolvem dinheiro pela PayU. Reembolsos feitos no PayU Dashboard não são sincronizados de volta com o OpenCart.

Chave de licença

A extensão funciona com uma chave de licença VibeFox obtida em vibefox.net. O bloco de licença License — VibeFox PayU India Payment Gateway é o primeiro bloco em Extensions > Extensions > Payments > VibeFox PayU India Payment Gateway > Edit, acima das configurações. Cole a chave em License key e clique em Activate. Depois disso, o bloco mostra a chave mascarada, o status (por exemplo, a data até a qual a licença está ativa e o seu domínio) e os botões Check now para consultar o status novamente, Change key para informar outra chave e Remove key para remover a chave desta loja. Abaixo deles ficam a linha Product: opencart-payment-payu-india e o link Manage licenses and domains in your account, que abre a sua conta no vibefox.net. Apenas usuários administradores com a permissão Modify para a extensão podem alterar a chave. Os textos do bloco seguem o idioma do admin (inglês e russo estão incluídos).

Se a chave não for aceita, o bloco informa o motivo, por exemplo Key not found, This key belongs to another product, Domain limit reached ou License expired on seguido de uma data. Depois que o endereço da loja mudar, ou depois que você liberar uma vaga de domínio na sua conta, clique em Check now. Se o servidor de licenças não puder ser acessado, a extensão continua funcionando com o último status conhecido.

Uma chave funciona em um domínio: o endereço da loja na configuração do OpenCart. Remover a chave da loja não libera a vaga de domínio. Libere a vaga na sua conta no vibefox.net.

Sem uma chave ativa, a PayU India não é exibida aos clientes na finalização de compra. Se um pagamento for iniciado mesmo assim, o cliente vê This payment method is not available. Please choose another one. Um usuário administrador conectado ao admin no mesmo navegador ainda vê o método de pagamento na loja, marcado como (unlicensed — visible to admins only), para que você possa configurar e testar a extensão antes de comprar uma chave. No OpenCart 4 essa prévia não está disponível: a loja não enxerga o login do admin, então, sem uma chave ativa, o método de pagamento fica oculto para todos. Depois de abrir a página Edit uma vez, aparece um lembrete no Dashboard do admin. Feche-o com × para ocultá-lo por 7 dias. Os pedidos existentes não são afetados: pagamentos já iniciados continuam sendo confirmados, e os reembolsos funcionam.

Quando uma licença expira, a extensão continua funcionando, mas atualizações e suporte exigem renovação. O status é verificado novamente de forma automática quando você abre o Dashboard ou a página Edit do admin: uma vez por dia nos primeiros 14 dias após a chave ser informada e, depois, uma vez por semana. Não é necessário cron job. Desinstalar a extensão sempre remove a chave de licença e o status da licença.

Solução de problemas

A PayU India não aparece na finalização de compra: verifique se a licença está ativa, se Enable/Disable está ativado e se a chave e o salt do Mode selecionado estão preenchidos. Verifique se o cliente paga em INR, se o endereço de pagamento está na Geo Zone selecionada e se o pedido atinge o Total definido nas configurações. A página de configurações exibe um aviso quando as credenciais estão faltando ou quando a moeda da loja não é INR.

O pagamento foi feito, mas o pedido continua sem status: o cliente não voltou para a loja e nenhum webhook chegou. Adicione a URL do webhook da página de configurações em PayU Dashboard > Webhooks para pagamentos bem-sucedidos e com falha, e garanta que ela esteja acessível pela internet.

O webhook responde invalid_signature: o hash da PayU não correspondeu. Verifique se a chave e o salt do modo do pagamento estão corretos e se o Salt v1 está sendo usado, não o Salt v2. Um resultado de pagamento real assinado com o salt de teste, ou o contrário, também é rejeitado. Nada é alterado.

O webhook responde not_configured: a chave ou o salt do modo em que o pagamento foi iniciado estão faltando. Informe-os; a PayU tentará o webhook novamente.

O webhook responde verify_unavailable: a API verify_payment ainda não conseguiu confirmar o pagamento. O pedido fica em revisão, e a próxima entrega verifica novamente.

O webhook responde busy ou retry: o retorno do cliente com o mesmo carrinho estava sendo processado no mesmo momento, ou o status do pedido não pôde ser definido. A PayU tentará o webhook novamente. O motivo é gravado no log.

O webhook responde ignored_unknown_txnid: a transação não foi iniciada por esta loja, por exemplo por outra loja que usa a mesma conta da PayU. Nada é alterado.

O cliente vê A PayU India exige um número de telefone: o pedido não tem número de telefone. Mantenha o campo Telephone na sua finalização de compra. No OpenCart 4, o cliente pode informar o número no campo Phone do bloco de confirmação.

O cliente vê This payment method is not available. Please reload the checkout page.: o método de pagamento foi desativado nesse meio-tempo, as credenciais estão faltando, ou a finalização de compra não corresponde mais ao pedido. O cliente precisa recarregar a finalização de compra.

O pedido está no status de revisão: leia as notas na aba VibeFox PayU India Payment Gateway. O motivo é uma divergência de valor ou moeda, uma verificação com falha ou pendente, ou um pagamento para um pedido cancelado.

O reembolso falha: PayU transaction ID not found for this order. significa que o pedido ainda não tem um pagamento na PayU. This payment was made in Test mode, but the Merchant Key/Salt of that mode are not set. (ou Live mode) significa que você precisa informar primeiro as credenciais desse modo. Invalid refund amount: at most … INR can be refunded. significa que o valor é maior que o saldo do pagamento.

Pouca informação no log: erros e avisos são sempre gravados; ative o Enable Logging para ver também cada formulário de pagamento e cada resultado da PayU.

Para desenvolvedores: antes que a requisição de pagamento seja assinada, a extensão dispara o evento do OpenCart payu_p_request_fields com os campos da requisição e o pedido. A chave, o ID da transação, o valor e as URLs de retorno não podem ser alterados por ele.

Desinstalação

Acesse Extensions > Extensions, escolha o tipo Payments e clique em Uninstall (o botão vermelho −) ao lado de VibeFox PayU India Payment Gateway. A chave de licença e o status da licença desta extensão são sempre removidos. O OpenCart sempre remove as próprias configurações da extensão: Enable/Disable, Sort Order, Geo Zone, Total e os status de pedido da seção Orders, que voltam aos padrões em uma reinstalação. O evento do OpenCart da extensão também é removido (no OpenCart 4, também os seus eventos e a sua ação de inicialização, que deixa passar o webhook e o retorno do cliente no modo de manutenção). Se Delete data on uninstall estiver ativado, as demais configurações do gateway (título, descrição, modo, chaves, salts, verificação de pagamento, logging) e o log são removidos. Se estiver desativado, eles são mantidos para uma reinstalação futura. Os registros de transações da PayU e os pedidos de reembolso são sempre mantidos, de modo que pedidos pagos antes podem ser reembolsados após uma reinstalação. Os pedidos existentes mantêm as suas notas de pagamento.

No OpenCart 4, para remover também os arquivos da extensão, depois da desinstalação vá em Extensions > Installer, clique em Uninstall (o botão laranja −) ao lado de VibeFox PayU India Payment Gateway na lista de extensões instaladas e depois em Delete (o botão vermelho com a lixeira) para remover o pacote enviado.

A PayU é uma marca registrada de seu respectivo titular. Esta extensão não é afiliada nem endossada pela PayU.