PEA - integrar PayPal estándar con Hotspot (V3 + controlador)

Resumen


Cuenta estándar de PayPal es gratuito y por lo tanto Paypal tiene más limitaciones en su capacidad. Una de las limitaciones es que no permite APIs estándar de Paypal. En otras palabras, no enganche UniFi el controlador directamente a una cuenta de Paypal estándar como se muestra en esta cómo hacerlo para integrar PayPal Pro. En orden para que funcione, se necesita un servidor web externo con el fin de aprovechar la notificación de pago instantánea (IPN) de Paypal servicio para integrar con éxito con UniFi hotspot la cuenta estándar de Paypal.

Las implicaciones de esta integración son más tiempo para los esfuerzos de instalación y mantenimiento desde una entidad extra más se introduce en la arquitectura, agregando más complejidad. Este ejemplo de implementación * está diseñada para demostrar cómo un cuenta PayPal estándar se puede integrar con UniFi Hotspot, no realmente poseemos el pedazo de servidor web externo. Tenga en cuenta que (como en el equipo Ubiquiti UniFi) sólo aseguramos que nuestra interfaz de controlador de PEA el portal externo es funcional correctamente. Es responsabilidad del propietario asegurar que este servidor externo está funcionando suavemente y todos los errores han sido manipulados correctamente.

El ejemplo fue desarrollado usando PayPal Sandbox , un entorno de prueba proporcionado por PayPal para los desarrolladores. Esto proporcionará la misma interfaz API/interfaz de usuario de la Web de PayPal normal. Si no es así, entonces usted necesitará verificar con PayPal. 

 

Descargos de responsabilidad


  1. Estos pasos están destinados a un portal personalizado de PEA versión 3.2.1 y referencias números de línea en consecuencia. Si utilizas una versión de controlador < 3, se aconseja que usted ignore los números de referencia de la línea o, más preferido, actualiza a la 3.2.1. Estos pasos deberían funcionar bien en las versiones 3.x futuro.
  2. Recomendamos configurar apache2 con SSL y un certificado comercial instalado. Está fuera del alcance de este artículo. Sin SSL, la comunicación de PayPal hacia el controlador para autorizar a un invitado está codificada.
  3. Siguiendo estos pasos precisos permitirá a tus invitados a casi 17 millones direcciones IP antes de la autenticación. Esto es debido a la de PayPal geográficamente direcciones IP y direcciones IP de rotación. Para encontrar las direcciones IP para su área, usted debe hacer una excavación o nslookup en los siguientes dominios:
    • Paypal.com
    • ipnpb.paypal.com
    • Sandbox.paypal.com
    • paypalobjects.com

 

Pasos


 

Parte I. preparar el sitio de portal externo (Apache, PHP, portal de ejemplo UniFi)

