plataforma personalizado pagina españa crear boton agregar php cookies paypal

php - personalizado - ¿Cómo evito que los usuarios eludan el pago?



paypal españa (3)

Lo que probablemente busques se llama Paypal IPN (Notificación de pago instantánea). Básicamente, alguien te compra un producto. PayPal POSTS datos a un script / url que especifiques (solo tú y ellos lo saben). Entonces, ¿qué haces? es publicar los datos en PayPal para confirmar que la publicación que enviaron es real y no simulada / falsificada por alguien. En este momento, usted sabe que la transacción es válida.

Una vez que reciba la notificación de un pago válido, puede hacer algo como enviar una url de descarga por correo electrónico, o envolver todo eso en un pequeño sistema de inicio de sesión / contraseña usando algo simple como autenticación HTACCESS, y ya está listo.

Buena suerte.

Tengo un sitio que usa PayPal para recolectar pagos de datos presentados electrónicamente. Las variables no se pueden pasar con la URL a través de PayPal (o no puedo hacer que funcionen), así que he usado cookies para pasar el número de artículo. Sin embargo, un usuario astuto podría, después de la parte de escritura de cookies, ingresar la URL de redirección de PayPal directamente en la barra de direcciones y obtener los datos electrónicos de forma gratuita. Pasando por alto a PayPal. ¿Cómo puedo evitar esto?

Aquí hay algo del código. Verá que he tratado de dificultarle al usuario pasando directamente a través de la escritura de cookies (pre_contact.php) y la URL de redirección de PayPal (step.php).

//pre_contact.php <?PHP global $id; setcookie("property", $id, time()+1800); echo "<META HTTP-EQUIV=Refresh CONTENT=/"0; URL=contact.php/">"; ?> //contact.php - paypal pay button echo "<form action=''https://www.paypal.com/cgi-bin/webscr'' method=''post''>"; echo "<input type=''hidden'' name=''cmd'' value=''_s-xclick''>"; echo "<input type=''hidden'' name=''hosted_button_id'' value=''156320''>"; echo "<input type=''image'' src=''https://www.paypal.com/en_GB/i/btn/btn_paynowCC_LG.gif'' border=''0'' name=''submit'' alt=''Click to pay''>"; echo "<img alt='''' border=''0'' src=''https://www.paypal.com/en_GB/i/scr/pixel.gif'' width=''1'' height=''1''>"; echo "</form>"; //step.php - paypal redirect on successful payment <?PHP require("generate_url.php"); ?> //generate_url.php - This generates a unique URL so the info can only be accessed once <?PHP if (eregi("generate_url.php", $_SERVER[''SCRIPT_NAME''])) { Header("Location: index.php"); die(); } $token = md5(uniqid(rand(),1)); setcookie("token", $token, time()+4); $cwd = substr($_SERVER[''PHP_SELF''],0,strrpos($_SERVER[''PHP_SELF''],"/")); Header("Location: $cwd/get_file.php?q=$token"); die(); ?> //get_file.php - displays the file after payment $qtoken = $_GET[''q'']; if ($qtoken===$_COOKIE["token"]){ $id=$_COOKIE["property"]; DISPLAY FILE HERE!!

Gracias por adelantado


No creo que pueda hacer lo que quiera en un solo paso con el enfoque que está tomando, porque su código no tiene forma de saber si la transacción realmente finalizó exitosamente o no.

Creo que la única forma en que funcionará el enfoque anterior es si no los envía automáticamente al archivo que pagaron.

En su lugar, tienen que esperar a que verifique su transacción a través de Paypal y luego enviarles un enlace de descarga por correo electrónico.

Probablemente todo se pueda hacer automáticamente usando la API de Paypal . No estoy tan familiarizado con la API de Paypal, pero debería funcionar algo como esto.

  1. El usuario decide comprar algo de ti
  2. Usted inicia una transacción que envía al usuario a Paypal y, presumiblemente, genera algún tipo de identificación de transacción.
  3. El usuario paga (o decide cancelar y / o no pagar)
  4. El usuario regresa a su sitio
  5. Usted toma la identificación de la transacción y verifica que el pago fue exitoso
  6. Si el pago fue exitoso, déle al usuario las cosas que pagó.

Referencia de la API de Paypal