Estoy empezando a seguir un tutorial para crear botones de paypal en mi web pero es del 2008 asi que nose en que aspectos estaria desffasado y ya no servirian las cosas que aqui se hacen.. Les pongo una fraccion del codigo para ver si me pueden ayudar.
Código PHP:
Ver originalinclude("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";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen (‘www
.paypal
.com’
, 80, $errno, $errstr, 30);
// 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{
fputs ($fp, $header . $req); $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { //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
}
}else if (strcmp ($res, "INVALID") == 0) { //CONTROL DE ERRORES
}
}
}