En este ejemplo se basa en Ubuntu 12.04 LTS , pero debería funcionar con cualquier distribución de Linux basado. Debido a estos pasos se basan en Ubuntu, el gestor de paquetes utilizado es aptitud y asume la sintaxis apropiada. Si utilizas un sistema operativo Linux, consulte con la página del administrador de paquetes de tu distribución. Además, esta máquina del servidor web externo necesita una dirección IP de Internet (para el servicio de Paypal IPN más adelante a detrás de correos) o reenvío de puertos debe estar habilitado en el firewall.

  1. Instalar Apache2 y PHP5:
    apt-get install apache2 php5
  2. Verificar Apache2 está ejecutando su navegador a http://127.0.0.1 o, si se utiliza una máquina separada, http:// [dirección IP del Portal] . Usted debería ver una página genérica de Apache2 si ejecuta Apache2
  3. Crear un directorio en/var/www para tus páginas de portal almacenar:
    mkdir /var/www/myportal
  4. Ir a la base del servidor web:
    cd /var/www
  5. Descargar el portal de la muestra:
    wget http://dl.ubnt.com/unifi/3.2.1/portal_sample_paypal.zip
    • Nota el número de versión en la URL
  6. El portal muestra el extracto:
    tar -xvf portal_sample_paypal.tar.gz
  7. Cambiar el nombre de la carpeta a algo que prefiera:
    mv portal_sample_paypal myportal
  8. Compruebe qué extensiones usas:
    echo '<?php phpinfo(); ?>' > info.php
    1. Vaya a http:// [dirección IP del Portal]
    2. Hacer un Ctrl + F en tu teclado
    3. Buscar "openssl" y "curl"
      • OpenSSL debe ser instalado y activado por defecto
      • Si no se encuentra el rizo, puede instalarlo mediante
        1. apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
        2. nano /etc/php5/apache2/php.ini
        3. Desplácese hacia abajo hasta encontrar los comentados línea que lee "Dynamic Extensions"
        4. Desplácese hasta la parte inferior del bloque de comentario "Dynamic Extensions"
        5. Crear una línea nueva y escriba
          extension=curl.so
        6. Save & Exit
        7. Reiniciar apache2:
          service apache2 restart
  • Mover el directorio portal:
    cd myportal
  • Editar la paypal_ipn.php archivo:
    nano paypal_ipn.php
    1. Emitir Ctrl + W (a ser referenciado como "encontrar" en los pasos posteriores)
      • Se le presentará con una barra de búsqueda, tipo de
        username
        y presiona Enter
      • Esto debe traer a la línea 103, que puede confirmarse con Ctrl + C
    2. Quitar el "ubnt" y reemplace con el nombre de usuario del controlador (dejando las comillas simples alrededor de su nombre de usuario)
    3. En la línea siguiente, $password, quitar el "ubnt" y sustituir con su controlador de contraseña (otra vez, dejando las comillas simples alrededor de la contraseña)
    4. En la siguiente línea, $baseurl, modifique la dirección IP si es necesario
    5. En la siguiente línea, $site, modificar el nombre del sitio si es necesario
    6. Preste atención a las líneas 60, 62 y 64:
      if (strcmp ($_POST['option_selection1'], "8-Hour Pass") == 0) {
      } else if (strcmp ($_POST['option_selection1'], "1-Day Pass") == 0) {
      } else if (strcmp ($_POST['option_selection1'], "3-Day Pass") == 0) {

      Estos son los nombres de paquete, deben coincidir con exactamente (mayúsculas y minúsculas) con los nombres de paquete entras al crear tu botón de PayPal.

      Si quieres nombres de diferentes paquetes, usted puede cambiar los nombres en el fichero paypal_ipn.php.
      Si desea añadir un paquete, copiar y pegar la instrucción else if incluyendo la} y y pegar antes de la sentencia else.
      Si desea eliminar un paquete, eliminar su instrucción else if.
    7. Save & Exit
  • Crear el archivo de registro y cookies, asignar los permisos adecuados:
    1. touch log.txt
    2. chmod 777 log.txt
    3. touch unifi_cookie.txt
    4. chmod 777 unifi_cookie.txt

 

Parte II. Preparar PayPal

Los pasos siguientes demostrará cómo producir dos botones; un botón de producción y un botón de sandbox.
El botón de producción debe estar en uso siempre que usted esté preparado para empezar a aceptar pagos reales de tus invitados.
El botón de la caja de arena debe estar en uso cuando estás pruebas o verificar su código.
Se puede utilizar una cuenta sandbox en un entorno de producción y se puede utilizar una cuenta de producción en un entorno sandbox. Debe ser sandbox a sandbox o producción a producción .

 

Crear la cuenta de caja de arena

  1. Crear una cuenta de desarrollador, si no lo has hecho ya, en https://developer.paypal.com/
  2. Una vez que ha iniciado sesión esa cuenta, utilice el menú para navegar a las aplicaciones
  3. Usted debe tener un menú en el lado izquierdo, elija cuentas de Sandbox
  4. Seleccione el botón de crear cuenta en la esquina superior derecha de la pantalla
    • Ingrese los datos como mejor parezca
    • Recomendamos un saldo de al menos $200,00 en esta cuenta sandbox
  5. Tome nota de la dirección de correo electrónico que se genera al crear la cuenta, esta será la dirección de correo electrónico para ser utilizado cuando el sitio de prueba

 

Crear el botón de Sandbox

