Foros del Web » Programando para Internet » PHP »

No envia datos al e-mail del usuario

Estas en el tema de No envia datos al e-mail del usuario en el foro de PHP en Foros del Web. Hola ya casi termino mi proyecto termine lo mas dificil, bien mi proyecto es de que el usuario se registre compre una membresia premium por ...
  #1 (permalink)  
Antiguo 04/06/2011, 18:35
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años
Puntos: 1
No envia datos al e-mail del usuario

Hola ya casi termino mi proyecto termine lo mas dificil, bien mi proyecto es de que el usuario se registre compre una membresia premium por PayPal y si se realiza el pago correctamente, cree el usuario y una contraseña aleatoria en la base de datos

En este ultimo paso envie los datos al usuario para que se pueda logear en la pagina cosa que no consigo si bien no soy experto en php me he basado en tutoriales y en scrips prefabricados solo he cambiado variables, combinado scrips y conectar la base de datos bien les explico aqui con imagenes
user este tutorial para crear el sistema de pago y registro de usuario


Código:
http://net.tutsplus.com/tutorials/php/using-paypals-instant-payment-notification-with-php/
SI bien aqui esta el index/login de la pagina el primer boton de paypal es el real para que se realizen los pagos el que dice option 2 es un boton creado con el sand box de paypal con el cual he estado haciendo pruebas



bien tengo en el IPN de paypal asignado el archivo ipn.php del tutorial al sual solo le modifico la variable $mail por $username, el codigo esta conectado al sandbox si se dan cuenta por que estoy realizando pruebas

Código PHP:
Ver original
  1. <?php
  2. mysql_connect("localhost", "user", "password") or die(mysql_error());
  3.  
  4. // read the post from PayPal system and add 'cmd'
  5. $req = 'cmd=_notify-validate';
  6. foreach ($_POST as $key => $value) {
  7. $value = urlencode(stripslashes($value));
  8. $req .= "&$key=$value";
  9. }
  10. // post back to PayPal system to validate
  11. $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
  12. $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
  13. $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
  14.  
  15. $fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
  16.  
  17. if (!$fp) {
  18. // HTTP ERROR
  19. } else {
  20. fputs ($fp, $header . $req);
  21. while (!feof($fp)) {
  22. $res = fgets ($fp, 1024);
  23. if (strcmp ($res, "VERIFIED") == 0) {
  24.  
  25. // PAYMENT VALIDATED & VERIFIED!
  26.  
  27. $username = $_POST['payer_email'];
  28. $password = mt_rand(1000, 9999);
  29.  
  30. mysql_query("INSERT INTO users (username,password) VALUES('". mysql_escape_string($username) ."', '".md5($password)."' ) ") or die(mysql_error());
  31.  
  32. $to      = $username;
  33. $subject = 'Download Area | Login credentials';
  34. $message = '
  35.  
  36. Thank you for your purchase
  37.  
  38. Your account information
  39. -------------------------
  40.  
  41. Email: '.$username.'
  42. Password: '.$password.'
  43. -------------------------
  44.            
  45. You can now login at http://yourwebsite.com/PayPal/';
  46. $headers = 'From:[email protected]' . "\r\n";
  47.  
  48. mail($to, $subject, $message, $headers);
  49.  
  50.  
  51.  
  52. }
  53.  
  54. else if (strcmp ($res, "INVALID") == 0) {
  55.  
  56. // PAYMENT INVALID & INVESTIGATE MANUALY!
  57.  
  58. $to      = '[email protected]';
  59. $subject = 'Download Area | Invalid Payment';
  60. $message = '
  61.  
  62. Dear Administrator,
  63.  
  64. A payment has been made but is flagged as INVALID.
  65. Please verify the payment manualy and contact the buyer.
  66.  
  67. Buyer Email: '.$username.'
  68. ';
  69. $headers = 'From:[email protected]' . "\r\n";
  70.  
  71. mail($to, $subject, $message, $headers);
  72.  
  73. }
  74. }
  75. fclose ($fp);
  76. }
  77. ?>

basandome en el tutorial lo modifico para que acceda a la base de datos y cree los usuarios si bien lo primero que se crea es la notificacion de pago instantaneo

Hasta aqui no tengo problemas continuo Pagando con paypal usuando san box


Al notificar y confirmar el pago paypal se crea el usuario en la base de datos tomando el correo y generando un pass aleatorio como lo indica el ipn.php


