Página 1 de 1
(resolvido)Endereço do cliente captado pelo PagSeguro Lightbox
Enviado: 28 Nov 2016, 18:54
por Smagicas
Olá pessoal,
Na minha loja 2.0.3.1 não existe os campos de número e complemento no cadastro co cliente, nesse caso eu criei através do admin na seção "Personalizar cadastro". Bem funciona perfeito na loja quando é pagamento direto em conta, o problema é quando o cliente paga pelo pagseguro lightbox que capta o endereço que o cliente cadastrou na loja e não capta esses dois campos por não ser nativo da loja e nesse caso a etiqueta para envio sai incompleta tendo que estar completando a caneta.
No script do módulo do pagseguro informa que não existe esses dois campos no Opencart e por isso não capta.
Alguém sabe dar uma dica de como alterar o script para captar esses dois campos? mesmo que tenha que ser feito a unha fora do admin.
Re: (RESOLVIDO)Endereço do cliente captado pelo PagSeguro Lightbox
Enviado: 29 Nov 2016, 11:00
por Smagicas
Trecho do script do módulo do pagseguro lightbox:
Código: Selecionar todos// Endereço para entrega
$paymentRequest->setShippingAddress(
Array(
'postalCode'=> preg_replace ("/[^0-9]/", '', $order_info['shipping_postcode']),
'street' => $order_info['shipping_address_1'],
'number' => 'numero', // Não há este campo no OpenCart
'complement'=> '', // Não há este campo no OpenCart
'district' => $order_info['shipping_address_2'],
'city' => $order_info['shipping_city'],
'state' => (isset($zone['code'])) ? $zone['code'] : '',
'country' => $order_info['shipping_iso_code_3']
)
);
}
else{
$zone = $this->model_localisation_zone->getZone($order_info['payment_zone_id']);
// Endereço para entrega
$paymentRequest->setShippingAddress(
Array(
'postalCode'=> preg_replace ("/[^0-9]/", '', $order_info['payment_postcode']),
'street' => $order_info['payment_address_1'],
'number' => '',
'complement'=> '',
'district' => $order_info['payment_address_2'],
'city' => $order_info['payment_city'],
'state' => (isset($zone['code'])) ? $zone['code'] : '',
'country' => $order_info['payment_iso_code_3']
)
);
}
Re: (resolvido)Endereço do cliente captado pelo PagSeguro Lightbox
Enviado: 02 Dez 2016, 14:18
por ronan
Amigo, isso é um problema!
Eu uso a versao 2.0.3.1 do OC, e uso o checkout transparente do pagseguro, que funciona perfeitamente, pra isso criei os campos número e CPF na opencart
Porém, na tela de checkout no endereço do cliente não aparece o número!!!! mas se o cliente editar o endereço ele encher o campo número, etc, só na tela de confirmação não aparece e nem nos emails da loja nem do cliente com o pedido também não aparece o número ;-(
Já instalei uma ocmod do valdeir pra resolver isso mas não funcionou
Não sei mais o que fazer ;-(
Re: (resolvido)Endereço do cliente captado pelo PagSeguro Lightbox
Enviado: 05 Dez 2016, 08:48
por veteranodf
Utilize o código abaixo, tem que fazer uma modificação no código, onde tem ['numero'] deve substituir pelo ID do campo customizado, exemplo ['8'], para saber o ID acesse o menu Clientes > Personalizar cadastro > edite o campo em questão e veja o valor da query "custom_field_id" na URL do navegador;
Código: Selecionar todos// Endereço para entrega
$paymentRequest->setShippingAddress(
Array(
'postalCode'=> preg_replace ("/[^0-9]/", '', $order_info['shipping_postcode']),
'street' => $order_info['shipping_address_1'],
'number' => !empty($order_info['shipping_custom_field']['numero']) ? $order_info['shipping_custom_field']['numero'] : '',
'complement'=> !empty($order_info['shipping_custom_field']['numero']) ? $order_info['shipping_custom_field']['numero'] : '',
'district' => $order_info['shipping_address_2'],
'city' => $order_info['shipping_city'],
'state' => (isset($zone['code'])) ? $zone['code'] : '',
'country' => $order_info['shipping_iso_code_3']
)
);
}
else{
$zone = $this->model_localisation_zone->getZone($order_info['payment_zone_id']);
// Endereço para entrega
$paymentRequest->setShippingAddress(
Array(
'postalCode'=> preg_replace ("/[^0-9]/", '', $order_info['payment_postcode']),
'street' => $order_info['payment_address_1'],
'number' => !empty($order_info['payment_custom_field']['numero']) ? $order_info['payment_custom_field']['numero'] : '',
'complement'=> !empty($order_info['payment_custom_field']['numero']) ? $order_info['payment_custom_field']['numero'] : '',
'district' => $order_info['payment_address_2'],
'city' => $order_info['payment_city'],
'state' => (isset($zone['code'])) ? $zone['code'] : '',
'country' => $order_info['payment_iso_code_3']
)
);
}
Re: (resolvido)Endereço do cliente captado pelo PagSeguro Lightbox
Enviado: 05 Jan 2017, 13:10
por ronan
veteranodf escreveu:Utilize o código abaixo, tem que fazer uma modificação no código, onde tem ['numero'] deve substituir pelo ID do campo customizado, exemplo ['8'], para saber o ID acesse o menu Clientes > Personalizar cadastro > edite o campo em questão e veja o valor da query "custom_field_id" na URL do navegador;
Código: Selecionar todos// Endereço para entrega
$paymentRequest->setShippingAddress(
Array(
'postalCode'=> preg_replace ("/[^0-9]/", '', $order_info['shipping_postcode']),
'street' => $order_info['shipping_address_1'],
'number' => !empty($order_info['shipping_custom_field']['numero']) ? $order_info['shipping_custom_field']['numero'] : '',
'complement'=> !empty($order_info['shipping_custom_field']['numero']) ? $order_info['shipping_custom_field']['numero'] : '',
'district' => $order_info['shipping_address_2'],
'city' => $order_info['shipping_city'],
'state' => (isset($zone['code'])) ? $zone['code'] : '',
'country' => $order_info['shipping_iso_code_3']
)
);
}
else{
$zone = $this->model_localisation_zone->getZone($order_info['payment_zone_id']);
// Endereço para entrega
$paymentRequest->setShippingAddress(
Array(
'postalCode'=> preg_replace ("/[^0-9]/", '', $order_info['payment_postcode']),
'street' => $order_info['payment_address_1'],
'number' => !empty($order_info['payment_custom_field']['numero']) ? $order_info['payment_custom_field']['numero'] : '',
'complement'=> !empty($order_info['payment_custom_field']['numero']) ? $order_info['payment_custom_field']['numero'] : '',
'district' => $order_info['payment_address_2'],
'city' => $order_info['payment_city'],
'state' => (isset($zone['code'])) ? $zone['code'] : '',
'country' => $order_info['payment_iso_code_3']
)
);
}
Qual é o arquivo que devo editar para corrigir amigo?
Lembrando que nos emails que sáo enviados tantos para a loja quanto para o compradot o endereco tambem aparece serm o número
Muito obrigado!!!
Re: (resolvido)Endereço do cliente captado pelo PagSeguro Lightbox
Enviado: 05 Jan 2017, 14:28
por Smagicas
ronan, o arquivo citado acima é do pagseguro lightbox e está em catalog/controller/payment/pagseguro.php, para saber o ID acesse o menu Clientes > Personalizar cadastro > edite o campo em questão e veja o valor da query "custom_field_id" na URL do navegador