Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/10/2014, 11:49
Elalux
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Respuesta: ¿Como leer el ipn que me manda paypal?

Cita:
Iniciado por NUCKLEAR Ver Mensaje
El usuario pregunta sobre el IPN,
Me refiero a la reedición 2 del usuario.

Existe un campo en el botón de "Paypal" llamado return, donde indicaremos la URL a la que será direccionado el comprador después de la transacción en el sitio de PayPal.

El proceso puede funcionar así.

1. En el momento que el visitante haga click en un botón de por ejemplo "Levantar orden" y ANTES de mostrar el botón de Paypal, se guarda un registro en la tabla de "ordenes" de nuestra base de datos para guardar los detalles de la compra.

2.- Se arma el botón "Pagar ahora" de PayPal en donde:

El campo "item_number" es el ID (llave primaria) del registro que acabamos de insertar en la tabla "ordenes"

En el campo "return" especificamos el URL a donde será dirigido el visitante DESDE PAYPAL después de finalizar la transacción, aquí es donde viene el truco, en este campo además de especificar el URL al script enviamos al mismo el ID de la orden (paso 1) de esta forma sabemos exactamente cuál es la orden que se esta procesando sin depender de las variables de sesión.

Ejemplo:

1.- El cliente hace click en el botón "Levantar orden"

2.- Se guarda la orden en nuestra tabla "ordenes" y supongamos que el servidor MySQL le asignó el ID 3.

3.- Se arma dinámicamente el botón "Comprar ahora" de PayPal especificando en los campos item_number y return el valor del ID de la orden generada en el paso anterior.


Cita:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
.
.
<input type="hidden" name="item_number" value="3">
<input type="hidden" name="return" value="http://www.misitio.com/paso_final.php?orden=3">

.
.
</form>
4.- Al finalizar la transacción y cuando el cliente sea redirigido a nuestro sitio, nuestro archivo paso_final.php recibirá el ID de la venta y lo podremos procesar dependiendo del estatus de la transacción que previamente nos haya informado el IPN, de esta forma no hay necesidad de depender de las variables de sesión.

Saludos.

Última edición por Elalux; 23/10/2014 a las 12:20