Sigo de maravilla con todo el codigo sin problema alguno, como deve de ser paypal notifica al usuario y al vendedor .Recibiendo correos de confirmacion en emails de test en san box


Todo va de maravilla pero lo final , es que no se envia el correo con los datos de acceso al usuario

Si alguien me puede echar una mano en este ultimo paso que es lo que impide que termine con mi proyecto
  #2 (permalink)  
Antiguo 04/06/2011, 18:54
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: No envia datos al e-mail del usuario

Hombre, la verdad no entiendo nada de paypal, nunca lo he usao... pero dime algo se supone que la clave aleatoria que le llega al usuario, la envias tu verdad? (o sea con codigo tuyo) no con el codigo de paypal correcto?

el cotrreo donde debe llegar es ese tal [email protected] ...................ya lo creaste verdad? revisaste el correo no deseado?

Ese codigo que pones de que archivo es? lo mire por encima y mi editor bota errores en muchas líneas....!
  #3 (permalink)  
Antiguo 04/06/2011, 19:03
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años
Puntos: 1
Respuesta: No envia datos al e-mail del usuario

Cita:
Iniciado por isabellawebs Ver Mensaje
Hombre, la verdad no entiendo nada de paypal, nunca lo he usao... pero dime algo se supone que la clave aleatoria que le llega al usuario, la envias tu verdad? (o sea con codigo tuyo) no con el codigo de paypal correcto?

el cotrreo donde debe llegar es ese tal [email protected] ...................ya lo creaste verdad? revisaste el correo no deseado?
El correo y las cuentas de paypal son ficticias paypal tiene un sistema que se llama sanbox pero bueno la explicacion me la ahorro lo que es la cuenta de paypal y el correo sirve para hacer test a las aplicaciones que fabrica uno para saber si funcionan o no llegan los correos de notificacion y todo
Asi como tu dices se crea una clave aleatoria que debe de llegar al usuario en un correo cosa que no ocurre
gracias por contestar =)
  #4 (permalink)  
Antiguo 04/06/2011, 19:09
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: No envia datos al e-mail del usuario

Por eso, pero vamos a ver:

Quién o dónde se ejecuta el envio del correo? En un archivo que te da paypal? o en uno que tu generaste , código tuyo?

Por otro lado, como te comento, ese pedazo de código que pusiste arriba, me pone muchos errores en mi editor...........ya te diste cuenta de eso?


-----------------------------

A ver te lo digo, porque yo tengo una aplicación de citas médicas, y con phpmailer yo ubico en el form del registro e codigo y los archivos necesarios y cuando mi usuario ser registra, llena la bd y le llega el correo a su direccion electrónica, porque es codigo mio, se como lo hice............en tu caso pregunto:

El codigo es de paypal, o es algo que tu hiciste que no te sale?
  #5 (permalink)  
Antiguo 04/06/2011, 19:15
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años
Puntos: 1
Respuesta: No envia datos al e-mail del usuario

Cita:
Iniciado por isabellawebs Ver Mensaje
El codigo es de paypal, o es algo que tu hiciste que no te sale?
Asi es el codigo es mio , ni tan mio es el codigo tomado de ese archivo php que indique arriba

Estas son las variables indicadas que indica que tomara como usario el correo con el que se realizo el pago
el password que se genera automaticamente
y parte del codigo para la base de datos para que inserte las variables anteriores para realizar el registro en la DB

Código PHP:
Ver original
  1. // PAYMENT VALIDATED & VERIFIED!
  2.  
  3. $username = $_POST['payer_email'];
  4. $password = mt_rand(1000, 9999);
  5.  
  6. mysql_query("INSERT INTO users (username,password) VALUES('". mysql_escape_string($username) ."', '".md5($password)."' ) ") or die(mysql_error());

este es la parte del codigo que se encarga de enviar el correo al usuario CODIGO MIO que no me funciona simplemente no envia el correo
lo cual es una sentencia si cumple las condiciones envia los datos y si no manda el correo diciendo que no se pudo concretar el pago

