Ir para conteúdo

Arquivado

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

Ilano

Erro ao enviar dados do cliente para o PagSeguro

Recommended Posts

Olá pessoal,

Eu implementei no meu sistema o serviço do PagSeguro como mostra abaixo:

 

 

Protected Sub btnContinua4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnContinua4.Click
Dim Ds As Data.DataSet
Ds = Inscricao.ConsultaAvancada(" B.Aluno_CPF = '" & LbCPF.Text & "' " & _
" AND A.Oferta_ID = " & ViewState("Oferta") & _
" AND C.Curso_ID = " & ViewState("Curso"), "")
Dim pDados As New UOL.PagSeguro.Produto
pDados.Codigo = Ds.Tables(0).Rows(0)("ACurso_ID")
pDados.Descricao = Ds.Tables(0).Rows(0)("ACurso_ID") & " - " & Ds.Tables(0).Rows(0)("Aluno_CPF")
pDados.Valor = LbValor.Text
pDados.Quantidade = 1
pDados.Frete = 0
pDados.Peso = 0
Me.VendaPagSeguro1.Produtos.Add(pDados)
Me.VendaPagSeguro1.CodigoReferencia = Ds.Tables(0).Rows(0)("ACurso_ID")
Me.VendaPagSeguro1.EmailCobranca = "seccontabil@seccontabil.com.br"
Me.VendaPagSeguro1.Moeda = "BRL"
Me.VendaPagSeguro1.TipoFrete = UOL.PagSeguro.TipoFreteVenda.DefinidoPeloCliente
Me.VendaPagSeguro1.Executar(Me.Response)
End Sub

mas quando executo o componente aparece a mensagem abaixo:

Transação inválida. Sempre inicie transações a partir de sites confiáveis.

 

Alguém sabe como posso corrigir isso? Preciso colocar algo no web.config?

Grato,

Ilano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Dan Borges,

 

Liberei o pagamento via api como mostram os links que você postou. Mas agora está retornando o erro:

 

  • Erro 130 - O ID do item não foi informado.
  • Erro 155 - A QUANTIDADE do item não foi informada.
  • Erro 165 - O VALOR do item não foi informado.
  • Erro 140 - A DESCRIÇÃO do item não foi informada.

Fiz o breakpoint e todas as informações estão sendo passadas para o componente. O que está faltando?

Outra coisa, pesquisando na internet, encontrei o código abaixo. Mas está dando erro quando aplico no meu projeto.

 

Protected Sub Button1_Click(sender As Object, e As EventArgs)

Carrinho.Instancia.Adicionar(Integer.Parse(DirectCast(sender, Button).CommandArgument), 1)
Me.AtualizarStatus()
End Sub
Protected Sub btnLimpar_Click(sender As Object, e As ImageClickEventArgs)
Me.LimparCarrinho()
End Sub
Protected Sub btnComprar_Click(sender As Object, e As ImageClickEventArgs)
'Somente executa se tiver itens
If Carrinho.Instancia.TemItens Then
'Carregando a tabela
Dim tabela As New CarsDataSet.CarsDataTable()
Dim adapter As New CarsDataSetTableAdapters.CarsTableAdapter()
adapter.Fill(tabela)
'Varrendo os itens
For Each codigo As Integer In Carrinho.Instancia.CodigosDosItens
Dim quantidade As Integer = Carrinho.Instancia.ObterQuantidadeDoItem(codigo)
Dim registro As CarsDataSet.CarsRow = tabela.FindByCodigo(codigo)
Dim produto As New Produto()
produto.Codigo = codigo.ToString()
produto.Descricao = String.Format("{0} {1}", registro.Marca, registro.Modelo)
produto.Quantidade = quantidade
produto.Valor = registro.Valor
Me.VendaPagSeguro1.Produtos.Add(produto)
Next
'Grave o seu pedido no banco de dados
Dim acessoDados As New AcessoDados()
Dim codigo_pedido As Integer = acessoDados.GravarPedido(Carrinho.Instancia)
'Limpando o Carrinho
Me.LimparCarrinho()
'Efetuando a venda
Me.VendaPagSeguro1.CodigoReferencia = codigo_pedido.ToString()
'Código do Compra
Dim cliente As New Cliente()
cliente.Nome = "Danilo Molina"
cliente.Cep = "14403456"
cliente.Endereco = "Rua"
cliente.Numero = "149"
cliente.ComplementoEndereco = "teste"
cliente.Bairro = "Vila Chico Julio"
cliente.Cidade = "Guará"
cliente.Uf = "SP"
cliente.Pais = "BRA"
cliente.DDD = 16
cliente.Telefone = 39898909
cliente.Email = "danilo@teste.com.br"
Me.VendaPagSeguro1.Executar(Me.Response)
End If
End Sub