Ahora que has creado la cuenta sandbox, usted puede ahora iniciar sesión en el PayPal Sandbox utilizando estas credenciales.

  1. Iniciar sesión en tu sandbox de cuenta en https://www.sandbox.paypal.com/
  2. En la Página principal, debe ver una opción de "Mi guarda botones", haga clic en eso.
  3. En el lado derecho, verás una opción para "Crear nuevo", haga clic en.
    pp_sb2.png
  4. Estructura el botón como se muestra en la siguiente imagen

    tenga en cuenta que el nombre del artículo, nombre del menú desplegable y el precio pueden modificarse para satisfacer sus necesidades
    sin embargo , el nombre de la opción de menú debe coincidir con lo que se indica en el fichero paypal_ipn.php (mayúsculas y minúsculas)
  5. Haga clic en crear botón
  6. Usted debe presentarse ahora con el código que necesita ser copiado al portapapeles, copiar el código.
  7. Volver a tu servidor del portal
  8. nano index.php
  9. Localizar el bloque de comentario de las líneas 44-50
  10. Quitar todas las elipses
  11. Pegue el código en la línea 45, sólo dentro del bloque de Comentario HTML
    • Si desea ver el botón de sandbox en el portal, quite el bloque de comentarios, guardar y salir, luego cargar la página index.php en el navegador web
  12. Save & Exit

 

Crear el botón de la producción

  1. Inicie sesión su cuenta de PayPal en https://www.paypal.com/
  2. En la Página principal, debe ver una opción de "Herramientas", haga clic en eso.
  3. Ahora tienes una opción para "Botones de PayPal", haga clic en eso.
  4. Estructura el botón como se muestra en la siguiente imagen

    tenga en cuenta que el nombre del artículo, nombre del menú desplegable y el precio pueden modificarse para satisfacer sus necesidades
    sin embargo , el nombre de la opción de menú debe coincidir con lo que se indica en el fichero paypal_ipn.php (mayúsculas y minúsculas)
  5. Haga clic en crear botón
  6. Usted debe presentarse ahora con el código que necesita ser copiado al portapapeles, copiar el código.
  7. Volver a tu servidor del portal
  8. nano index.php
  9. Localizar el bloque de comentario de las líneas 36-42
  10. Quitar todas las elipses
  11. Pegue el código en la línea 37, sólo dentro del bloque de Comentario HTML
    • Si desea ver el botón de la producción en el portal, quite el bloque de comentarios, guardar y salir, luego cargar la página index.php en el navegador web
  12. Save & Exit

 

Visualización de los botones

Nota que puede ver botones quitando el bloque de Comentario HTML que rodea el botón.
Para propósitos de prueba, el código del botón de producción debe ser comentado.
Para fines de producción, el código del botón Sandbox debe ser comentado.
Para ver el código:

  1. Abra un navegador web
  2. Vaya a http://[Your portal dirección IP] / [su ruta a archivos ommiting/var/www]

 

Parte III. Preparar el controlador de

  1. Inicie sesión su controlador de PEA
  2. Elige tu portal sitio previsto de la lista desplegable en la esquina superior izquierda
  3. En "Configuración" > "Control de huésped" > "Políticas de los" sección, consulte "Habilitar Portal de huésped" si no lo has hecho ya
  4. Seleccione "Servidor de Portal externo"
  5. Para Custom Portal dirección de IP, escriba la dirección IP de su portal. No incluye "http://", "https://" o la ruta. Por defecto, UniFi llevará lo que se introduce en la caja, agrega el http:// al frente y /guest/s / [nombre del sitio] al final
  6. Añadir direcciones de PayPal IP a la lista de subredes permitidas
    • Direcciones IP de PayPal geográficamente se basan, por lo que puede encontrar las direcciones IP que están enlazadas a los siguientes dominios
      • Paypal.com
      • ipnpb.paypal.com
      • Sandbox.paypal.com
      • paypalobjects.com
    • Usted puede hacer esto usando
      dig paypal.com
      desde el servidor del portal, luego copiar y pegar las IPs que se devuelven con el graba en las subredes permitidas, añadir un "/ 32" en el extremo para indicar una única dirección IP
    • Aquí encontrará más detalles sobre esto: https://ppmts.custhelp.com/app/Answers/detail/a_id/ 92
    • Como alternativa, puede añadir lo siguiente a las subredes permitidas:
      1. 173.0.0.0/16
      2. 64.4.0.0/16
      3. 2.22.0.0/16
      4. 23.0.0.0/8
      • Nota: agregando las subredes anteriores permitirá tuyo invitados a 16,973,816 direcciones previo para ser autorizados en la red, pero estas subredes abarcan todas las direcciones conocidas de IP de PayPal en el momento de escribir esto. Se recomienda que buscar la IP PayPal direcciones para su región y agregarlos
    • Haga clic en aplicar y estos ajustes se sincronizarán a sus UAPs
  7. En "Configuración" > "Redes inalámbricas":
    • Si ya tienes un invitado SSID configurado, haga clic en Editar junto a él, haga clic en la casilla de verificación de los política y haga clic en aplicar
    • Si desea configurar un nuevo SSID de invitado, haga clic en crear, rellene los campos correspondientes y asegurar que está marcada la casilla de política de los, haga clic en aplicar

 

