Ir para conteúdo

Arquivado

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

fabio_br

[Resolvido] Erro passando valores Visanet

Recommended Posts

Bom dia

 

EStou com um problema, estou já com um site de ecommerce em atividade e mesmo após o visa realizar os testes para implementação estou com um erro que está denegrindo a imagem de meu site. Imaginem você fazer uma compra de 102,50 e o Visanet lhe manda um extrato de 1025,00 . Entrei em contato com o pessoal da locaweb onde fiz o ecommerce e lá só me ajudaram dizendo o seguinte:

 

"Efetuei uma verificação em seu site e aparentemente o parâmetro price está sendo passado de forma incorreta, para uma compra de R$100,00 reais o parâmetro deve receber o valor de '10000', para uma compra de R$152,50 ele deve ser passado como '15250' e assim por diante. "

 

REalmente ao fazer uns testes verifiquei que se realizasse uma compra com numero quebrado por exemplo 152,50 ele passa para o parametro price o valor de 152,500 ao inves de 15250.

 

A programação aki está da seguinte forma para a captura do parâmetro price:

 

<%

 

Dim pricemask

pricemask = Session("grandfinal") & "00"

 

%>

 

O valor na minha sessão grandfinal que tá zuando com o resultado, pois quando o valor é passado quebrado como o 152,50 a sessao retorna 152,5 , ae como coloquei o acrescimo dos dois 00 fica errado com o valor de 152,500. Já quando a compra é no valor de numeros inteiros como por exemplo 142,00 a sessao grandfinal passa o resultado de 142, valor certo para o acrescimo dos 0, ficando o resultado igual a 14200.

 

Sei que deve parecer idiota para vocês mas naum dei conta de fazer um esquema para que o fosse acrescentado dois 0 quando o numero viesse inteiro e que transformasse o valor 152,5 em 1525 e acrescentasse apenas um 0, retornando o valor certo que seria de 15250.

 

Espero uma ajuda

Sem mais

Obrigado

Fábio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

 

Tenho o código fonte abaixo para capturar o valor pricemask:

 

<%

 

Dim pricemask

pricemask = Session("grandfinal") & "00"

 

%>

 

Meu problema é que preciso que o valor final da variável pricemask seja inteiro do tipo 14200, 15250 , etc..

A sessao granfinal é que me está dando problemas pq ela retorna 152,5 para numeros fracionados e 152 para numeros inteiros. Com isso com o acrescimo dos dois 00 ( & "00") no final da expressão tenho os resultados:

152,500 quando o valor passado foi 152,5 e 15200 quando o valor passado foi 152.

 

Como devo fazer para retirar a virgula e acrescentar so um zero quando o numero for fracionado do tipo 152,5 e acrescentar dois 00 quando o numero for inteiro? Já tentei umas coisas aki mas sem sucesso.

 

Espero uma ajuda

Sem mais

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que testar se o valor é inteiro, o teste fica +/- assim:

If Int(seuValor) = seuValor Then
'Acrescente os zeros
End If

Os dados devem ser passados sem a "," para o VisaNet?

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de "somar" zeros

 

formate usando formatnumber

 

pricemask = FormatNUmber(Session("grandfinal"),2)

 

o 2 ali é o numeros de casas decimais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é isso que estou precisando Mário.

Preciso é que os resultados venham sem a virgula.

 

Tipo do jeito que você passou eu corrijo os resultados que antes vinham 142,5 para 142,50 , mas o que eu preciso é que o resultado venha 14200 quando for 142,00 e que venha 14250 quando for 142,50.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim , Salgado os números devem ser enviados sem a virgula.

 

Tipo se o cliente fez uma compra no valor de R$ 142,50 o valor a ser passado deve ser 14250 e caso seja inteiro tipo R$ 142,00 o valor a ser passado deve ser 14200.

 

Desde já

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Multiplique por 100 o valor total antes de enviar e verifique se fica condizente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim não resolve:

price = replace(replace(formatnumber(Session("grandfinal"),2),",",""),".","")

Compartilhar este post


Link para o post
Compartilhar em outros sites

multiplique por 100 entao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópicos mesclados pois tratam do mesmo assunto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

AE galera obrigado pela atenção

 

Funcionou perfeito agora com a expressão:

price = replace(replace(formatnumber(Session("grandfinal"),2),",",""),".","")

 

Obrigado mesmo.

 

Por acaso se vocês ainda não entraram em meu site, www.catvi.com.br entrem lá galera, participando da promoção vocês estarao concorrendo a qq produto disponível no site. Sungas ou biquinis.

 

Obrigado de novo pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabnes tiozinho

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.