Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: _vicho_ en 6 Junio 2013, 17:25 pm



Título: Descuentos en carrito de compras
Publicado por: _vicho_ en 6 Junio 2013, 17:25 pm
buen día a todos, mi duda es la siguiente
tengo un carrito de compras muy básico pero cumple con su cometido, lo que quisiera agregarle es un textbox donde tu como cliente distinguido pongas un código y se te descuente un 15% del total que compraste, pero no tengo idea de como hacerlo me apoyarían porfa?

este php te genera el $_GET['costo'], abria la manera de restarle el 15% y te otorgara a $_GET['costofinal'] ya con el descuento y porque me imagino que con un if si no hay nada en el textbox costo = costo final verdad, eso no esta dificil.
les adjunto todo el registrodepago.php

<?php
session_start();
//Asignamos todos los valores guardados en la sesión a la variable $carro, como hicimos en las páginas anteriores
$carro=$_SESSION['carro'];
//$products es la variable que usaremos para mostrar los productos en esta página (separados por '+')
$products='';
//$products2 es la que usaremos para enviar a Paypal (separados por ',')
$products2='';
 foreach($carro as $k => $v){
 $unidad=$v['cantidad']>1?" unidades de ":" unidad de ";
 $products.=$v['cantidad'].$unidad.$v['producto']."+";
 $products2.=$v['cantidad'].$unidad.$v['producto'].", ";
 }
//eliminamos el último '+':
$products=substr($products,0,(strlen($products)-1));
//eliminamos la última coma y el espacio que sigue a la misma:
$products2=substr($products2,0,(strlen($products2)-2));
?>
<html>
<head>
<title>Finalizar Compra</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!-- 
.tit {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 9px;
 color: #FFFFFF;
}
.prod {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 9px;
 color: #333333;
}
h1 {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 20px;
 color: #990000;
}
-->
</style>
</head>
 
<body>
<!--  Creamos el formulario para enviar a Paypal -->
<form action="https://www.paypal.com/cgi-bin/webscr" name="f1" id="f1" method="post">
<fieldset>
 <legend class="prod"><strong>Finalizar la Compra</strong> <a href="#" onClick="javascript:window.open('https://www.paypal.com/cgi-bin/webscr?cmd=xpt/popup/OLCWhatIsPayPal-outside','olcwhatispaypal','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, width=400, height=350');"><img src="https://www.paypal.com/en_US/i/bnr/horizontal_solution_PP.gif" alt="Solution Graphics" border="0" align="absmiddle"></a></legend>
<input type="hidden" name="shipping" value="0">
<input type="hidden" name="cbt" value="Presione aquí para volver a www.nuestrositio.com >>">
<input type="hidden" name="cmd" value="_xclick">
 <input type="hidden" name="rm" value="2">
 <input type="hidden" name="bn" value="nombre de la empresa vendedora">
<input type="hidden" name="business" value="maildelvendedor@dominio.com">
<input type="hidden" name="item_name" value="<?php echo $products2; ?>">
<input type="hidden" name="item_number" value="Nombre del comprador">
<input type="hidden" name="amount" value="<?php echo number_format($_GET['costo'],2) ?>">
<input type="hidden" name="custom" value="<?php echo $_GET['costo'] ?>">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="image_url" value="">
<input type="hidden" name="return" value="http://www.nuestrodominio.com/ipn_success.php">
<input type="hidden" name="cancel_return" value="http://www.nuestrodominio.com/ipn_error.php">
<input type="hidden" name="no_shipping" value="0">
<input type="hidden" name="no_note" value="0">
<!--  Mostramos el detalle de la compra -->
<table width="50%" border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#EABB5D" style=" border-color:#000000; border-style:solid;border-width:1px;">
<tr>
<td align="left" valign="top"><span class="prod"><strong>Detalle de los Productos Seleccionados</strong>:</span><br>
<span class="texto1negro"> </span><span class="prod"><strong>Productos:</strong> <?php echo $products; ?><br>
<strong>Pecio Total:</strong> $<?php echo number_format($_GET['costo'],2) ?> </span></td>
</tr>
</table>
<input type="submit" name="Submit" value="Enviar">
</fieldset>
</form>
 
</body>
</html>


gracias por su ayuda, hasta pronto.


Título: Re: Descuentos en carrito de compras
Publicado por: BlackM4ster en 6 Junio 2013, 20:19 pm
Puedes hacerlo añadiendo un formulario, y que si el código es "PATATAS" te ejecute la función "descontar"

Código
  1. $total = $_GET['costo'];
  2. if ($_POST['codigo'] == "PATATAS") descontar(2);
  3.  
  4. function descontar($descuento){
  5. $total = $total - $descuento;
  6. }
  7.  

Algo así funcionará

Por cierto,
Código
  1. <input type="hidden" name="amount" value="<?php echo number_format($_GET['costo'],2) ?>">
  2. <input type="hidden" name="custom" value="<?php echo $_GET['costo'] ?>">

Parece vulnerable...


Título: Re: Descuentos en carrito de compras
Publicado por: #!drvy en 6 Junio 2013, 20:22 pm
localhost/carrito/registrodepago.php?costo=-999999

Ahora me das el producto y encima me pagas  ;-)

Saludos


Título: Re: Descuentos en carrito de compras
Publicado por: BlackM4ster en 6 Junio 2013, 20:25 pm
localhost/carrito/registrodepago.php?costo=-999999

Ahora me das el producto y encima me pagas  ;-)

Saludos

A eso mismo me refería... jajajajaja  >:D


Título: Re: Descuentos en carrito de compras
Publicado por: _vicho_ en 7 Junio 2013, 05:24 am
gracias BlackM4ster voy a probar tu codigo
y drvy | BSM fue buena la observación y me entro curiosidad  subi todo en linea y modifique el costo a negativo, al darle clic en comprar el mismo paypal marca error y te dice q no se puede realizar la tranzacion. cres q solo con la seguridad de pay pal tenga?

te adjunto el link q me da pay pal

https://www.paypal.com/cgi-bin/webscr?cmd=_flow&SESSION=OEaryV0uq13L0v5K1sGwcUiiEmx_LmHvq41hwWZTEI74xbtXjjty9QWyzQG&dispatch=50a222a57771920b6a3d7b606239e4d529b525e0b7e69bf0224adecfb0124e9b61f737ba21b081988da7a3c03e3ee256487fa2c502f637cb

gracias por sus respuestas  ;D ;D


Título: Re: Descuentos en carrito de compras
Publicado por: #!drvy en 8 Junio 2013, 01:55 am
Citar
subi todo en linea y modifique el costo a negativo, al darle clic en comprar el mismo paypal marca error y te dice q no se puede realizar la tranzacion. cres q solo con la seguridad de pay pal tenga?

Bueno, realmente no estoy metido mucho en el tema de paypal pero supongo que dependerá de si tienes el precio predefinido en paypal o no.

Me explico.
-> Si lo tienes predefinido, no podrán cambiar su valor por mucho que cambien el costo.
-> Si no lo tienes, aunque paypal de error en un precio negativo (como debería de ser), quizás un producto que cueste 200€ yo le cambie el costo a 1€....puesto que paypal no sabrá cual es el precio real... no podrá darte error xD.

Saludos


Título: Re: Descuentos en carrito de compras
Publicado por: jdc en 9 Junio 2013, 11:38 am
También toca cuidar que el descuento se ejecute una sola vez para que no apliquen 10 veces el mismo descuento