Ir para conteúdo

Arquivado

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

Helinho Coelho

[Resolvido] Migração de Carrinho Próprio para o Pagseguro usando

Recommended Posts

Helinho, encontrei o erro.

 

<% 
While ((Repetir__numRows <> 0) AND (NOT RSpedido_detalhe.EOF)) 
%>
<tr>
<td><div align="center"><%=(RSpedido_detalhe.Fields.Item("cod_pedido").Value)%></div></td>
<td><div align="left">        <%=(RSpedido_detalhe.Fields.Item("produto").Value)%> - <%=(RSpedido_detalhe.Fields.Item("cod_produto").Value)%></div></td>
<td><div align="center"><%=(RSpedido_detalhe.Fields.Item("quantidade").Value)%></div></td>
<td><div align="left">            <%= FormatCurrency((RSpedido_detalhe.Fields.Item("preco").Value), 2, -2, -2, -2) %></div></td>
</tr>
<% 
Repetir__index=Repetir__index+1
Repetir__numRows=Repetir__numRows-1
RSpedido_detalhe.MoveNext()
Wend
%>
</table>

<p> </p>
<form target="_parent" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml">
<input type="hidden" name="email_cobranca" value="helio@cwpublicidade.com" />
<input type="hidden" name="tipo" value="CP" />
<input type="hidden" name="moeda" value="BRL" />
<%
RSpedido_detalhe.MoveFirst() '<---- Adicione essa linha
i = 1
do until RSpedido_detalhe.EOF
%>
<input name="item_id_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("cod_pedido").Value)%>" />
<input name="item_descr_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("produto").Value)%>" />
<input name="item_quant_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("quantidade").Value)%>" />
<input name="item_valor_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("preco").Value)%>" />
<%
RSpedido_detalhe.MoveNext
i = i + 1
loop
%>

O que acontece é o seguinte. Você já tinha um loop ali em cima que rodava todos os campos de sua tabela, começando do primeiro, indo até o último e parando quando fosse eof.

Quando você entra no segundo loop, manda ele rodar novamente até enquanto não for eof. Mas como o primeiro loop estava levando o ponteiro para o fim do arquivo, o segundo loop nem roda.

Então com a linha acrecentada, mandamos novamente para o início do arquivo e é para dar certo agora. Tenta ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Cláudio,

 

É realmente eu vi e entendi o erro... depois da tabela o .EOF já estava sendo desconsiderado em função do Repeat da tabela que visualiza os produtos do pedido atual!

 

Bom, eu inseri a linha de código que você me orientou: "RSpedido_detalhe.MoveFirst()" e o Pagseguro reconheceu que o carrinho não está vazio, mas retornou APENAS o primeiro registro do pedido. Eu fiz um teste com 3 produtos no carrinho!

 

Grato,

 

Helinho Coelho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, caminhamos, rs...

 

Mas estou achando muito estranho. Seu código ficou exatamente como o meu no post anterior? Poste ele aqui.

 

Nossa, reparei que teve uma inflação em seu site. Antes tudo custava R$10,00, agora tudo custo R$1.099,00. Aumentou heim, rs...

 

Corrija algumas coisas em seu form. Primeiro que o preço deve ser passado sem pontos e vírgulas, e seu produto de 1.099,00, deve ser passado como 109900. E outra coisa, altere essa linha:

<input name="item_descr_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("produto").Value)%>" />
Para ficar assim:

<input name="item_descr_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("produto").Value) & "-" & (RSpedido_detalhe.Fields.Item("cod_produto").Value)%>" />
Ficará melhor quando for para pagseguro pois terá mais informações sobre o produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Cláudio,

 

Já fiz as alterações nos preços que por sinal já estão sendo enviados da forma correta e já fiz a alteração no FORM que você pediu. Logo abaixo se encontra o código na forma como estou enviando, na qual o Pagseguro está recebendo porém não está repetindo os valores do BD na página do Pagseguro.

 

 

<% 
While ((Repetir__numRows <> 0) AND (NOT RSpedido_detalhe.EOF)) 
%>
<tr>
<td><div align="center"><%=(RSpedido_detalhe.Fields.Item("cod_pedido").Value)%></div></td>
<td><div align="left"><%=(RSpedido_detalhe.Fields.Item("produto").Value)%> - <%=(RSpedido_detalhe.Fields.Item("cod_produto").Value)%></div></td>
<td><div align="center"><%=(RSpedido_detalhe.Fields.Item("quantidade").Value)%></div></td>
<td><div align="left"><%= FormatCurrency((RSpedido_detalhe.Fields.Item("preco").Value), 2, -2, -2, -2) %></div></td>
</tr>
<% 
Repetir__index=Repetir__index+1
Repetir__numRows=Repetir__numRows-1
RSpedido_detalhe.MoveNext()
Wend
%>
</table>

<p> </p>
<form target="_parent" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml">
<input type="hidden" name="email_cobranca" value="helio@cwpublicidade.com" />
<input type="hidden" name="tipo" value="CP" />
<input type="hidden" name="moeda" value="BRL" />
<%
RSpedido_detalhe.MoveFirst()
do until RSpedido_detalhe.EOF
i = 1
%>
<input name="item_id_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("cod_pedido").Value)%>" />
<input name="item_descr_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("produto").Value)%> & "-" & <%=(RSpedido_detalhe.Fields.Item("produto").Value)%>" />
<input name="item_quant_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("quantidade").Value)%>" />
<input name="item_valor_<%=i%>" type="hidden" value="<%=(RSpedido_detalhe.Fields.Item("preco").Value)%>" />
<%
RSpedido_detalhe.MoveNext
i = i + 1
loop
%>

<label>
<input name="enviar_pagamento" type="submit" id="enviar_pagamento" value="Escolher forma de pagamento" />
</label>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Helinho, você colocou o i = 1 dentro do loop de novo. Por isso só está passando um produto.

 

Olha o meu lá em cima no post 21. Passar o valor igual a 1 para i deve ser feito antes de entrar no loop.

Senão dessa forma você só passa:

item_id_1

item_descr_1

item_quant_1

item_valor_1

 

Pois i sempre será igual a 1.

 

Mas beleza, você trocando isso, seu site deve funcionar tudo agora.

Avisa ai o que deu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu prezado Cláudio,

 

Realmente foi isso... desculpe a vergonha que passei(rs)!!! Bom, agora o carrinho funcionou perfeitamente e todas as informações do pedido estão sendo migradas perfeitamente, inclusive os valores eu já formatei da forma correta. Quando você tiver um tempinho confere lá: www.metaisdolar.com.br/carrinho.asp

 

Quero aproveitar o final deste tópico para lhe agradecer a paciência e compreensão. Pessoas como você são dignas de todo respeito e admiração! E de pronto fico feliz por ter lhe conhecido, espero que possamos nos encontrar mais pelos fóruns da vida! (rs)

 

Abraço cordial,

 

Helinho Coelho

Belo Horizonte-MG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uau Helinho, obrigado. Estou lisongeado com as palavras, obrigado mesmo.

 

Se precisar de mais alguma coisa, não exite em postar, estamos aqui para ajudar.

 

E digo o mesmo, quem sabe nos encontremos por aí.

 

Abraço e boa sorte com seu site, torço para que venda muito.

 

Que Deus lhe abençoe.

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.