developer credit card boton php paypal paypal-sandbox

php - credit - ¿Puedo probar paypal api''s desde localhost?



paypal sandbox credit card (7)

Bueno, la mayoría funciona, pero también puede configurar una entrada de DNS local temporal. Todo lo que tienes que hacer es:

  1. abre tu / etc / hosts
  2. añadir una nueva entrada: yourwebsite.com 127.0.0.1

Por lo tanto, cuando la consulta de su navegador para el sitio web se obtenga de su 127.0.0.1, algunas veces su necesidad de vaciar dns (/etc/init.d/nscd restart).

y eso es todo, pero recuerde eliminar la entrada cuando esté listo para la producción.

ACTUALIZACIÓN 1:

De acuerdo con este tutorial sobre el uso de la Notificación de pago instantánea de PayPal con PHP , PayPal no puede acceder a sitios web alojados localmente a menos que se abran ciertos puertos de enrutador. ¿Esto se debe a que el sitio web se trata de IPN o es cierto para todas las API de PayPal?

PREGUNTA ORIGINAL:

En mi computadora portátil, tengo una configuración de entorno LAMP , cuando uso http://localhost para crear un sitio web antes de publicarlo.

Para un nuevo proyecto, necesito usar las API de PayPal. ¿Podré usar el host local para probar las API de PayPal si conecto mi computadora portátil a Internet? ¿O tendré que subir mi sitio web a un host LAMP en otro lugar?

Probablemente estés pensando, qué pregunta más estúpida, solo inténtalo para ver si funciona. Lo he intentado y no funciona y quería descartar esta pregunta antes de continuar con el siguiente paso.


Debería funcionar sin problemas, sin embargo, puede ser delicado si envía "URL no válidas" para las URL de retorno y las URL de mensajes de IPN. Es decir, el envío de http://localhost/cancelpaypal.php como cancelURL puede decirle que es una URL no válida.

Sin embargo, no creo que deba.

Tener que abrir puertos de enrutador solo sería necesario para IPN, porque la redirección en el flujo normal es un encabezado regular "Ubicación:" por lo tanto, es su navegador el que debe poder acceder al sitio (localhost)


Deberia de funcionar. Hice una integración de pago con PayPal el año pasado, y funcionó en localhost sin problemas.

¿Estás utilizando el sandbox de paypal para el desarrollo? https://developer.paypal.com/


Para utilizar IPN, se debe acceder a su host local desde la web. Una solución que definitivamente funciona es usar una máquina virtual, instalar un servidor VPN, conectar su Clinet a través de una VPN y administrar el host virtual para redirigirlo a su dirección IP local. De esa manera, si activa la VPN, se puede acceder a su servidor desde el exterior y se puede enviar la IPN.



Si desea depurar su código de IPN, deberá hacer que su servidor esté públicamente disponible de alguna manera. Esto es así para que PayPal pueda volver a enviar de forma asíncrona a su servidor más tarde después de que haya enviado su solicitud. Por lo general, esto es bastante rápido, creo (dentro de 15 segundos), pero podría ser más largo.

Una manera fácil de encontrar un servidor de desarrollo disponible públicamente es usar ngrok o forwardhq.com . Esto le permite continuar desarrollando en su IDE como de costumbre, ejecutando su código en modo de depuración. Cuando PayPal vuelve a publicar en su punto final, puede realizar la depuración allí mismo en su IDE. Estos servicios envuelven esto para usted, por lo que es muy fácil hacerlo sin ningún conocimiento técnico.

Según tengo entendido, esto se hace mediante un "túnel SSH inverso" que permite que su sitio se haga público mediante la distribución de un servidor que ya está disponible públicamente. Tenga en cuenta que antes de hacer esto, debe tener en cuenta que no solo PayPal puede acceder a su sitio una vez que se ha hecho público, sino que cualquiera puede hacerlo, así que, por favor, tenga esto en cuenta primero.

Además, si tienes tu propio dominio público y no te importa jugar en un terminal con SSH, supuestamente puedes hacer algo como este script de shell ( copiado de esta esencia )

# Usage: show <local-port> <subdomain> function show() { DOMAIN=".yourdomain.com" REMOTE="$2$DOMAIN" ssh -tR 1080:127.0.0.1:$1 vps "sudo ssh -Nl /$USER -L $REMOTE:80:127.0.0.1:1080 localhost" }

Para que esto funcione como antes, deberías poner lo siguiente en tu archivo ~ / .ssh / config:

Host vps HostName <server address> User <server username>

Si no quieres (o no puedes) hacer esto, lo siguiente funcionará:

SERVERUSER="<server username>" ssh -l $SERVERUSER -tR 1080:127.0.0.1:$1 <server address> "sudo ssh -Nl /$SERVERUSER -L $REMOTE:80:127.0.0.1:1080 localhost"


Una solución simple se describe en la página oficial de desarrolladores de PayPal:

developer.paypal.com - Pruebas IPN locales

El truco consiste en escribir un pequeño archivo HTML con este contenido:

<form target="_new" method="post" action="https://www.YourDomain.com/Path/YourIPNHandler.php"> <!-- start example variables: --> <input type="hidden" name="SomePayPalVar" value="SomeValue1"/> <input type="hidden" name="SomeOtherPPVar" value="SomeValue2"/> <!-- /end example variables --> <input type="submit"/> </form>

Para obtener los resultados reales, necesita copiar todas las variables de IPN que PayPal envía. Estas variables reales se pueden encontrar en la cuenta de PayPal, en Historial de IPN:

Historial de IPNs

Debe hacer clic en el ID de mensaje relativo y luego copiar el contenido del "Mensaje de IPN" (será algo así como mc_gross = 27.00 & invoice = Test-1 & protection_eligibility = Ineligible & ...) que debe convertirse en campos de entrada ocultos HTML. Por ejemplo:

<input type="hidden" name="mc_gross" value="27.00"/> <input type="hidden" name="invoice" value="Test-1"/> <input type="hidden" name="protection_eligibility" value="Ineligible"/> ....

Después de configurar todas estas variables y cambiar la URL de acción, puede abrir el archivo con un navegador y luego enviar este formulario.