Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexmar

integraçao Virtuemart e Pagseguro

Recommended Posts

Amigos

 

Achei na Net esse código que funciona muito bem para integração do Virtuemart e PAG SEGURO.. mas ele dá um erro no valor do frete que sai no PAGSEGURO com uma casa decimal a menos...

 

Ex: se no carrinho do virtuemart o valor do frete fica em 18,00 no Pagseguro ele fica registrado como 1,80.

 

Como não entendo nada de liguagem peço que me de uma luz.

 

No PAG SEGURO, testei como frete fixo com desconto e frete fixo sem desconto.

 

Tentei alterar os valores para 10 porém aparece no Pagseguro como 10 UNIDADES DE FRETE DE 1,80 totalizando 18,00 o que pode confundir o cliente.

 

eis o código..

 

 

1 - Entre na configuração da loja (vituemart)

 

 

2 - Vá em LOJA -> Adicionar método de pagamento

 

 

3 - Na primeira aba:

ATIVO: marcar

CODIGO: PS

Payment class name: ps_payment

Usar cybercash: marcar PayPal

Grupo de cliente: -defaul-

desconto: 0.00

listar encomedas: 0

 

 

4 - Na aba configuração cole o código que está logo aqui em abaixo.

 

 

Não esqueça de trocar onde está seuemail@seusite.com.brEste endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. para o seu email de recebimento na PagSeguro.

 

Segue o código:

 

Código:
<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
<input type="hidden" name="email_cobranca" value=" seuemail@seusite.com.brEste endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. ">
<input type="hidden" name="tipo" value="CP">
<input type="hidden" name="moeda" value="BRL">
<input type="hidden" name="item_id_1" value="FRETE">
<input type="hidden" name="item_descr_1" value="<?php 
$details = explode( "|", $db->f("ship_method_id"));
echo $details[2];
?>">
<input type="hidden" name="item_quant_1" value="1">
<input type="hidden" name="item_valor_1" value="<?php 
$shipping_total = $db->f("order_shipping");
if ($auth["show_price_including_tax"] == 1)
$shipping_total += $db->f("order_shipping_tax");
echo $shipping_total;
?>">

<?php 
$id_do_item = 1;
$dbcart = new ps_DB;
$item_quant = 0;
$q = "SELECT * FROM #__vm_order_item ";
$q .= "WHERE #__vm_order_item.order_id='$order_id' ";
$dbcart->query($q); 
$subtotal = 0;
while ($dbcart->next_record()) {
?>

<input type="hidden" name="item_id_<?php $id_do_item = $id_do_item+1; echo $id_do_item; ?>" value="<?php echo $dbcart->p("order_item_sku"); ?>">
<input type="hidden" name="item_descr_<?php echo $id_do_item; ?>" value="<?php echo $dbcart->p("order_item_name"); ?>">
<input type="hidden" name="item_quant_<?php echo $id_do_item; ?>" value="<?php echo $dbcart->p("product_quantity"); ?>">
<input type="hidden" name="item_valor_<?php echo $id_do_item; ?>" value="<?php $preco = $dbcart->f("product_item_price"); print number_format($preco, 2, '.', ''); ?>">

<? } ?>


<input type="hidden" name="cliente_nome" value="<?php 
$dbbt->p("first_name");
echo " ";
$dbbt->p("middle_name");
echo " ";
$dbbt->p("last_name");
?>">
<input type="hidden" name="cliente_cep" value="<?php $dbbt->p("zip"); ?>">
<input type="hidden" name="cliente_end" value="<?php $dbbt->p("address_1");?>">
<input type="hidden" name="cliente_num" value="">
<input type="hidden" name="cliente_compl" value="">
<input type="hidden" name="cliente_bairro" value="">
<input type="hidden" name="cliente_cidade" value="<?php $dbbt->p("city"); ?>">
<input type="hidden" name="cliente_uf" value="<?php $dbbt->p("state"); ?>">
<input type="hidden" name="cliente_pais" value="BRA">
<input type="hidden" name="cliente_ddd" value="">
<input type="hidden" name="cliente_tel" value=" <?php $dbbt->p("phone_1");?>">
<input type="hidden" name="cliente_email" value="<?php $dbbt->p("user_email"); ?>">
<input type="image" src="/https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">
</form>

 

