UniFi - integrar PayPal Standard com Hotspot (V3 + controlador)

Visão geral


Conta padrão do PayPal é gratuita e, portanto, o Paypal tem mais limitação na sua capacidade. Uma das limitações é que o padrão de Paypal não permite APIs. Em outras palavras, você não pode ligar UniFi controlador diretamente para uma conta de Paypal padrão conforme mostrado neste como- para integrar PayPal Pro. Em ordem para isto funcionar, você terá um servidor web externo para alavancar o Paypal notificação de pagamento instantâneo (NPI) serviço para integrar com êxito UniFi hotspot a conta padrão do Paypal.

As implicações dessa integração são mais tempo para os esforços de instalação e manutenção, desde uma entidade extra mais é introduzida na arquitetura, adicionando mais complexidade. Este exemplo de implantação * é projetado para demonstrar como um conta PayPal Standard pode ser integrado com UniFi Hotspot, nós realmente não possui a parte de servidor web externo. Observe que (como em equipe Ubiquiti UniFi) apenas garantimos que nossa interface de controlador de UniFi ao portal externo está funcionando corretamente. É da responsabilidade do proprietário para garantir que este servidor externo está funcionando sem problemas e todos os erros foram devidamente tratados.

O exemplo aqui foi desenvolvido usando PayPal Sandbox , um ambiente de teste fornecido pelo PayPal para desenvolvedores. Este deve fornecer a mesma interface UI/API, como o site normal do PayPal. Se não, então você terá que verificar com o PayPal. 

 

Isenções de responsabilidade


  1. Estes passos destinam-se um portal personalizado na UniFi controladora versão 3.2.1 e referências números de linha nesse sentido. Se você estiver usando uma versão do controlador < 3, é aconselhável que você ignorar os números de linha referenciado ou, mais preferido, atualizar para 3.2.1. Estas etapas devem funcionar bem em versões futuras do 3. x.
  2. Recomendamos que você configure o apache2 com SSL e um certificado comercial instalado. Isso está além do escopo deste artigo. Sem SSL, a comunicação do PayPal o controlador autorizar um convidado é descriptografada.
  3. Seguindo estes passos precisos permitirá que seus convidados acessar endereços IP quase 17 milhões antes da autenticação. Isto é devido do PayPal geograficamente baseado em endereços IP e endereços IP de giro. Para encontrar os endereços IP relevantes para sua área, você deve fazer uma escavação ou nslookup nos seguintes domínios:
    • Paypal.com
    • ipnpb.paypal.com
    • sandbox.paypal.com
    • paypalobjects.com

 

Passos


 

Parte I. preparar o site portal externo (Apache, PHP, portal de exemplo UniFi)

