04/05/2011, 00:10
|
| | Fecha de Ingreso: enero-2008 Ubicación: Manresa
Mensajes: 24
Antigüedad: 16 años, 3 meses Puntos: 0 | |
formulario de alta + tpvv Hola compañeros,
Tengo un formulario que una vez rellenado, da de alta a los participantes para una btt.
Este año quiero implementar el pago de las inscripciones mediante un tpvv de La Caixa via sermepa.
Mi duda es la siguiente: ahora, una vez rellenado formulario.php, lo dirijo a alta.php donde se hacen las validaciones e insercion a la bd. Donde y como tendria que incluir la llamada a la pasarela de pago? Código PHP: <?php if( isset($_POST["mail"]) && isset($_POST["nom"]) && isset($_POST["pcog"]) && isset($_POST["scog"]) && isset($_POST["datanaix"]) && isset($_POST["sexe"]) && isset($_POST["nif"]) && isset($_POST["carrer"]) && isset($_POST["cp"]) && isset($_POST["pobl"]) && isset($_POST["talla"]) && isset($_POST["federat"]) && isset($_POST["recorregut"]) && isset($_POST["dormir"]) && isset($_POST["dormir_ac"]) && isset($_POST["acompanyant"]) ){ $query="SELECT * FROM usuaris WHERE nif='$nif'"; $resultat=mysql_query($query); if(mysql_affected_rows()==0) { $query="INSERT INTO usuarios (mail,nom,pcog,scog,datanaix,sexe,nif,carrer,cp,pobl,tel,mbl,talla,federat,recorregut,dormir,dormir_ac,acompanyant,info,any) values ('$mail','$nom','$pcog','$scog','$datanaix','$sexe','$nif','$carrer','$cp','$pobl','$tel','$mbl','$talla','$federat','$recorregut','$dormir','$dormir_ac','$acompanyant','$info','2010')"; $resultat=mysql_query($query); if(!$resultat) { echo "<p> Hi ha hagut un problema en el procés d'alta de l'usuari.</p> <p>Si us plau, torna-ho a provar en uns minuts</p>"; $error=1; exit(); } else { $error=2; } } else { echo "<h2>Ja existeix un usuari amb el NIF que intentes donar d'alta.</h2><p>Si us plau, torna-ho a provar</p>"; $error=1; } if($error==2) { echo "<h2>Enhorabona <strong>$nom</strong>, el procés d'alta ha estat satisfactori</h2><p>En breu rebràs un correu electrònic a l'adreça que ens has facilitat (<strong>$mail</strong>).</p>"; mailimporta($text,$mail); //mail participant mailimporta($text2,"[email protected]"); //mail administrador } }else echo "<p> Hi ha hagut un problema en el procés d'alta de l'usuari.</p> <p>Falten dades. Si us plau, torna-ho a provar</p>"; desconectar(); ?> El codigo de ejemplo que me ha facilitado sermepa es el siguiente: Código PHP:
// else show error page empty($Formulario) ? ShowForm($Ds_Merchant_Amount,$Ds_Merchant_Currency,$prod) : ShowError(); exit; ?> <?PHP function ShowError () { echo "<html><head><title>Results</title></head><body><table width=100% height=50%><tr><td><p><h2><center>Compruebe que todos los datos del formulario son correctos!!</center></h2></p></td></tr></table></body></html>\n"; } # End of function ShowError function ShowForm ($amount,$currency,$producto) { // Posted data global $HTTP_POST_VARS; // Valores constantes del comercio $url_tpvv='https://sis-t.sermepa.es:25443/sis/realizarPago'; $clave='qwertyasdf0123456789'; $name='Comercio Pruebas'; $code='999008881'; $terminal='4'; $order=date('ymdHis'); $amount='25'; $currency='978'; $transactionType='0'; $urlMerchant='http://www.sermepa.es'; $producto='Zapatos'; // Now, print the HTML script echo "<html><head><title>Comercio Simulador</title></head> <script language=JavaScript> function calc() { vent=window.open('','tpv','width=725,height=600,scrollbars=no,resizable=yes,status=yes,menubar=no,location=no'); document.forms[0].submit();} </script> <body bgcolor=white> <form name=compra action=$url_tpvv method=post target=tpv> <pre> <table> <tr><td> <h2>Comercio de prueba.</h2> </td></tr><tr><td> Comercio: <font color=blue>$name</font> </td></tr><tr><td> FUC: <font color=blue>$code</font> </td></tr><tr><td> Terminal: <font color=blue>$terminal</font> </td></tr><tr><td> Pedido: <font color=blue>$order</font> </td></tr><tr><td> Producto: <font color=blue>$producto</font> </td></tr><tr><td> Importe: <font color=blue>$amount</font> </td></tr><tr><td> Tipo de Operacion: <font color=blue>$transactionType (Autorización)</font> </td></tr><tr><td> URL del comercio: <font color=blue>$urlMerchant</font> </td></tr><tr><td>"; // Currency strings if ($currency == "978") { echo "Moneda: <font color=blue>Euros</font>"; } echo "</td> </tr><tr><td> <input type=hidden name=Ds_Merchant_Amount value='$amount'> </td></tr><tr><td> <input type=hidden name=Ds_Merchant_Currency value='$currency'> </td></tr><tr><td> <input type=hidden name=Ds_Merchant_Order value='$order'> </td></tr><tr><td> <input type=hidden name=Ds_Merchant_MerchantCode value='$code'> </td></tr><tr><td> <input type=hidden name=Ds_Merchant_Terminal value='$terminal'> </td></tr><tr><td> <input type=hidden name=Ds_Merchant_TransactionType value='$transactionType'> </td></tr><tr><td> <input type=hidden name=Ds_Merchant_MerchantURL value='$urlMerchant'> </td></tr><tr><td>"; // Compute hash to sign form data // $signature=sha1_hex($amount,$order,$code,$currency,$clave); $message = $amount.$order.$code.$currency.$transactionType.$urlMerchant.$clave; $signature = strtoupper(sha1($message)); echo "<input type=hidden name=Ds_Merchant_MerchantSignature value='$signature'> </td></tr> </table> <center><a href='javascript:calc()'><img src='/tpvirtual.jpg' border=0 ALT='TPV Virtual'></a></center> </pre> </form> </body></html>"; } # End of function ShowForm ?> Mis dudas son como implementar esto, a la vez que me gustaria que me quedara un registro en la BD del estado de la transaccin (pagado/ no pagado)
me podriais hechar una mano?
Gracias!! |