FIM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, onde você conseguiu este código fonte para integração do Virtuemart e PAG SEGURO? Poderia passar o link ou mesmo o zip contendo os arquivos? Você já experimentou este (oficial) http://visie.com.br/pagseguro/joomla.php ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Especificamente onde da pau? Ele deu pau na sua primeira versão, mas agora foi corrigido.

Se for no final da compra, é porque o PagSeguro não aceita o envio de tags html, agora elas já estão sendo escapadas.

 

Experimenta de novo e veja se continua dando pau, estamos aqui para ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Especificamente onde da pau? Ele deu pau na sua primeira versão, mas agora foi corrigido.

Se for no final da compra, é porque o PagSeguro não aceita o envio de tags html, agora elas já estão sendo escapadas.

 

Experimenta de novo e veja se continua dando pau, estamos aqui para ajudar.

 

Tb nao consegui a integracao usuando o modo do vise, da pau no final ... utilizo joomla 1.0.15 e virtue mart 1.1.3.... poderia ajudar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem pessoal... entrei neste forum apenas pq tambem estou com esse problema, descobri o erro, mais infelizmente ainda não achei a solução, por isso se algum souber como resolver ajuda ai...

 

Esse erro apenas acontece no frete, e não no produto, por algum motivo, esse codigo elimina os "0" da direita, isso eh;;; um frete que custa R$ 51,70... ira passar a custa R$ 5,17... mais se o frete custar por exemplo... R$ 51,75... ira aparecer bem certinho no pagseguro (R$ 51,75)

 

Alguem poderia informa pq isso acontece??? e se tem algum codigo que possa transforma esse codio sem esse erro, pois ele eh muito bom para quem usa o VIRTUEMART 1.0.x... ja nas versão 1.1.x... no proprio site do pagseguro tem um que funciona... Mais eu prefiriria esse por da um resultado melhor...

 

OBRIGADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei uma solução... agora ele junta o frete com o produto... e da o valor total... mais funcionou... fiz meus teste e ficou tudo certo... espero que funciono com vcs tambem...

 

 

 

 

<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">

<input type="hidden" name="email_cobranca" value="seumail@mail.com">

<input type="hidden" name="tipo" value="CP">

<input type="hidden" name="moeda" value="BRL">

<input type="hidden" name="item_id_1" value="<?php echo $db->f("order_id") ?>">

<input type="hidden" name="item_valor_1" value="<?php $total = $db->f("order_total");

print number_format($total, 2, '.', '');?>">

 

 

<?php

$dbcart = new ps_DB;

$q = "SELECT * FROM #__vm_order_item ";

$q .= "WHERE #__vm_order_item.order_id='$order_id' ";

$dbcart->query($q);

$subtotal = 0;

while ($dbcart->next_record()) {

?>

 

<input type="hidden" name="item_descr_1" value="<?php echo $dbcart->p("order_item_name"); ?>">

<input type="hidden" name="item_quant_1" value="1">

 

<!--input type="hidden" name="item_quant_1" value="<?php echo $dbcart->p("product_quantity"); ?>"-->

<!--se enviar a qtde o pagseguro recalcula, assim dá certo -->

 

<? } ?>

 

 

<input type="hidden" name="cliente_nome" value="<?php

$dbbt->p("first_name");

echo " ";

$dbbt->p("middle_name");

echo " ";

$dbbt->p("last_name");

?>">

<input type="hidden" name="cliente_cep" value="<?php $dbbt->p("zip"); ?>">

<input type="hidden" name="cliente_end" value="<?php $dbbt->p("address_1");?>">

