Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/10/2014, 07:43
Avatar de NUCKLEAR
NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: ¿Como leer el ipn que me manda paypal?

Cita:
Iniciado por Elalux Ver Mensaje
Cuando armas el botón de PayPal tienes a tu disposición variables libres (custom) que puedes usar para enviar los datos que quieras, puedes usar una de esas variables para enviar el id que requieres pero si depende de variables de sesión, siempre está presente el riesgo de que los valores de dichas variables se pierdan, por eso te recomiendo no usarlas en estos procesos.

Ahora bién, en lo personal utilizo un paradigma mas flexible para poder controlar mi proceso de pago, en lugar de basarme en productos o en clientes, me baso en ordenes.

Esto es, cuando un cliente compra en mi sitio se genera una "Orden de Compra" este paradigma me ofrece la ventaja de que se puede aplicar tanto a productos físicos, como descargas, ya sea a productos individuales como a productos multiples.

Cuando un cliente compra algo se crea un entidad llamada "Orden de compra" en mi base de datos existe una tabla llamada ordenes, donde se guarda el precio y la descripción de la compra, los datos de envío y toda la información requerida.

OJO. El registro de la orden de compra se guarda en la tabla ordenes ANTES de generar el botón de "pagar ahora" de PayPal

Entonces al armar el botón de "Pagar Ahora" en los campos pondrás los datos de la ORDEN DE COMPRA , en el campo "item_number" del botón "pagar ahora" pones el ID (llave primaria) del registro en la tabla "ordenes" correspondiente a la orden de compra, como las llaves primarias no se repiten, cuando proceses el IPN al leer la variable item_number sabrás exactamente a que orden de compra pertenece, de esta forma no dependerás de variables de sesión para rastrear tus ventas.

IMPORTANTE. Esta es una solución que a mí me ha funcionado, no es una solución tecnológica, es una solución basada en el paradigma del flujo de información implicado en el proceso, al utilizar ordenes de compra en lugar de productos o clientes me da mas flexibilidad para adaptar el proceso según mis necesidades.

El truco está en que guardes los datos de la Orden de compra ANTES de generar el botón de "Pagar Ahora" de Paypal.

Espero te sirva.

Saludos.
El usuario pregunta sobre el IPN, no el redirect que estas haciendo, el flujo de IPN es invisible al usuario, y paypal envia todos los datos de la transacción, o los pasos que va a haciendo el cliente(por ejemplo, si no completó la transacción, como hizo el pago, si fue rechazado, si fue con cheque, etc) Así podés tener control sobre ese pago y ayudar al cliente a resolverlo y no perder la venta. Y de paso asegurarte de que la transacción sea totalmente certera y segura.

Y por supuesto, antes de enviar a paypal a hacer el pago debes tener registrada la compra para poder actualizar los pasos de la transacción y tener los registros del IPN.
__________________
Drupal Argentina