Forma de pagamento x Forma de Envio

Postado em Atualizado em

Em visita ao Fórum PrestaShop Holandês, me deparei com uma interessante solução para o problema da forma de pagamento quando este não se aplica a determinada forma de envio.

Traduzindo: Dentro de minha própria cidade, eu posso usar, como forma de envio Correios PAC, Correios SEDEX e Pick Up on Store (Eu mesmo entrego). Como forma de pagamento eu posso usar Boleto Bancário, Cartões…. e também Cash On Delvery (Pagamento na Entrega).

Ocorre que, mesmo se tratando de uma entrega local, caso o cliente opte pelo envio através dos serviços dos Correios, o pagamento na entrega não lhe deveria ser mostrado como opção, pois o mesmo é atrelado à forma de envio ‘Pick up On Store’.

Da mesma forma, e não se tratando de uma compra na mesma cidade da loja, a opção ‘Cash On Delivery’ não deveria ser-lhe mostrada como opção para pagamento.

Assim, no Fórum Holandês foi utilizado o PayPal como exemplo e atrelado a uma forma de envio apenas – TNT. A solução é adicionar código ao paypal.php forçando-o a mostrar-se como opção ao ser selecionado a forma de envio TNT.

Onde, por exemplo é assim:

public function hookPayment($params)
{
global $smarty;

$address = new Address(intval($params['cart']->id_address_invoice));
$customer = new Customer(intval($params['cart']->id_customer));
$business = Configuration::get('PAYPAL_BUSINESS');
$currency = $this->getCurrency();

Ficaria assim (a TNT, neste exemplo possui a ID 5):

public function hookPayment($params)
{
global $smarty;

// BO ship2pay tweak
if ((intval($params['cart']->id_carrier))==5) return;
// EO ship2pay tweak

$address = new Address(intval($params['cart']->id_address_invoice));
$customer = new Customer(intval($params['cart']->id_customer));
$business = Configuration::get('PAYPAL_BUSINESS');
$currency = $this->getCurrency();

Falta aprimorar esta solução, mas já é um caminho, quem sabe para um novo módulo. Alguém se habilita?

Verifique também o Post original no Fórum PrestaShop Holandês

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s