Código PHP:
Ver original
  1. $to      = $username;
  2. $subject = 'Download Area | Login credentials';
  3. $message = '
  4.  
  5. Thank you for your purchase
  6.  
  7. Your account information
  8. -------------------------
  9.  
  10. Email: '.$username.'
  11. Password: '.$password.'
  12. -------------------------
  13.            
  14. You can now login at http://yourwebsite.com/PayPal/';
  15. $headers = 'From:[email protected]' . "\r\n";
  16.  
  17. mail($to, $subject, $message, $headers);
  18.  
  19.  
  20.  
  21. }
  22.  
  23. else if (strcmp ($res, "INVALID") == 0) {
  24.  
  25. // PAYMENT INVALID & INVESTIGATE MANUALY!
  26.  
  27. $to      = '[email protected]';
  28. $subject = 'Download Area | Invalid Payment';
  29. $message = '
  30.  
  31. Dear Administrator,
  32.  
  33. A payment has been made but is flagged as INVALID.
  34. Please verify the payment manualy and contact the buyer.
  35.  
  36. Buyer Email: '.$username.'
  37. ';
  38. $headers = 'From:[email protected]' . "\r\n";
  39.  
  40. mail($to, $subject, $message, $headers);
  #6 (permalink)  
Antiguo 04/06/2011, 19:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: No envia datos al e-mail del usuario

Trata lo que se llama IPN (instant payment notification). Cuando te loguees en developer.paypal.com, vas a Test Tool y ahí aparece un enlace llamado IPN. Luego lo demás te darás cuenta de lo que tienes hacer.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 04/06/2011, 19:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: No envia datos al e-mail del usuario

Añado, interesante tema y veo que te desenvuelves con paypal. Sería bueno que crearas un tutorial de como usar paypal, porque no es tan fácil trabajar con el API de paypal cuando comienzas, luego que ya sabes para que sirve cada cosa, ahí sí se te hace fácil, pero al principio no. Así me libras el yo tener que hacerlo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 04/06/2011, 19:43
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: No envia datos al e-mail del usuario

Si seria interesante, aunque aqui en Colombia no se usa, no hay como recibir pagos. Quienes lo usan, tiene cuentas en USA y así.
  #9 (permalink)  
Antiguo 04/06/2011, 19:50
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años
Puntos: 1
Respuesta: No envia datos al e-mail del usuario

Cita:
Iniciado por abimaelrc Ver Mensaje
Añado, interesante tema y veo que te desenvuelves con paypal. Sería bueno que crearas un tutorial de como usar paypal, porque no es tan fácil trabajar con el API de paypal cuando comienzas, luego que ya sabes para que sirve cada cosa, ahí sí se te hace fácil, pero al principio no. Así me libras el yo tener que hacerlo
Pues no prodria poner un tutorial ya que yo no cree el codigo, como decia me baso en codigos ya fabricados como tal es el codigo del IPN de paypal yo solo modifique variables en realidad solo una todo lo demas es el codigo original pero bueno no consigo mandar al usuario su clave de acceso por favor alguien que me ayude
  #10 (permalink)  
Antiguo 04/06/2011, 19:53
Usuario no validado
 
Fecha de Ingreso: diciembre-2009
Ubicación: Bogotá
Mensajes: 462
Antigüedad: 14 años, 4 meses
Puntos: 18
Respuesta: No envia datos al e-mail del usuario

Yo llego hasta ahi, porque no tengo idea como es eso de paypal, y asi sin saber eso, es muy dificil dar con el problema, será esperar alguien que haya configurado eso....o conozca al menos paypal.
  #11 (permalink)  
Antiguo 04/06/2011, 20:05
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años
Puntos: 1
Respuesta: No envia datos al e-mail del usuario

Cita:
Iniciado por isabellawebs Ver Mensaje
Yo llego hasta ahi, porque no tengo idea como es eso de paypal, y asi sin saber eso, es muy dificil dar con el problema, será esperar alguien que haya configurado eso....o conozca al menos paypal.
concuerdo contigo no se me habia venido a la mente ya que esto se relaciona con el IPN de paypal y responde a los datos de paypal .

Bueno en todo caso he pensado y como podria crear una aplicacion para que envie los datos de acceso tomando datos de la base de datos y enviandolos , o mas bien que el usuario los solicite y sean enviando a el

un ejemplo es cuando perdemos nuestro password de forosdelweb, nos otros accedemos a una pagina enviando la peticion para que los datos sean enviados al correo

como puedo crear esta aplicacion
  #12 (permalink)  
Antiguo 05/06/2011, 11:06
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años
Puntos: 1
Respuesta: No envia datos al e-mail del usuario

nadie que pueda ayudarme ?

Etiquetas: e-mail, envia, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:37.