Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#76589
Olá, na minha loja, quero disponibilizar a retirada e também o frete via correios. Para ficar mais simples de entender o que eu quero fazer, darei um exemplo abaixo:
O Fulano de tal vai retirar na loja, quando ele clicar em retirar na loja, eu já quero que apareça Pagar na Entrega e quando a pessoa selecionar via Correios/Transportadora, eu quero que apareça meu gateway de pagamento.
#76616
Olá,

Para fazer isso é fácil, mas vou fazer de forma manual, depois você pode melhorar.

1. Abra o arquivo https://github.com/opencart/opencart/bl ... od.php#L53 e substitua toda a linha pelo código abaixo:
Código: Selecionar todos
if ($this->session->data["shipping_method"]["code"] == "free.free") {
    $method = $this->{'model_extension_payment_cod'}->getMethod($this->session->data['payment_address'], $total);
    $method_data[$result['code']] = $method;
    break;
} elseif ($result['code'] == "cod") {
    continue;
} else {
    $method = $this->{'model_extension_payment_' . $result['code']}->getMethod($this->session->data['payment_address'], $total);
}

Ps.: Substitua o cod pela forma de pagamento que você deseja exibir somente para determinado frete. (Altere as duas linhas)
Ps².: Substitua o free.free pelo ID da forma de envio que você deseja apareça uma determinada forma de pagamento.
Ps³.: Pada descobrir o ID da forma de envio, basta acessar o arquivo em catalog/model/extension/shipping/NOME-DO-FRETE.php e verificar em
Código: Selecionar todos
'code'         => 'ID DO FRETE AQUI',
Ps4.: Para descobrir o ID da forma de pagamento, basta acessar o arquivo em catalog/model/extension/payment/PAGAMENTO.php e seguir o passo anterior.
Ps5.: As formas de pagamento e envio devem está configuradas corretamente.

---

No meu caso eu deixei dessa forma:
Quando o usuário escolher a forma de envio "Free Shipping", o usuário só terá a opção de pagamento "Cash On Delivery"; Caso o usuário escolha outra opção de frete, exemplo "Flat Shipping Rate", ele não terá acesso a opção de pagamento "Cash On Delivery"
#76636
Olá,valdeir2000.
Obrigado pela ajuda, preciso de ajuda com sua extensão do moip.
A sua extensão MOIP, não está funcionando... Eu tento editar as informações, e dá que não tenho permissão (as mesmas encontram-se habilitadas). No meu carrinho já está aparecendo a opção do MOIP, porém quando vou terminar o pedido em ambiente sandbox, não aparece o botão finalizar na revisão do pedido.