Código PHP:
Ver original
include("Class.PayPalEWP.php"); $paypal = &new PayPalEWP(); $paypal->setTempFileDirectory("/tmp"); $paypal->setCertificate("my-pubcert.pem", "my-prvkey.pem"); $paypal->setCertificateID("XXXXXXXXXX"); $paypal->setPayPalCertificate("paypal_cert_pem.txt"); ‘cmd’ => ‘_xclick’, ‘business’ => ‘info@tudominio.com’, ‘item_name’ => ‘Comprar Servicio X, ’item_number‘ => $_SESSION['idUsuario'], ’amount‘ => ‘5‘, ’no_shipping‘ => ‘1‘, ’currency_code‘ => ‘EUR‘, ’lc‘ => ‘ES‘, ); $form5="<form action=\”https://www.paypal.com/cgi-bin/webscr\” method=\”post\”> <input type=\”hidden\” name=\”cmd\” value=\”_s-xclick\”/> <input type=\”hidden\” name=\”encrypted\” value=\”—–BEGIN PKCS7—–\n".$paypal->encryptButton($paypalParam)."\n—–END PKCS7—–\”/> <input type=\”image\” src=\”imagenes/comprar_paypal.gif\” border=\”0\” name=\”submit\” alt=\”Realice pagos con PayPal: es rápido, gratis y seguro.\” style=\”border:0;\”> </form>"; // read the post from PayPal system and add ‘cmd’ $req = ‘cmd=_notify-validate’; foreach ($_POST as $key => $value) { $req .= "&$key=$value"; } // post back to PayPal system to validate $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; // assign posted variables to local variables $item_name = $_POST[‘item_name’]; $item_number = $_POST[‘item_number’]; $payment_status = $_POST[‘payment_status’]; $payment_amount = $_POST[‘mc_gross’]; $payment_currency = $_POST[‘mc_currency’]; $txn_id = $_POST[‘txn_id’]; $receiver_email = $_POST[‘receiver_email’]; $payer_email = $_POST[‘payer_email’]; $transid=$_POST[‘txn_id’]; $idUsuario=$_POST[‘item_number’]; $cantidad=$_POST[‘mc_gross’]; $creditos=100; if (!$fp) { //CONTROL DE ERRORES; NO SE PUEDE CONECTAR CON PAYPAL //NO ES GRAVE, COMO NO LE CONFIRMAMOS LA TRANSACCION //ELLOS MISMOS LA REINTENTARÁN MÁS ADELANTE }else{ //compruebo que no se haya procesado ya la transaccion $query="select * from paypal where transid=’$transid’ and estado=1"; $rs=$conn->Execute($query); $sumar=$rs->recordcount(); if($sumar==0){ //LOGEAMOS TODA LA TRANSACCION $query="insert into paypal (transid, fecha, estado, variables) VALUES (‘$transid’, now(), 1, ‘$vars’)"; $rs=$conn->Execute($query); //aquí debes hacer ahora tus operaciones //para conceder el servicio al usuario: $idUsuario //incluso comprobar que idUsuario es válido }else{ //TRANSACCION DUPLICADA, NO HACEMOS NADA } //CONTROL DE ERRORES } } }