Dicas Úteis

Como integrar o pagamento via PayPal no site

Pin
Send
Share
Send
Send


Existem dois métodos principais que você pode usar para adicionar o PayPal ao seu blog. A primeira maneira é adicionar um botão de doação do PayPal para que as pessoas possam expressar seu agradecimento pelo blog, fazendo doações voluntárias à sua conta do PayPal. O segundo método permite que você adicione uma cesta do PayPal. Como resultado, os visitantes do seu blog poderão comprar produtos que você vende e efetuar pagamentos por meio do PayPal em sua conta.

Integração de pagamento de bens e serviços através do Paypal

Para integrar o pagamento via PayPal, você pode colocar o botão padrão gerado na sua conta do Paypal. Quando você clica nele, o usuário é imediatamente transferido para o site do PayPal para efetuar um pagamento. Na maioria dos casos, isso é suficiente. No entanto, essa opção não garante que o usuário faça realmente qualquer coisa, e o resultado pode ser rastreado somente dentro da conta do PayPal, o que é absolutamente inconveniente.

Uma alternativa valiosa ao botão do PayPal é um formulário em HTML, que pode conter todas as informações necessárias para efetuar um pagamento:

Então, crie um formulário HTML simples com muitos campos. Todos os campos podem ser do tipo ocultos com valores estritamente especificados. Ao mesmo tempo, preste atenção aos seus nomes exatos:

Campos obrigatórios:

  • quantidade - quantidade de transferência,
  • cmd - tipo de tradução,
  • charset - codificação de comunicação entre o sistema e o Paypal. Estritamente utf-8,
  • negócios - E-mail da conta Paypal do vendedor,
  • currency_code - código da moeda em formato internacional. Nem todas as moedas são suportadas.
  • retornar - a URL absoluta para a qual o usuário será redirecionado quando você clicar no botão de retorno para o site após o pagamento,
  • cancel_return - a URL absoluta para a qual o usuário será redirecionado quando você clicar no botão de retorno para o site mediante recusa de pagamento.

Campos opcionais (mas recomendados):

  • undefined_quantity - a quantidade de bens adquiridos,
  • item_name - nome da transação
  • notify_url - O URL absoluto para o qual será enviada uma notificação do Paypal sobre o resultado da operação. Um campo opcional, mas sem ele você não pode descobrir o resultado da operação,
  • personalizado - Um campo simples que pode conter até 100 caracteres de informações de serviço. Irá retornar como está junto com uma notificação para notify_url. Pode ser usado para transferir, por exemplo, o ID interno do usuário que executou a operação,
  • rm - é responsável pelo método com o qual o usuário será retornado ao site (POST ou GET).

Informações mais detalhadas sobre quais campos do formulário HTML devem ser preenchidos no Paypal podem ser encontradas no site oficial dos desenvolvedores do sistema. É importante lembrar que, para todas as transações de pagamento, o PayPal adiciona sua comissão, que é paga pelo destinatário.

Para resolver o problema de rastrear os pagamentos recebidos em sua conta do PayPal de qualquer usuário, você precisa configurar as funções de reabastecimento de contas e receber notificações de IPN.

Reposição de conta

A função de reabastecimento é fácil de configurar. O formulário de pagamento do seu site deve enviar dados na forma de uma matriz POST para um endereço estritamente fixo:

  • para o modo Sandbox em https://www.sandbox.paypal.com/cgi-bin/webscr
  • para o modo Ao vivo em https://paypal.com/cgi-bin/webscr

Notificações de IPN

Imagine que um usuário do seu site fez um pagamento. Com um pequeno atraso, apenas alguns segundos, o servidor do PayPal enviará uma notificação de IPN ao script com o resultado da operação, se o campo notify_url for usado. Ou seja A URL especificada receberá dados sobre o pagamento feito na forma de uma matriz POST associativa. Se a mensagem não for entregue (a resposta do servidor não é 200), a mensagem será reenviada até que seja recebida uma resposta 200. Após cada notificação malsucedida, o tempo entre novas tentativas será duplicado. O número máximo de tentativas é 15.

Ao transferir dinheiro, o campo obrigatório é currency_code. A conta para a qual a transferência é feita pode usar uma moeda diferente. Nesse caso, o destinatário deve escolher o que fazer com esse pagamento:

1. Aceite com a conversão para a moeda da conta corrente à taxa atual.

2. Aceite com a criação de uma conta adicional com a moeda de pagamento.

3. Rejeite o pagamento.