<input type="hidden" name="cliente_num" value="">

<input type="hidden" name="cliente_compl" value="">

<input type="hidden" name="cliente_bairro" value="">

<input type="hidden" name="cliente_cidade" value="<?php $dbbt->p("city"); ?>">

<input type="hidden" name="cliente_uf" value="<?php $dbbt->p("state"); ?>">

<input type="hidden" name="cliente_pais" value="BRA">

<input type="hidden" name="cliente_ddd" value="">

<input type="hidden" name="cliente_tel" value=" <?php $dbbt->p("phone_1");?>">

<input type="hidden" name="cliente_email" value="<?php $dbbt->p("user_email"); ?>">

<input type="image" src="https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a Todos!!!

 

Acabo de testar esta postagem e está funcionando

 

Joomla 1.5.9 e VM 1.1.3 (tudo PTBR)

 

só o botãozinho de finalizar que é FEINHO...rsrs

 

Grato,

 

Mordechai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá !!!

 

Surgiu um problema...

Quando coloco dois tipos de produtos no carrinho

 

No pedido do VM, vai tudo bem...calculo correto...

 

Porém para o Pagseguro...ele considera como 11, ou seja 1 e 1

e acaba multiplicando o Valor Total do Pedido por 11

Ex: R$10,00 produto "A" e R$5,00 produto "B" =R$15,00+frete, no PS ele faz 15,00x11=R$165,00

Independente das quantidades colocadas nos dois produtos, ele, PS, pega valor total do pedido e multiplica por 11.

 

 

 

Grato,

 

Mordechai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a Todos!!!!

 

Implantei o script da VISIE, mas o mesmo não envia o valor do frete.

Como em alguns casos tenho frete gratis, ou frete fixos para algumas regiões

seria interessante que valor de frete da loja fosse enviado para o Pagseguro

 

Grato a Todos...

 

Mordechai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que consegui... to colocando aqui, depois de horas... literalmente pq são 5:00 da manha... eheheheh

 

eu naum sei praticamente nada de PHP. Mais acho ke resolvi esse problema substituindo apenas um numero...

 

($auth["show_price_including_tax"] == 1)

 

por

 

($auth["show_price_including_tax"] == 2)

 

os testes que eu fiz funcionou... so ke o site dos correios tah com problema e meu calculo de frete tah dando erro... por isso não deu pra fazer muitos testes... se alguem achar um erro avisa aqui.

 

e peço ao pessoal que entende em php da uma ajuda, pq eu naum sei nada de php e estou consegundo muita coisa. Aposto que se aparecer alguem que realmente entenda iria resolver isso facilmente.

 

o codigo completo ficara assim:

 

<form target="pagseguro" action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx" method="post">
<input type="hidden" name="email_cobranca" value="SEU E-MAIL">
<input type="hidden" name="tipo" value="CP">
<input type="hidden" name="moeda" value="BRL">
<input type="hidden" name="item_id_1" value="FRETE">
<input type="hidden" name="item_descr_1" value="<?php
$details = explode( "|", $db->f("ship_method_id"));
echo $details[2];
?>">
<input type="hidden" name="item_quant_1" value="1">
<input type="hidden" name="item_valor_1" value="<?php
$shipping_total = $db->f("order_shipping");
if ($auth["show_price_including_tax"] == 2)
$shipping_total += $db->f("order_shipping_tax");
echo $shipping_total;
?>">

