Ir para conteúdo

POWERED BY:

Arquivado

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

Davi Araújo

[Resolvido] Botão pagseguro com os centavos

Recommended Posts

Caros,

 

O código do pag seguro que gera o botão de pagamento é

 

<!-- INICIO FORMULARIO BOTAO PAGSEGURO -->
 <form target="pagseguro" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml" method="post">
 <input type="hidden" name="email_cobranca" value="email@gmail.com">
 <input type="hidden" name="tipo" value="CP">
 <input type="hidden" name="moeda" value="BRL">
 <input type="hidden" name="item_id_1" value="001">
 <input type="hidden" name="item_descr_1" value="Venda de produto 1">
 <input type="hidden" name="item_quant_1" value="1">
 <input type="hidden" name="item_valor_1" value="5000">
 <input type="hidden" name="item_frete_1" value="0">
 <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamento/btnComprarBR.jpg" name="submit">
 </form>
 <!-- FINAL FORMULARIO BOTAO PAGSEGURO -->

Se eu Colocar o

<input type="[b]TEXT[/b]" name="item_valor_1" value="Digite o valor aqui">
ele aparece a caixa para colocar o valor.

 

Mas preciso colocar o "00" no final (ex: R$ 100,00 = 10000).

 

Como faço para colocar somente o valor principal e quando ele enviar ja enviar com o valor certo (EX: 100 = R$ 100,00)

 

Colocar so o valor principal mas ele enviar junto mais dois zeros.

 

Agradeço a todos.

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri...

 

Criar um arquivo por exemplo pagseguro.js e colocar o código abaixo:

 

function Mask_Moeda(obj,evtKeyPress,tmax,vmax){
	var rKey = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	
	if(obj.readOnly) {
		return false;
	}
	
	if(evtKeyPress.keyCode != 0) {
		nKey = 	evtKeyPress.keyCode;
	} else {
		nKey = evtKeyPress.which;
	}
	
	if (nKey == 13 || nKey == 8 || nKey == 9 || nKey == 118 || nKey == 37 || nKey == 36 ||nKey == 38|| nKey == 39 || nKey == 40 || nKey == 46 || nKey == 99) {
		return true;
	}
	if (evtKeyPress.shiftKey) {
		return true;
	}
	
	rKey = String.fromCharCode(nKey);
	
	if (strCheck.indexOf(rKey) == -1) {
		return false;
	}

	len = obj.value.length;
	if (len ==  tmax)  // tamanho máximo do valor incluindo as vírgulas
		return false;
	for(i = 0; i < len; i++){
		if ((obj.value.charAt(i) != '0') && (obj.value.charAt(i) != ',')) 
			break;
	}
	aux = '';
	for(; i < len; i++){
		if (strCheck.indexOf(obj.value.charAt(i))!=-1) 
			aux += obj.value.charAt(i);
	}
	aux += rKey;
	len = aux.length;
	if (len == 0) 
		obj.value = '';
	if (len == 1) 
		obj.value = '0,0' + aux;
	if (len == 2) 
		obj.value = '0,' + aux;
	if (len > 2) {
		aux2 = '';
		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				//aux2 += '.';
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		obj.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
			obj.value += aux2.charAt(i);
		obj.value += ',' + aux.substr(len - 2, len);				
	}

	if(parseFloat(obj.value) >= vmax) {
		obj.value = vmax;
		return false;
	}

	return false;
}

Chama o JavaScript

 

<script language="JavaScript" type="text/javascript" src="pagseguro.js"></script>

 

Aqui o código do botão para ser colocado o valor.

 

 

<!-- INICIO FORMULARIO BOTAO PAGSEGURO -->
 <form target="pagseguro" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml" method="post">
 <input type="hidden" name="email_cobranca" value="email@gmail.com">
 <input type="hidden" name="tipo" value="CP">
 <input type="hidden" name="moeda" value="BRL">
 <input type="hidden" name="item_id_1" value="001">
 <input type="hidden" name="item_descr_1" value="Venda de produto 1">
 <input type="hidden" name="item_quant_1" value="1">
 <input type="hidden" name="item_valor_1" onkeypress="return Mask_Moeda(this,event,10);" >
 <input type="hidden" name="item_frete_1" value="0">
 <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamento/btnComprarBR.jpg" name="submit">
 </form>
 <!-- FINAL FORMULARIO BOTAO PAGSEGURO -->

Espero que sirva para alguem.

 

abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você também pode digitar o valor normal sem os centavos (só serviria se fosse para valores inteiros), e adicionar "00" com javascript.

 

<script>

function valor(){

var campoValor = document.getElementById('item_valor_1');

var valor = campoValor.value+"00";

document.getElementById('item_valor_1').value = valor;

return;

}

</script>

 

E na parte em que aparece o botão do formulário você coloca um "onclick":

 

<input type="image" onclick="valor()" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/205x30-pagar-azul.gif" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" />

 

Parece meio "gambiarra" ou POG, mas eu fiz assim pq só cobro valores inteiros pelo meu trabalho.

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.