Devido a esse recurso, a notificação de IPN receberá status Pendente, não Concluída, e a transação em si será suspensa até que o beneficiário selecione uma das opções em sua própria conta do PayPal. Ao escolher a segunda opção, todas as transações semelhantes serão realizadas sem problemas, incluindo aquelas concluídas anteriormente.

Há uma nuance - no caso desta ação, o PayPal não envia notificação de IPN sobre a conclusão da operação. Você pode contornar isso armazenando o ID de todas as transações do PayPal no site e, se necessário, verificando seu status atual por meio da API.

Tendo concluído a configuração das notificações de IPN, o próximo passo é enviar os fundos creditados aos usuários do sistema. Isso pode ser implementado de várias maneiras.

Envio de fundos para usuários do sistema

Uma das opções para transferir fundos para usuários do sistema é o serviço de pagamento. Em essência, isso é uma transferência em massa de fundos de uma conta do sistema para outras contas. Basicamente, ele é usado para transferir fundos para várias contas de uma só vez (até 500 por transação).

Ao retirar fundos, é cobrada uma taxa, cujo valor depende do país do titular da conta. Além disso, a comissão é debitada da conta do remetente.

Apesar da descrição do serviço no site oficial, essa funcionalidade funciona somente nos Estados Unidos e apenas para contas nos EUA. Há funcionalidade na API REST, mas funcionará, novamente, somente nos Estados Unidos.

Oficialmente, o PayPal convida os desenvolvedores da web a usar a API REST do Paypal. Esta opção é bastante funcional, mas na maior parte só funciona para clientes dos Estados Unidos. Você pode se familiarizar com sua implementação oficial em PHP aqui: https://github.com/paypal/PayPal-PHP-SDK. Para usar, você deve ter um certificado SSL válido. Certificados autoassinados não são aceitos.

API NVP / SOAP

Como um substituto válido para a API REST do PayPal para países nos quais sua funcionalidade não está disponível, a Paypal Classic API é adequada. Ele tem um método de pagamento adaptativo que pode ser usado para transferir fundos da conta do sistema para qualquer outro e, ao mesmo tempo, indicar quem pagará a taxa de transferência.

A implementação da API em PHP pode ser vista aqui: https://github.com/paypal/adaptivepayments-sdk-php. De fato, para todos os países, exceto os Estados Unidos, esse método de efetuar pagamentos a partir da conta do sistema é o único. Por analogia com a API REST, um certificado SSL também é necessário neste caso.

Tendo lidado com as configurações de reabastecimento de contas e enviando fundos para usuários do PayPal, nós iremos morar separadamente nos modos Sandbox e Live.

Caixa de areia e modos ao vivo

Para o proprietário da conta do PayPal, é possível usar o modo de teste do Sandbox, que repete completamente todas as funcionalidades do sistema de tradução, com exceção do design. Está disponível em sandbox.paypal.com. Para usá-lo, você precisa de uma conta real do Paypal.

Vendedor de sandbox e contas de comprador são criadas automaticamente. Abaixo deles, você pode fazer login no site da Sandbox. Após o login, você deve acessar o developer.paypal.com na seção Dashboard.

Se necessário, você pode adicionar novas contas simplesmente copiando as existentes. Para eles, você também pode indicar o valor dos fundos na conta.

O modo ao vivo é o modo de operação do PayPal. Operações no Sandbox nunca se sobrepõem ao modo Live. As contas ativas não são aplicáveis ​​no Sandbox e vice-versa.

Para usar os dois modos, você precisa configurar a API.

Configurar a API REST

Na seção Meus Aplicativos e Credenciais do bloco Aplicativos da API REST, você precisa criar um aplicativo. Você deve adicionar o caminho para o qual as notificações de IPN serão enviadas (notify_url) e escolher quais notificações serão enviadas para lá.

client_id e secret são necessários para autorização. Para cada um dos modos, as configurações são definidas separadamente. Assim, por exemplo, para o modo Caixa de areia, você pode definir uma URL para obter IPN e para o modo ao vivo - outra URL.

Configurando NVP / SOAP

No modo Sandbox, você pode literalmente usar imediatamente a API NVP / SOAP. Para autorização, nome de usuário, senha, assinatura e appId são usados. Visualize dados de nome de usuário, senha e assinatura no perfil do vendedor.

O appID no modo Sandbox é sempre o mesmo e deve ser definido como APP-80W284485P519543T. Se você usar qualquer outro appId no modo Sandbox, o Paypal retornará um erro de autorização.