Parte IV. Prueba

Para probar su nuevo portal:

  1. nano index.php
  2. Asegurar que el código del botón Sandbox no es comentado
  3. Tiene un dispositivo capaz de WiFi asociado a la SSID de invitado
  4. Tan pronto como el huésped asociados, debe abrir una pestaña del navegador web, mostrando su portal con el botón de sandbox
    • Si no se traen a su página del portal, el dispositivo WiFi no es comunicación con el portal, esto puede significar varias cosas:
      1. Sitio del portal está incluido en la lista de subredes restringido, agregar el portal IP a la lista de subredes permitidas con un 32 en el final y aplica el cambio
      2. Firewall que impide que los huéspedes comunicarse con el portal
      3. Asegúrese de que puede llegar al sitio de portal desde otro ordenador en la misma LAN
  5. Haga clic en comprar ahora, usted debe traer una pantalla de login de PayPal
    • Si no Haz trajo a una pantalla de login de PayPal, la lista de subredes permitidas es probablemente inexacta. Corregir esto y vuelva a intentarlo
  6. Iniciar sesión en PayPal con tu cuenta sandbox
  7. Pago (esto no es dinero real como está firmado en tu cuenta sandbox al pagar)
  8. Compruebe con el UniFi Controlador en la ficha de clientes, usted debería ver una entrada con la dirección MAC de su dispositivo y un botón que dice "Unauthorize" a la derecha
  9. ¡ Felicidades! Han integrado con éxito para el UniFi controlador estándar de PayPal en

 

Parte V. producción

A su nuevo portal en modo de producción:

  1. nano index.php
  2. Asegurar que el código de botón de producción no es comentado
  3. Asegurar el código del botón Sandbox es comentada
  4. Save & Exit

 

Parte VI. Conclusión

Ahora usted tiene un portal de huésped trabajo con PayPal estándar integrado y puede empezar a aceptar pagos de PayPal. Si, en cualquier momento, usted necesita probar la parte de PayPal del portal, puede simplemente comentar el código del botón de PayPal de producción y descomentar el código del botón de PayPal Sandbox, hacer sus pruebas y luego invierta el código comentado bloques cuando estés listo para el horario estelar una vez más!

 

 

Notas de la


* - No apoyaremos los scripts de ejemplo. El ejemplo no se utilizarán en la red de producción. El lector de este documento se espera que tenga conocimientos HTML/PHP y están familiarizado con los servicios de Paypal. Este es un ejemplo, por favor, no simplemente aplicar, piense primero y asegúrese de que cada línea se modifica correctamente según su entorno.

  1. UniFi FAQ
  2. Guía de usuario de PayPal Sandbox
  3. Guía de notificación de pago instantánea PayPal
  4. Super especial gracias a UBNT-David y UBNT-Jamie . Ponen la artículo original juntos. Sólo necesitó ser traído para arriba para las versiones actuales del controlador.
  5. Especial gracias a JustTech , mmaxmal y FreenetAntennas para sus puestos de trabajo útiles!