<?php
$id_do_item = 1;
$dbcart = new ps_DB;
$item_quant = 0;
$q = "SELECT * FROM #__vm_order_item ";
$q .= "WHERE #__vm_order_item.order_id='$order_id' ";
$dbcart->query($q);
$subtotal = 0;
while ($dbcart->next_record()) {
?>

<input type="hidden" name="item_id_<?php $id_do_item = $id_do_item+1; echo $id_do_item; ?>" value="<?php echo $dbcart->p("order_item_sku"); ?>">
<input type="hidden" name="item_descr_<?php echo $id_do_item; ?>" value="<?php echo $dbcart->p("order_item_name"); ?>">
<input type="hidden" name="item_quant_<?php echo $id_do_item; ?>" value="<?php echo $dbcart->p("product_quantity"); ?>">
<input type="hidden" name="item_valor_<?php echo $id_do_item; ?>" value="<?php $preco = $dbcart->f("product_item_price"); print number_format($preco, 2, '.', ''); ?>">

<? } ?>


<input type="hidden" name="cliente_nome" value="<?php
$dbbt->p("first_name");
echo " ";
$dbbt->p("middle_name");
echo " ";
$dbbt->p("last_name");
?>">
<input type="hidden" name="cliente_cep" value="<?php $dbbt->p("zip"); ?>">
<input type="hidden" name="cliente_end" value="<?php $dbbt->p("address_1");?>">
<input type="hidden" name="cliente_num" value="">
<input type="hidden" name="cliente_compl" value="">
<input type="hidden" name="cliente_bairro" value="">
<input type="hidden" name="cliente_cidade" value="<?php $dbbt->p("city"); ?>">
<input type="hidden" name="cliente_uf" value="<?php $dbbt->p("state"); ?>">
<input type="hidden" name="cliente_pais" value="BRA">
<input type="hidden" name="cliente_ddd" value="">
<input type="hidden" name="cliente_tel" value=" <?php $dbbt->p("phone_1");?>">
<input type="hidden" name="cliente_email" value="<?php $dbbt->p("user_email"); ?>">
<input type="image" src="/https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">
</form>

 

 

peço ajuda do pessoal... quero saber se esse erro tah resolvido ou se pode aparecer outro.

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
GRUPO LCK voce precisará testar seu sistema nao tem como se afirmar que vai ou que nao vai ter algum erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

GRUPO LCK!!!!!!!

Parabéns pelo seu esforço em ficar até altas horas...

Mas saiba que sua atitude valeu apena...pelo menos prá mim...tenho uma loja particular de venda de Cajon e

agora está funcionando redondinha (vou fazer outros testes) ...graças ao seu esforço e de outros que colaboram com este Forum

PARABÉNS A TODOS.

 

Só nao se esqueçaam de tirar a "/" no inicio da tag que chama o botão, senão o botão não aparece.

A tag tem que ser: <input type="image" src="https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">

sem a barrinha.

 

O ideal ainda seria a Página do Pagseguro abrir na mesma janela da loja , por conta dos Bloqueadores de PopUp.

 

Grato

 

Atodos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw grupo lck! kara estava deseperado para economizar um cascalho comprando uma solucao de um doido ai da web e sabia que tinha solução no proprio codigo do pagseguro. FUNFOU legal! agora eu to tentando configurar o esedex (sistema de modulo dos correios com contrato) esta quase tudo ok, só que o módulo esta com problema na virgula qdo eu coloco o peso no vm com virgula o pac nao aceita e vice versa. Eu fiz uma gambiarra com o modulo sedex mas nao ta indo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao integrar o pagseguro com o virtuemart, qual deverá ser a URL de retorno que eu devo cadastrar no site do pagseguro?

 

Ola pessoal,

Estou com o mesma duvida do Pablo. Não achei em lugar nenhum qual o URL de retorno devo usar no Virtuemart!

Estou usando o módulo "oficial", do site da vise.

Obrigado!

 

Update:

Depois que a gente descobre, vira óbvio. :angry: Segue a dica para o Pablo e quem mais precisar:

http://www.seusite.com.br/joomla/administrator/components/com_virtuemart/classes/payment/pagseguro/retorno_pagseguro.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você está usando o módulo da visie utilize a url de retorno dela, inclusive você pode colocar o código do forum na área administrativa e manter o script dele no virtuemart.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia pessoal.... eu freguento o site mas é a primeira vez q posto e desculpe está REVIVENDO este post mas estou com dificuldade num certo ponto...se poderem me ajudar já deixo meus agradecimentos....

 