Este exemplo é baseado em Ubuntu 12.04 LTS , mas deve funcionar com qualquer distribuição baseada em Linux. Devido a estes passos, sendo baseados no Ubuntu, o Gerenciador de pacotes usado é aptidão e assume a sintaxe apropriada. Se você usar outro sistema operacional Linux, consulte a página man do Gerenciador de pacotes da sua distribuição. Além disso, esta máquina de servidor web externo precisa de um endereço IP de Internet (para mais tarde serviço de Paypal IPN postar de volta) ou "port forwarding" precisa ser habilitado no firewall.

  1. Instale o Apache2 e PHP5:
    apt-get install apache2 php5
  2. Verificar Apache2 está em execução, apontando seu browser para http://127.0.0.1 ou, se estiver usando uma máquina separada, http:// [endereço IP do Portal] . Você deverá ver uma página Apache2 genérica se está executando o Apache2
  3. Crie um diretório em /var/www para suas páginas de portal para ser armazenado:
    mkdir /var/www/myportal
  4. Ir para a base do servidor web:
    cd /var/www
  5. Baixe o portal de amostra:
    wget http://dl.ubnt.com/unifi/3.2.1/portal_sample_paypal.zip
    • Anote o número de versão na URL
  6. Extraia o portal de amostra:
    tar -xvf portal_sample_paypal.tar.gz
  7. Altere o nome da pasta para algo que você prefere:
    mv portal_sample_paypal myportal
  8. Verifique quais extensões você está usando:
    echo '<?php phpinfo(); ?>' > info.php
    1. Navegue até http:// [endereço IP do Portal]
    2. Fazer um Ctrl + F no seu teclado
    3. Procurar "openssl" e "enrolar"
      • OpenSSL deve ser instalado e ativado por padrão
      • Se a onda não for encontrada, você pode instalá-lo através de
        1. apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt
        2. nano /etc/php5/apache2/php.ini
        3. Role para baixo até você descobrir o comentado linha que lê "Dynamic Extensions"
        4. Vá até o final do bloco de comentário de "Dynamic Extensions"
        5. Criar uma nova linha e digite
          extension=curl.so
        6. Salvar e sair
        7. Reinicie o apache2:
          service apache2 restart
  • Mover para o diretório do portal:
    cd myportal
  • Editar o paypal_ipn.php arquivo:
    nano paypal_ipn.php
    1. Emitir Ctrl + W (será referenciado como "encontrar" em novas medidas)
      • Você será presenteado com uma barra de pesquisa, tipo
        username
        e pressione Enter
      • Isto deve nos levar a linha 103, que pode ser confirmada com Ctrl + C
    2. Remover o "ubnt" e substitua username do seu controlador (deixando as aspas simples em torno de seu nome de usuário)
    3. Na linha seguinte, $password, remover o "ubnt" e substitua o seu controlador de senha (novamente, deixando as aspas simples ao redor de sua senha)
    4. No seguinte linha, $baseurl, modificar o endereço IP se necessário
    5. No seguinte linha, $site, modificar o nome do site, se necessário
    6. Preste muita atenção às linhas 60, 62 e 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) {

      Estes são os nomes de pacotes, eles deverão coincidir com precisamente (diferencia maiúsculas de minúsculas) com os nomes de pacote que você digita quando você criar seu PayPal botão (s).

      Se você quer nomes de pacotes diferentes, você pode alterar os nomes no arquivo paypal_ipn.php.
      Se você deseja adicionar um pacote, copie e cole a instrução else if incluindo a} e { e colá-los antes da instrução else.
      Se você quiser remover um pacote, exclua sua instrução else if.
    7. Salvar e sair
  • Crie o arquivo de log e cookie, atribuindo permissões apropriadas:
    1. touch log.txt
    2. chmod 777 log.txt
    3. touch unifi_cookie.txt
    4. chmod 777 unifi_cookie.txt

 

Parte II. Preparar o PayPal

As etapas a seguir irão demonstrar como produzir dois botões; um botão de produção e um botão de caixa de areia.
O botão de produção deve ser utilizado sempre que você estiver preparado para começar a aceitar pagamentos reais de seus convidados.
O botão de caixa de areia deve estar em uso sempre que você está testando ou verificar o seu código.
Você não pode usar uma conta de modo seguro em um ambiente de produção e você não pode usar uma conta de produção em um ambiente seguro. Deve ser sandbox para caixa de areia ou para produção .

 

Criar a conta de caixa de areia

  1. Criar uma conta de desenvolvedor, se você não tiver, em https://developer.paypal.com/
  2. Uma vez conectado a essa conta, use o menu para navegar até aplicações
  3. Você deve ter um menu através do lado esquerdo, escolha contas de Sandbox
  4. Escolha o botão de criar conta no canto superior direito da tela
    • Insira os detalhes de como você vê o ajuste
    • Recomendamos um equilíbrio pelo menos US $200,00 nesta conta de caixa de areia
  5. Tome nota do endereço de e-mail que é gerado quando você criar a conta, este será o endereço de e-mail para ser usado ao testar o site

 

Criar o botão de caixa de areia

Agora que você criou a conta de caixa de areia, você agora pode logar ao modo seguro PayPal usando essas credenciais.

  1. Faça logon seu sandbox conta em https://www.sandbox.paypal.com/
  2. Na página principal, você deve ver uma opção para "My salva botões", clique em isso.
  3. No lado direito, você verá uma opção para "Criar novo botão", clique em isso.
    pp_sb2.png
  4. Estruturar seu botão, conforme mostrado na figura abaixo

    Note que o nome do Item, o nome do menu drop-down e o preço podem ser alterados para atender às suas necessidades
    no entanto , o nome da opção de Menu deve coincidir com o que está indicado no arquivo paypal_ipn.php (diferencia maiúsculas de minúsculas)
  5. Clique em criar botão
  6. Você agora deve ser apresentado com o código que precisa ser copiado para a área de transferência, copiar o código.
  7. Volte para o seu servidor de portal
  8. nano index.php
  9. Localize o bloco de comentário de linhas 44-50
  10. Remover todas as elipses
  11. Cole o código na linha 45, só dentro do bloco de comentário do HTML
    • Se você gostaria de ver o seu botão de caixa de areia no portal, remova o bloco de comentários, salvar & sair e, em seguida, carregar a página index. php em um navegador da web
  12. Salvar e sair

 

Criar o botão de produção

  1. Faça logon sua conta PayPal em https://www.paypal.com/
  2. Na página principal, você deve ver uma opção para "Ferramentas", clique em isso.
  3. Agora você deve ter uma opção para "Botões PayPal", clique em isso.
  4. Estruturar seu botão, conforme mostrado na figura abaixo

    Note que o nome do Item, o nome do menu drop-down e o preço podem ser alterados para atender às suas necessidades
    no entanto , o nome da opção de Menu deve coincidir com o que está indicado no arquivo paypal_ipn.php (diferencia maiúsculas de minúsculas)
  5. Clique em criar botão
  6. Você agora deve ser apresentado com o código que precisa ser copiado para a área de transferência, copiar o código.
  7. Volte para o seu servidor de portal
  8. nano index.php
  9. Localize o bloco de comentário de linhas 36-42
  10. Remover todas as elipses
  11. Cole o código na linha 37, só dentro do bloco de comentário do HTML
    • Se você gostaria de ver o seu botão de produção no portal, remova o bloco de comentários, salvar & sair e, em seguida, carregar a página index. php em um navegador da web
  12. Salvar e sair

 

Visualização de seus botões

Observe que você pode ver os botões, removendo o bloco de comentário HTML que rodeia o botão.
Para fins de teste, o código do botão de produção deve ser comentado.
Para fins de produção, o código do botão de caixa de areia deve ser comentado.
Para visualizar seu código:

  1. Abra um navegador da web
  2. Navegue até o endereço IP http://[Your portal] / [seu caminho para arquivos omitindo o/var/www]

 

Parte III. Preparar o controlador

  1. Faça logon seu controlador de UniFi
  2. Escolha o seu site de portal pretendido na lista suspensa no canto superior esquerdo
  3. Em "Configurações" > "Controle de comentários" > "Políticas de comentários" seção, marque "Habilitar comentários Portal" se você não tiver
  4. Escolha "Servidor de Portal externo"
  5. Para o endereço de IP de Portal personalizado, digite o endereço IP do seu portal. Não incluir "http://", "https://" ou o caminho. Por padrão, UniFi vai tomar o que é inserido na caixa, adicionar o http:// para a frente e /guest/s / [nome do site] até o fim
  6. Adicionar PayPal IP endereços à lista de permitidos sub-redes
    • Endereços IP do PayPal são baseados geograficamente, então você pode querer encontrar os endereços IP que são vinculados aos seguintes domínios
      • Paypal.com
      • ipnpb.paypal.com
      • sandbox.paypal.com
      • paypalobjects.com
    • Você pode fazer isso usando
      dig paypal.com
      do seu servidor de portal, em seguida, copiar e colar os IPs que são retornados com o A registra em para as sub-redes permitidas, acrescentar um "/ 32" no final para indicar um único endereço IP
    • Mais detalhes sobre isso podem ser encontrados aqui: https://ppmts.custhelp.com/app/Answers/Detail/A_ID/ 92
    • Como alternativa, você pode adicionar o seguinte à sua sub-redes permitidos:
      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: adicionar as sub-redes acima permitirá que seus hóspedes acessem 16,973,816 endereços prévia para ser autorizado na rede, mas estas sub-redes abrangem todos os endereços de IP de PayPal conhecidos no momento da redação deste texto. É recomendável que você encontra o PayPal IP endereços para sua região e adicioná-los
    • Clique em aplicar e essas configurações irão sincronizar para fora para seus UAPs
  7. Em "Configurações" > "Redes sem fio":
    • Se você já tem um convidado SSID configurado, clique em Editar ao lado, clique na opção de política de comentários e clique em aplicar
    • Se você quiser configurar um novo SSID de comentários, clique em criar, preencha os campos apropriados e certifique-se da que caixa de seleção de comentários política é marcada, clique em aplicar

 

Parte IV. Teste

Para testar seu novo portal:

  1. nano index.php
  2. Garantir que o código do botão de caixa de areia não é comentado
  3. Tem um dispositivo compatível com Wi-Fi associar ao SSID comentários
  4. Assim que o convidado associates, deve abrir uma aba do navegador da web, exibindo seu portal com o botão da caixa de areia
    • Se você não é trazido para sua página do portal, seu dispositivo Wi-Fi não é a comunicação com o portal, isso pode significar algumas coisas:
      1. Site de portal é incluído na lista restrita de sub-redes, adicionar IP do portal à lista de permitidos sub-redes com um 32 na extremidade e aplicar a alteração
      2. Firewall impedindo os hóspedes de se comunicar com o portal
      3. Certifique-se de que conseguir para o site de portal de outro computador na mesma LAN
  5. Clique em comprar agora, você deveria ser trazido para uma tela de login do PayPal
    • Se você não me trouxe para uma tela de login do PayPal, sua lista de sub-redes permitido é provavelmente imprecisa. Corrija isto e tente novamente
  6. Faça login no PayPal com seu conta de caixa de areia
  7. Salário (isto não é dinheiro real, enquanto você está conectado à sua conta de caixa de areia quando você paga)
  8. Verifique com o controlador de UniFi na guia os hóspedes, você deverá ver uma entrada com o endereço MAC do seu dispositivo e um botão que diz "Desautorizar" para a direita
  9. Parabéns! Você já integrou com sucesso do padrão de PayPal ao auditor UniFi

 

Parte V. produção

Para colocar seu novo portal em como modo de produção:

  1. nano index.php
  2. Garantir que o código do botão de produção não é comentado
  3. Garantir que o código do botão de caixa de areia é comentada
  4. Salvar e sair

 

Parte VI. Conclusão

Agora você tem um portal de comentários do trabalho com padrão de PayPal integrado e pode começar a aceitar pagamentos PayPal. Se, em qualquer ponto, você precisa testar o PayPal parte do portal, você pode simplesmente comentar o código do botão PayPal produção e descomente o código do botão PayPal Sandbox, fazer o seu teste e então reverter o código comentado blocos quando você está pronto para o horário nobre novamente!

 

 

Notas


* - Não apoiaremos os scripts de exemplo. O exemplo não deve ser usado na rede de produção. O leitor deste documento deverá ter conhecimento HTML/PHP e estão familiarizado com os serviços do Paypal. Este é um exemplo, por favor, não simplesmente aplicar, acho que em primeiro lugar e certifique-se de que cada linha é devidamente modificada de acordo com seu ambiente.

  1. UniFi FAQ
  2. Guia do usuário paypal Sandbox
  3. Guia de notificação de pagamento paypal instantâneas
  4. Super especial graças ao UBNT-David & UBNT-Jamie . Eles colocaram o original artigo juntos. Precisava ser educada para as versões atuais do controlador.
  5. Especial graças ao JustTech , mmaxmal e FreenetAntennas para seus posts úteis!
Powered by Zendesk