Página 1 de 1

PayPal Frete Fácil

Enviado: 23 Out 2013, 16:46
por webcorp
Boa tarde
Estou com um problema complicado de resolver : o Frete Fácil Paypal.
Estou utilizando o PayPal Express padrão e a integração está 99% correta (ainda quero ajustar os campos para o PayPal BR)
O site já está em produção e os pagamentos, retornos, etc estão funcionando corretamente.
Exceto quando o cliente tenta utilizar o serviço Frete Fácil oferecido pelo Paypal/Fast Service.

Mesmo ser ter mexido em nada no script, cada hora o Frete Fácil retorna um erro diferente e não permite a compra do frete com desconto.

Antes de migrar para o OpenCart o cliente utilizava o Virtuemart ( 1.1.9 ) e os dados de endereço já eram enviados para o Frete Fácil. Com o OpenCart isso não acontecendo.

Em contato com o suporte do PayPal e da Fast Service, eles estão alegando que o parâmetro L_OPTIONSVALUE deveria ser passado pois é utilizando este parâmetro que o Frete Fácil realiza os cálculos ( muito estranho pq de acordo com a API do PayPal esse parâmetro refere-se as opções do produto - https://cms.paypal.com/uk/cgi-bin/?cmd= ... ionDetails )

Alguém já passou por isso ?

Desde já obrigado

Marco

Re: PayPal Frete Fácil

Enviado: 24 Out 2013, 14:58
por webcorp
Resolvido ( reescrevendo o plugin )

Marco

Re: PayPal Frete Fácil

Enviado: 27 Out 2013, 19:11
por Renato Frota
Poderia nos dizer como resolveu?

Re: PayPal Frete Fácil

Enviado: 13 Nov 2013, 16:37
por webcorp
Claro Renato ( desculpe a demora )
1. Essa modificação foi feita para o componente MijoShop no Joomla, mas a lógica é a mesma.
2. Complemento é um campo criado por vQMod ( outro script )
3. E claro, essa alteração foi feita via vQMod
catalog/model/payment/pp_express.php

no final da função paymentRequestInfo antes do return $data
Código: Selecionar todos
$frete = $this->db->query("SELECT `customer_id`, `payment_firstname`, `payment_lastname`, `shipping_firstname`, `shipping_lastname`, `shipping_company`, `shipping_address_1`, `shipping_address_2`, `shipping_city`, `shipping_postcode`, `shipping_country`, `shipping_country_id`, `shipping_zone`, `shipping_zone_id`, `shipping_address_format`, `shipping_method`, `shipping_code`, `shipping_complemento` FROM `" . DB_PREFIX . "order` WHERE `order_id` = {$_SESSION['order_id']}");

// passa as informações de endereço para o Frete Fácil	
$data['ADDROVERRIDE'] = '1';
$data['FIRSTNAME'] = $frete->row['payment_firstname'];
$data['LASTNAME'] = $frete->row['payment_lastname'];
$data['SHIPTONAME'] = $frete->row['shipping_firstname'] . ' ' . $frete->row['shipping_lastname'];
$data['SHIPTOSTREET'] = $frete->row['shipping_address_1'] . ' ' . $frete->row['shipping_company'] . ' ' . $frete->row['shipping_complemento'];
$data['SHIPTOCITY'] = $frete->row['shipping_city'];
$data['SHIPTOSTATE'] = $frete->row['shipping_zone'];
$data['SHIPTOZIP'] = preg_replace('/[^0-9]/', '', $frete->row['shipping_postcode']);

// passa as informações para preenchimento automático dos campos na criação de conta do PayPal
$cliente = $this->db->query("SELECT `email`, `telephone` FROM `" . DB_PREFIX . "customer` WHERE `customer_id` = " . $frete->row['customer_id'] );

$data['EMAIL'] = $cliente->row['email'];
$data['SHIPTOPHONENUM'] = preg_replace('/[^0-9]/', '', $cliente->row['telephone']);

$pais = $this->db->query("SELECT `iso_code_2` FROM `" . DB_PREFIX . "country` WHERE `country_id` = " . $frete->row['shipping_country_id'] );

$data['SHIPTOCOUNTRYCODE'] = $pais->row['iso_code_2'];
$data['COUNTRYCODE'] = $pais->row['iso_code_2'];

$cpf = $this->db->query("SELECT `tax_id` FROM `" . DB_PREFIX . "address` WHERE `customer_id` = " . $frete->row['customer_id'] );

// Cuidado pra não confundir - por coincidência o campo cpf tem o mesmo parâmetro taxid
$data['TAXID'] = preg_replace('/[^0-9]/', '', $cpf->row['tax_id']);
É isso
Espero que ajude

Marco

Re: PayPal Frete Fácil

Enviado: 14 Nov 2013, 01:26
por Renato Frota
Obrigado pela colaboração :)