transaction pdt payment_status ipn paypal listener paypal-ipn payment paypal-pdt

payment_status - IPN vs PDT en Paypal



paypal pdt (2)

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 le 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 del backend 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 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.

El sistema PDT de PayPal envía confirmaciones de pedidos a sitios comerciales que usan el Estándar de pagos de PayPal y les permite autenticar esta información. Dichos sitios pueden mostrar estos datos localmente en una página de "confirmación de pedido".

Cuándo usar PDT?

IPN proporciona las mismas capacidades descritas anteriormente. Entonces, ¿cuándo debería elegir PDT en lugar de IPN?

Con PDT, se notifica a su sitio de inmediato cuando un cliente completa 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, use PDT si su sitio incluye una función que requiere notificación de pago inmediata.

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 de IPN

PDT tiene una gran debilidad: envía confirmaciones de orden una sola 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, en cambio, la entrega de las confirmaciones de pedidos está virtualmente garantizada ya que IPN reenvía una confirmación hasta que su sitio acuse recibo. Por esta razón, PayPal recomienda que implemente IPN en lugar de PDT.

Otra ventaja de IPN es que envía muchos tipos de notificaciones, mientras que PDT envía solo confirmaciones de órdenes. 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 los 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.

Documentación aquí

Tengo problemas para elegir entre la Notificación de pago instantánea (IPN) y la Transferencia de datos de pago (PDT) de PayPal.

Básicamente, los usuarios compran un producto único en mi sitio, pagan en PayPal y vuelven a mi sitio. Entiendo cómo funciona IPN, pero ahora veo que podría desencadenar las diversas acciones que ocurren después de una compra exitosa más fácilmente con PDT, ya que los datos se devuelven allí y en ese momento (en lugar de necesitar un oyente por separado) .

Sin embargo, la documentación de PDT de PayPal contiene esta línea críptica: "PDT no está destinado a ser utilizado con tarjetas de crédito o transacciones de Pago exprés". ... pero no puedo encontrar nada más sobre el tema.

  1. ¿Las tarjetas de crédito REALMENTE no están destinadas a ser usadas con PDT? Me gustaría más que una oración.

  2. ¿Eso significa que un usuario debe tener / crear una cuenta de PayPal para pagar?

  3. ¿Significa que si quiero permitir que los usuarios paguen con sus cuentas de PayPal Y / O con tarjetas de crédito directamente, debo implementar IPN?

¿Alguien que haya pasado por esto amablemente arrojará algo de luz?


Re 1. PDT está destinado a usarse con la función de devolución automática de pagos en el sitio web. Auto Return redirecciona al sitio PDT después de pagarle dinero al vendedor. Lamentablemente, no es posible utilizar esa función junto con la cuenta de PayPal opcional: se usa para habilitar el pago con tarjeta de crédito. Aquí hay una nota de PayPal: ''Si activó la devolución automática y eligió activar la cuenta PayPal opcional para nuevos usuarios, no se redirigirá automáticamente a un nuevo usuario a su sitio web, pero se le dará la opción de regresar''. . El usuario tendrá la opción de volver a su sitio (paso PDT) o permanecer en el sitio de PayPal. Para resumir cuando se paga con tarjeta de crédito, el usuario puede omitir el paso PDT si el usuario no hace clic en "regresar al enlace de la tienda".

Re 2. Depende de usted qué opciones de pago desea permitir. Si desea permitir el pago sin una cuenta de PayPal, puede habilitar la cuenta opcional . Si desea permitir que solo los usuarios con cuentas de PayPal deshabiliten esa función. Puede haber más opciones.

Re 3. En su caso, debe desencadenar una acción después de una compra exitosa. La forma recomendada sería implementar IPN. PDT no funciona en todos los casos y no garantiza la entrega de mensajes. Aquí hay un enlace al doc que cubre ese tema PDT vs IPN .