Então, resumindo:

Virtuemart+Pagseguro+Joomla = OK

 

Meu problema:

Na finalização da compra, qdo o cliente clica para efetuar o pagamento e o site encaminha para a ordem de serviço do pagseguro, na descrição dos produtos o frete não sai com o nome FRETE , sai com o valor do produto.... vejam a imagem:

 

tela 01.jpg

tela 02.jpg

 

E o código que eu tenho no módulo de pagamento no virtue é:

 

<form target="pagseguro"

action="https://pagseguro.uol.com.br/security/webpagamentos/webpagto.a

spx" method="post">
<input type="hidden" name="email_cobranca"

value="adelinalima@osbemaventurados.com.br">
<input type="hidden" name="tipo" value="CP">
<input type="hidden" name="moeda" value="BRL">
<input type="hidden" name="item_id_1" value="FRETE">
<input type="hidden" name="item_descr_1" value="<?php
$details = explode( "|", $db->f("ship_method_id"));
echo $details[2];
?>">
<input type="hidden" name="item_quant_1" value="1">
<input type="hidden" name="item_valor_1" value="<?php
$shipping_total = $db->f("order_shipping");
if ($auth["show_price_including_tax"] == 2)
$shipping_total += $db->f("order_shipping_tax");
echo $shipping_total;
?>">

<?php
$id_do_item = 1;
$dbcart = new ps_DB;
$item_quant = 0;
$q = "SELECT * FROM #__vm_order_item ";
$q .= "WHERE #__vm_order_item.order_id='$order_id' ";
$dbcart->query($q);
$subtotal = 0;
while ($dbcart->next_record()) {
?>

<input type="hidden" name="item_id_<?php $id_do_item = $id_do_item+1;

echo $id_do_item; ?>" value="<?php echo $dbcart->p("order_item_sku");

?>">
<input type="hidden" name="item_descr_<?php echo $id_do_item; ?>"

value="<?php echo $dbcart->p("order_item_name"); ?>">
<input type="hidden" name="item_quant_<?php echo $id_do_item; ?>"

value="<?php echo $dbcart->p("product_quantity"); ?>">
<input type="hidden" name="item_valor_<?php echo $id_do_item; ?>"

value="<?php $preco = $dbcart->f("product_item_price"); print

number_format($preco, 2, '.', ''); ?>">

<? } ?>


<input type="hidden" name="cliente_nome" value="<?php
$dbbt->p("first_name");
echo " ";
$dbbt->p("middle_name");
echo " ";
$dbbt->p("last_name");
?>">
<input type="hidden" name="cliente_cep" value="<?php $dbbt->p("zip");

?>">
<input type="hidden" name="cliente_end" value="<?php $dbbt->p

("address_1");?>">
<input type="hidden" name="cliente_num" value="">
<input type="hidden" name="cliente_compl" value="">
<input type="hidden" name="cliente_bairro" value="">
<input type="hidden" name="cliente_cidade" value="<?php $dbbt->p

("city"); ?>">
<input type="hidden" name="cliente_uf" value="<?php $dbbt->p("state");

?>">
<input type="hidden" name="cliente_pais" value="BRA">
<input type="hidden" name="cliente_ddd" value="">
<input type="hidden" name="cliente_tel" value=" <?php $dbbt->p

("phone_1");?>">
<input type="hidden" name="cliente_email" value="<?php $dbbt->p

("user_email"); ?>">
<input type="image"

src="https://pagseguro.uol.com.br/Security/Imagens/btnfinalizaBR.jpg"

name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!">
</form>

 

Esse código peguei de um colega nos posts acima.

 

Eu não sei se o erro é nesse código que repassa pro pagseguro ou é na tabela de banco de dados do virtuemart.... se alguém poder me ajudar fica já meus agradecimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.