Erros que aparecem:

- 'Carrinho' is not declared. It may be inaccessible due to its protection level.

- Type 'Cliente' is not defined.

- Type 'AcessoDados' is not defined.

- Type 'CarsDataSet.CarsDataTable' is not defined.

- Type 'CarsDataSetTableAdapters.CarsTableAdapter' is not defined.

Como posso alterar esse código para o meu que está no início do post? Só tá faltando isso para realizar as vendas dos cursos que já vão se iniciar no final dessa semana, por favor me ajudem a implementar meu código corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca usei a API do PagSeguro. Mas verifique quais são os valores passados para as propriedades, por exemplo:

pDados.Valor = LbValor.Text

A propriedade Valor recebe uma string mesmo?

 

Sobre o código de terceiros, fica difícil, ele implementou muito mais do que esse trecho do código, por isso os erros de tipos não definidos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, eu já fiz o break point para acompanhar todos os processos e sim são passados os valores para as propriedades, inclusive para LbValor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

- 'Carrinho' is not declared. It may be inaccessible due to its protection level.

Esse erro é falta de instanciamento de classe, acontece quando você tem algum lugar referenciando uma variável "Carrinho" que não existe.

- Type 'Cliente' is not defined.

Dim cliente As New Cliente()

Provavelmente sua classe Cliente não existe ou então você não importou o namespace da mesma

 

- Type 'AcessoDados' is not defined.

A variável 'AcessoDados' não existe no código, o correto é 'acessoDados', leia seu código com atenção e lembre-se de que variáveis são SEMPRE case sensitive.

- Type 'CarsDataSet.CarsDataTable' is not defined.

- Type 'CarsDataSetTableAdapters.CarsTableAdapter' is not defined.

Mesmo caso do cliente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, eu já fiz o break point para acompanhar todos os processos e sim são passados os valores para as propriedades, inclusive para LbValor.

 

