Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, estou implementado na loja de um cliente com carrinho próprio ou seja, todo o processo de seleção dos produtos é feito diretamente na loja e somente após clicar no botão finalizar a compra que é enviado ao pagseguro.
A loja está em C#
Dúvidas:
1) Estou utilizando o componente UOL.PagSeguro.dll disponibilizado na página e configurado de acordo com o vídeo apresentado pelo desenvolvedor.
2) Foi configurado corretamente a página de retorno no pagseguro, gerado o token e configurado o componente com este token porém a página parece não retornar nenhum dado ou seja, não aciona os modulos para atualizar a base de dados.
abaixo: código da pagina de retorno:
>
protected void Page_Load(object sender, EventArgs e)
{
//this.RetornoPagSeguro1.UrlNPI = "http://localhost:9090/pagseguro-ws/checkout/NPI.jhtml";
//Session["pedId"] = 1115;
//Session["usrId"] = 1;
}
protected void RetornoPagSeguro1_VendaEfetuada(UOL.PagSeguro.RetornoVenda retornoVenda)
{
//Obtendo o número do Pedido
idPedido = int.Parse(retornoVenda.CodigoReferencia);
//Obtendo o código da transação no PagSeguro
string codTrans = retornoVenda.CodigoTransacao;
//Obtendo o novo status do pedido
string strStatus = retornoVenda.StatusTransacaoDescricao;
//Obtendo a forma de pagamento utilizada
string formaPgto = retornoVenda.TipoPagamentoDescricao;
//Obtendo a forma de pagamento utilizada
string formaEnvio = retornoVenda.TipoFreteDescricao;
//Obtendo o valor pago pelo frete
decimal taxaEnvio = Convert.ToDecimal(retornoVenda.ValorFrete);
//Obtendo a anotação deixada pelo cliente no momento do pagamento
string obs = retornoVenda.Anotacao;
int parcelas = retornoVenda.Parcelas;
//Atualizando na base de dados o status do pedido e as outras informações
string sql = string.Format("UPDATE pedidoS SET taxaEnvio={0}, formaEnvio='{1}', formaPgto='{2}', obs='{3}', codTrans='{4}', total=subTotal + taxaEnvio, parcelas={5}, statusRet='{6}' WHERE idPedido={7}",
taxaEnvio, formaEnvio, formaPgto, obs, codTrans, parcelas, strStatus, idPedido);
SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["JairoString"].ConnectionString);
SqlCommand cmd = new SqlCommand(sql, con);
cmd.CommandType = CommandType.Text;
using (con)
{
con.Open();
cmd.ExecuteNonQuery();
}
/*
SqlCommand cmd2 = new SqlCommand(string.Format("SELECT idCadastro FROM pedidos WHERE idPedido={0}", idPedido), con);
cmd2.CommandType = CommandType.Text;
using (con)
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
idCadastro = Convert.ToInt32(reader["idCadastro"]);
}
*/
Session.RemoveAll();
}
protected void RetornoPagSeguro1_VendaNaoAutenticada(object sender, UOL.PagSeguro.VendaNaoAutenticadaEventArgs e)
{
//Aqui dispara quando o PagSeguro retorna algo diferente de verificado
}
protected void RetornoPagSeguro1_FalhaProcessarRetorno(object sender, UOL.PagSeguro.FalhaProcessarRetornoEventArgs e)
{
//Aqui dispara quando dá algum problema de parse nos dados
}
protected void RetornoPagSeguro1_RetornoVerificado(object sender, UOL.PagSeguro.VendaAutenticadaEventArgs e)
{
//Aqui dispara quando é obtido o retorno VERIFICADO do PagSeguro. Este método é disparado antes do RetornoPagSeguro1_VendaEfetuada
}
Onde estou errando?
O usuário finaliza a compra, inclusive imprimi alguns boletos, verifiquei no extrato e ta constando la o pedido somente aguardando o pagamento mas caso o usuário venha a cancelar la no pagseguro como eu saberia já que aparentemente não tá retornando nada.
Agradeço qualquer ajuda.
>
>
1) Estou utilizando o componente UOL.PagSeguro.dll disponibilizado na página e configurado de acordo com o vídeo apresentado pelo desenvolvedor.
2) Foi configurado corretamente a página de retorno no pagseguro, gerado o token e configurado o componente com este token porém a página parece não retornar nenhum dado ou seja, não aciona os modulos para atualizar a base de dados.
- O valor a ser enviado para o PagSeguro é em gramas. Veja em : https://pagseguro.uo...o_proprio.jhtml
"Informe em gramas, o peso total dos produtos à venda. Para 1kg informe 1000 e para 30g informe 30."
- Verifique se os requests e responses estão setados como ISO-8859-1 dentro do web.config;
<system.web>
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> ...
</system.web>
https://pagseguro.uo...igFreight.jhtml
Caso seja interessante dê uma olhada nesse link -
http://code.google.c...agsegurodotnet/
Valeu amigão, vou verificar e posto novamente se funcionou, depois ainda tenho que implantar um cielo em outro e vai ser outra pedreira
Abraço
>
>
>
1) Estou utilizando o componente UOL.PagSeguro.dll disponibilizado na página e configurado de acordo com o vídeo apresentado pelo desenvolvedor.
2) Foi configurado corretamente a página de retorno no pagseguro, gerado o token e configurado o componente com este token porém a página parece não retornar nenhum dado ou seja, não aciona os modulos para atualizar a base de dados.
- O valor a ser enviado para o PagSeguro é em gramas. Veja em : https://pagseguro.uo...o_proprio.jhtml
"Informe em gramas, o peso total dos produtos à venda. Para 1kg informe 1000 e para 30g informe 30."
- Verifique se os requests e responses estão setados como ISO-8859-1 dentro do web.config;
<system.web>
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" /> ...
</system.web>
https://pagseguro.uo...igFreight.jhtml
Caso seja interessante dê uma olhada nesse link -
http://code.google.c...agsegurodotnet/
Valeu amigão, vou verificar e posto novamente se funcionou, depois ainda tenho que implantar um cielo em outro e vai ser outra pedreira
Abraço
Fiz os ajustes para o peso e agora pelo menos na página do pagseguro o cliente pode selecionar a forma de envio.
Agora o retorno parece que não deu certo ainda. Localmente está funcionado testando com o programa de teste em offline.
Após o processamento a página de retorno é mostrada ao usuário porém sem as informações retornadas do gateway.
Ufaaaaaaaaaaaaaaa!!!
Caramba que pedreira.
Mas no final deu tudo certo e já ta funcionando o retorno automatico, atualizando a tabela de pedidos normalmente e o principal, apresentando os dados retornados do gateway ao cliente.
Realmente é muito prático esse componente fornecido pela Uol.
Parabéns ao(s) desenvolvedor(res) pela iniciativa.
>
1) Estou utilizando o componente UOL.PagSeguro.dll disponibilizado na página e configurado de acordo com o vídeo apresentado pelo desenvolvedor.
2) Foi configurado corretamente a página de retorno no pagseguro, gerado o token e configurado o componente com este token porém a página parece não retornar nenhum dado ou seja, não aciona os modulos para atualizar a base de dados.
- O valor a ser enviado para o PagSeguro é em gramas. Veja em : https://pagseguro.uo...o_proprio.jhtml
"Informe em gramas, o peso total dos produtos à venda. Para 1kg informe 1000 e para 30g informe 30."
- Verifique se os requests e responses estão setados como ISO-8859-1 dentro do web.config;
<system.web>
https://pagseguro.uo...igFreight.jhtml
Caso seja interessante dê uma olhada nesse link -
http://code.google.c...agsegurodotnet/