Las API para PDT e IPN son similares. La principal diferencia es cuando recibes la notificación. Por esa razón, recomendaría implementar ambos.
- Con PDT recibe la notificación al instante y puede hacer cualquier procesamiento adicional requerido y mostrar al usuario una página de confirmación.
- Con IPN, se garantiza que se le notificará que el pago se recibió incluso si la computadora del usuario explota antes de que pueda enviarle el PDT.
Implementa ambos y obtén lo mejor de ambos mundos. Pero si solo está haciendo uno, IPN es confiable.
Una pega: si implementa ambos, existe la posibilidad de que sus pagos se procesen dos veces. Asegúrese de que eso no ocurra. La aplicación que escribí maneja el PDT y el IPN de forma casi idéntica (la parte de fondo es la misma) y ese código adquiere un bloqueo por usuario web en la base de datos, de modo que si el mismo usuario intenta enviar el mismo pago varias veces, solo se puede procesar una vez Una vez procesado, el resultado de ese proceso se reutiliza para cualquier intento posterior de procesarlo.
Editar Una cosa más: IPN lleva más información que la PDT. Hay muchos mensajes diferentes que puede recibir de IPN, como notificación de devolución de cargo, etc., y por lo tanto, debería implementarlo.
sistema PDT de PayPal envía confirmaciones de pedidos con sitios comerciales que utilizan PayPal Pago estándar y permite que las autentican esta información. Dichos sitios pueden mostrar estos datos localmente en una página de "confirmación de pedido".
Cuándo se usa PDT?
IPN proporciona las mismas capacidades descritas anteriormente. Entonces, ¿cuándo debería elegir PDT en lugar de IPN?
Con PDT, su sitio es notificado inmediatamente cuando un cliente realiza el pago. Con IPN, sin embargo, hay un retraso material entre el momento en que un cliente completa el pago y el momento en que su sitio recibe la notificación de este evento.
Por lo tanto, el uso de la TFD si su sitio incluye una función que requiere notificación de pago inmediato.
Por ejemplo, considere una tienda de música digital. Con PDT, esta tienda puede permitir a los clientes descargar sus compras de inmediato, ya que PDT envía confirmaciones de pedidos de inmediato. Con IPN, tal cumplimiento inmediato de orden no es posible.
Ventajas del IPN
PDT tiene un una gran debilidad: envía confirmaciones de pedido una vez y sólo una vez. Como resultado, cuando PDT envía una confirmación, su sitio debe estar ejecutándose; de lo contrario, nunca recibirá el mensaje.
Con IPN, por el contrario, la entrega de confirmaciones de pedidos está prácticamente garantizada desde IPN vuelve a enviar una confirmación hasta que su sitio acusa recibo. Por esta razón, PayPal recomienda que implemente IPN en lugar de PDT.
Otra ventaja del IPN es que envía muchos tipos de notificaciones, mientras que sólo PDT envía confirmaciones de pedido. Por lo tanto, al usar IPN, su sitio puede recibir, por ejemplo, notificaciones de devolución de cargo y confirmaciones de pedidos. Nota: Si su sitio debe ser notificado de pagos de inmediato, puede implementar tanto IPN como PDT. Sin embargo, si lo hace, su sitio recibirá dos confirmaciones de pedidos por cada venta. Como resultado, debe tener cuidado de actuar (por ejemplo, enviar un producto) en una sola copia de un mensaje de confirmación determinado.
Documentation Here
Encontré una página web que realmente explica esto mejor. [PayPal IPN y PDT:? ¿Cómo funciona] [1] [1]: http://webmasters.stackexchange.com/questions/21634/paypal-pdt-and-ipn-how -does-it-work –
En cuanto a la pregunta 2, hay una configuración 'Cuenta de PayPal opcional' en' Mis preferencias de venta> Preferencias del sitio web' que puede activar para no obligar a los clientes a crear/tener una cuenta de PayPal, es decir. pagar con tarjeta de crédito/débito. – kaiyaq