Pregunta

¿Es posible obtener una respuesta instantánea de una transacción de PayPal y tienen que dejar su sitio para pagar por PayPal?

Estoy trabajando en un sitio donde el usuario necesita hacer un pago único, así que he estado buscando scripts de donación, pero la mayoría de ellos están pagados y el único que encontré no da una respuesta instantánea http://www.ibdhost.com/donation/. Si tiene algún guión relacionado que ha usado antes, sería muy apreciado si pudiera publicarlos.

Gracias

¿Fue útil?

Solución

Mi aplicación, www.perqworks.com, utiliza el pago del sitio web de PayPal Pro. En la API hay una noción de notificación de pago instantáneo (IPN). https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_id=developer/library_code_ipn_code_samples

Cómo funciona es que una persona paga con una tarjeta de crédito. PayPal envía una respuesta HTTPS a un 'oyente' en mi servidor. Con el oyente, puede decidir continuar el proceso o lanzar un error basado en los códigos de respuesta de PayPal.

La documentación y el sandbox ayudaron, pero la API de PayPal puede ser un poco difícil de envolver la cabeza.

Otros consejos

Para estar seguro de que está pagando de forma segura, es necesario que el usuario sea transferido al sitio de PayPal, de lo contrario, los ataques de tipo phishing serían mucho más fáciles.

No estoy seguro de a qué te refieres con respuesta instantánea, tuve la impresión de que las cuentas comerciales de PayPal pueden informar al comerciante en tiempo real para cosas como las claves de registro y tal que se generarán y enviarán.

En primer lugar, tome todo esto con un grano de sal: no he usado activamente PayPal durante al menos un año ...

Puede (o podría) usar PayPal sin que el usuario salga de su sitio: se llamó algo así como "Pro Merchant Services Pro" y tenía una tarifa mensual asociada con él.

No hay mal tiempo para preguntar, en realidad, con PayPal anunciando su API abierta ayer (ver http://www.pcworld.com/businesscenter/article/181382/paypal_introduces_open_api_to_put_payments_into_apps.html ).

De todos modos, en lo que respecta a la notificación 'instantánea': técnicamente no sucede. Cuando el usuario es empujado a PayPal y realiza su pago, suceden dos cosas:

  1. El usuario finalmente se devuelve a su sitio, con una ID de transacción
  2. Cuando se borra la transacción (aunque esto normalmente ocurre "al instante", puede llevar un par de días), PayPal golpea su sitio, asincrónicamente, totalmente separado del usuario, a otra URL predeterminada con una identificación diferente (estoy bastante seguro. es diferente)

De todos modos, entre los dos que normalmente estás bien. Normalmente mi flujo de trabajo de codificación sería algo como:

  1. Envíe al usuario a PayPal con ID único 'my_defined_transaction_id'
  2. Cuando el usuario termine el pago, haga que vuelvan a user_finished.php (PayPal con darme una identificación)
  3. tener mi configuración de PayPal establecida para que en la autorización de la transacción, PayPal llegará a transaction_cleared.php con un parámetro get que indica 'my_defined_transaction_id'(Nuevamente PayPal me dará una identificación).
  4. PayPal generalmente golpea transaction_cleared.php mucho antes de que el usuario llegue a user_finished.php: Cuando PayPal llega a esa URL, marca 'my_defined_transaction_id'como "OK" (después de hacer referencia cruzada a PayPal para garantizar la validez).
  5. Cuando el usuario termina de vuelta en user_finished.php, Puedo hacer referencia a la identificación de la transacción de regreso a PayPal, asegurar la validez y luego marcar 'my_defined_transaction_id'Como "OK".

Hacer esto en dos pasos le permite al usuario cerrar el navegador sin volver a mi sitio y aún así tener la transacción como "OK".

Lo siento ... aún no he comenzado mi café, pero espero que tenga sentido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top