Se não conseguir resolver entre em contato com a equipe técnica responsável pela api do Pagseguro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por emmanuelsiqueira30
      Pessoal boa tarde.
      Estou precisando de um help na seguinte questão:
      Estou com um formulário em PHP, chamada cadastro.php que passa um POST para a página de transação chamada resumo-boleto.php, porém o arquivo que possui as configurações (config.php) de E-mail e Token, quando uso o do Sandbox funciona e gera o boleto normalmente mas ao colocar em produção não passa nenhum parametro.
       
       
    • Por emmanuelsiqueira30
      Pessoal boa tarde.
      Estou precisando de um help na seguinte questão:
      Estou com um formulário em PHP, chamada cadastro.php que passa um POST para a página de transação chamada resumo-boleto.php, porém o arquivo que possui as configurações (config.php) de E-mail e Token, quando uso o do Sandbox funciona e gera o boleto normalmente mas ao colocar em produção não passa nenhum parametro.
    • Por Wilherme
      Boa tarde galera, preciso de uma ajuda,
       
      Tenho um gráfico no meu Power Bi porem apresenta o erro abaixo:
       

       
      já habilitei as funções porém ainda com erro.
       
       
      Obrigado.
    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por Algorithm
      Olá a todos
       
      Eu estou codificando um exemplo de uso do GraphQL com Nodejs, mas eu estou recebendo um erro de syntax relacionado a [ : ] [ Dois Pontos ], mas eu comparei meu codigo, com o da documentação oficial e esta tudo certo. Será que alguem, conseguiria achar o erro ?
       
      OBS: Esta incluso neste post [ Exemplo Documentação, Meu Exemplo, Mensagem de Erro, Código Completo ]
       
      Exemplo Documentação
      module.exports = /* GraphQL */ ` type Client { id: ID! name: String age: Int products: [Product] } type Query { clients: [Client] client(id: ID!): Client } type Mutation { addClient(name: String!, age: Int!): Client } `  
      Meu Exemplo
      const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `;  
      Mensagem de Erro
      C:\Users\Core\node\node_modules\graphql\language\parser.js:1413 throw (0, _syntaxError.syntaxError)( ^ GraphQLError: Syntax Error: Expected ":", found Name "Pessoa". at syntaxError (C:\Users\Core\node\node_modules\graphql\error\syntaxError.js:15:10) at Parser.expectToken (C:\Users\Core\node\node_modules\graphql\language\parser.js:1413:40) at Parser.parseFieldDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:847:10) at Parser.optionalMany (C:\Users\Core\node\node_modules\graphql\language\parser.js:1510:28) at Parser.parseFieldsDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:831:17) at Parser.parseObjectTypeDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:803:25) at Parser.parseDefinition (C:\Users\Core\node\node_modules\node_modules\graphql\language\phql\language\parser.js:171:23) at Parser.many (C:\Users\Core\node\node_modules\graphql\language\parser.js:1529:26) at Parser.parseDocument (C:\Users\Core\node\node_modules\graphql\language\parser.js:121:25) at parse (C:\Users\Core\node\node_modules\graphql\language\parser.js:32:17) { path: undefined, locations: [ { line: 26, column: 57 } ], extensions: [Object: null prototype] {} }  
      Codigo Completo
      // Requires const express = require('express'); const GraphQL_HTTP = require('express-graphql'); const { mergeSchemas } = require('@graphql-tools/schema'); // Run // const connect = MongoClient.connect(''); const app = express(); const getCode = () => { return 10 }; // GraphQL Definitions || Query and Mutation const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `; // Functions const resolvers = { Query: { resposta: function() { return `GraphQL Conectado com Sucesso...`; }, saudacao: function(_, args) { return `Olá ${args.nome}! Seja Muito Bem Vindo(a) a GraphQL!!!! ` }, findPessoaOne: function(_, args) { return db.collection('GraphQL-Pessoa').findOne({codigo: args.codigo}) .then((result) => { return result; }); }, findPessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).find(args.input).toArray() .then((result) => { return result; }); }, Mutation: { insertPessoa: function(_, args) { args.input.codigo = getCode(); return db.collection(`GraphQL-Pessoa`).insertOne(args.input) .then((result) => { return result.ops[0]; }); }, updatePessoa: function(_, args) { return db.collection('GraphQL-Pessoa').updateOne({codigo: args.codigo}, {$set: args.input}) .then((result) => { if(result.result.n > 0) return `Registro Alterado com Sucesso!`; else return `Ocorreu um erro ao alterar o registro`; }); }, deletePessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).deleteOne({codigo: args.codigo}) .then((result) => { if(result.result.n > 0) return `Registro Deletado com Sucesso!`; else return `Ocorreu um erro ao deletar o registro`; }); } } } }; const schema = mergeSchemas({ typeDefs: typeDefs, resolvers: resolvers }) // Listen app.listen(3005, () => { console.log(`Servidor Rodando na Porta 3005`); })  
       
      Obrigado
×

Informação importante

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