No modo Ao Vivo, você pode obter os detalhes criando um aplicativo na seção Meus Aplicativos e Credenciais no bloco Aplicativos NVP / API do SOAP. Aqui estão as configurações que mostram quais serviços o aplicativo pode usar (pagamento adaptativo é necessário), quais opções de pagamento estão disponíveis (cartão, conta Paypal), bem como uma breve descrição do sistema.

Trabalhar no modo Live não é possível sem a confirmação da aplicação pelo Paypal.

Teste de integração

Antes de começar o trabalho, recomendamos que você considere cuidadosamente a descrição do projeto. Se o Paypal não aceitar nenhum item, o pedido poderá ser rejeitado.

Você pode testar a operação do sistema de pagamento no modo Live desde que as transações sejam canceladas. No entanto, isso pode levar a conseqüências negativas. O PayPal tem uma atitude negativa em relação ao teste do serviço no modo ao vivo. Se o PayPal decidir que o aplicativo é usado para fins de teste, uma retirada de confirmação é possível.

Para testar como a integração do PayPal com o site foi bem-sucedida e como a API funciona no modo Sandbox. No entanto, mesmo com a execução bem-sucedida e o processamento de todos os pagamentos e notificações, a operação estável no modo Live não é garantida. Isso ocorre porque as agências locais do Paypal são responsáveis ​​pela operação do sistema em diferentes países do mundo, nas quais suas próprias regras e restrições se aplicam. Por exemplo, em alguns países, não é possível transferir fundos de uma conta com o status Negócios para uma regular - a transação será rejeitada sem dar motivos e enviar notificações.

Além disso, no início, é aconselhável familiarizar-se com os requisitos do sistema para moedas acessíveis, cuja escolha é limitada.

Por exemplo, para o iene japonês, apenas inteiros na quantidade de transações são permitidos. Se houver um número decimal, a transação não será processada. Além disso, ao aceitar pagamentos estrangeiros no território da Federação Russa, a moeda de pagamento deve ser o rublo (RUB). Tudo o resto vai lançar um erro.

Também é necessário considerar o limite de pagamentos. O PayPal não permite a transferência de valores acima de US $ 10.000 por transação nos Estados Unidos. Para outros países, o valor é diferente. Esta restrição é imposta no quadro da legislação internacional anti-terrorismo. Mas geralmente há casos em que as transações são bloqueadas acima de US $ 1.000 em contas relativamente novas. No caso de uma transação ser bloqueada, o PayPal poderá entrar em contato com o iniciador da transferência e solicitar informações adicionais sobre o iniciador da transação ou a finalidade da transação.

Outra oportunidade para verificar a integração com o PayPal é o modo de simulação do IPN. Ele permite que você envie um IPN de teste para verificar como seu sistema responderá a várias notificações do PayPal. Com ele, você pode gerar uma notificação IPN padrão de qualquer tipo (recarga, cancelamento de uma transação, espera pela confirmação etc.) e enviá-la ao servidor. Este modo está disponível em: https://developer.paypal.com/developer/ipnSimulator/.

Assim, para a integração do site com o PayPal para ser bem sucedido, você pode:

  • adicionar um formulário HTML ao site e configurar receber notificações de IPN,
  • usar a API apropriada para reabastecer a conta (sem receber notificações),
  • usar o serviço de pagamento ou a API do Paypal Classic para transferir fundos para outros usuários do sistema,
  • testar exaustivamente as funções de aceitar pagamentos e enviar fundos para usuários no modo Sandbox,
  • Teste o sistema no modo Live (transações podem ser canceladas).

Tudo isso permitirá que você configure o sistema de pagamento diretamente no site que está sendo projetado e monitore as transações sempre que os usuários solicitarem uma transferência de fundos.

O PayPal reúne comerciantes e compradores

Abra uma conta: insira seu endereço de e-mail e senha.

Adicione seu cartão bancário à sua conta do PayPal - é totalmente seguro.

Use seu endereço de e-mail e senha para fazer um pedido com o PayPal.

Simples e conveniente

Efetue pagamentos on-line usando seu endereço de e-mail e senha do PayPal sem inserir os detalhes do seu cartão bancário. Ou pague ainda mais rapidamente com o One Touch ™ enquanto permanece no sistema e paga por pedidos sem digitar uma senha. Além disso, compras consistentes com nossas políticas são cobertas pelo Programa de Proteção ao Comprador.

Assista ao vídeo: PayPal. Método de Pagamento Rápido e Fácil para Vender pela Internet (Agosto 2022).

Pin
Send
Share
Send
Send