Pergunta

É possível obter uma resposta instantânea de uma transação do PayPal e eles precisam deixar seu site para pagar pelo PayPal?

Estou trabalhando em um site em que o usuário precisa fazer um pagamento único, então estou procurando scripts de doação, mas a maioria deles é paga e o único que encontrei não dá uma resposta instantânea http://www.ibdhost.com/donation/. Se você tiver algum script relacionado que você usou antes que seja muito apreciado se pudesse postá -los.

Obrigado

Foi útil?

Solução

Meu aplicativo, www.perqworks.com, usa o PayPal Website Payment Pro. Na API, há uma noção de notificação de pagamento instantâneo (IPN). https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_id=developer/library_code_ipn_code_samples

Como funciona é que uma pessoa paga com um cartão de crédito. O PayPal envia uma resposta HTTPS para um 'ouvinte' no meu servidor. Com o ouvinte, você pode decidir continuar o processo ou lançar um erro com base nos códigos de resposta do PayPal.

A documentação e a caixa de areia ajudaram, mas a API do PayPal pode ser um pouco complicada para envolver sua cabeça.

Outras dicas

Para ter certeza de que você está pagando com segurança, é necessário que o usuário seja transferido para o site do PayPal, caso contrário, os ataques do tipo phishing seriam muito mais fáceis!

Não tenho certeza do que você quer dizer com resposta instantânea, tive a impressão de que as contas do PayPal Merchant podem informar o comerciante em tempo real para que as chaves de registro e outras sejam geradas e enviadas?

Em primeiro lugar, leve tudo isso com um grão de sal: não usei ativamente o PayPal há pelo menos um ano ...

Você pode (ou pode) usar o PayPal sem que o usuário saia do seu site: ele era chamado de algo como "Merchant Services Pro" e tinha uma taxa mensal associada a ele.

Não é um momento ruim para perguntar, na verdade, com o PayPal anunciando sua API aberta ontem (veja http://www.pcworld.com/businesscenter/article/181382/paypal_introduces_open_api_to_put_payments_into_apps.html ).

De qualquer forma, no que diz respeito à notificação 'instantânea': ela tecnicamente não acontece. Quando o usuário é empurrado para o PayPal e efetue seu pagamento, duas coisas acontecem:

  1. O usuário acabou sendo empurrado de volta para o seu site, com um ID de transação
  2. Quando a transação é limpa (embora isso normalmente ocorra 'instantaneamente', pode levar alguns dias), o PayPal atinge seu site, assíncrono, totalmente separado do usuário, para outro URL predeterminado com um ID diferente (tenho certeza de que é diferente)

De qualquer forma, entre os dois, você normalmente está bem. Normalmente, meu fluxo de trabalho de codificação seria algo como:

  1. Envie o usuário para o PayPal com ID exclusivo 'my_defined_transaction_id'
  2. Quando o usuário terminar o pagamento, faça com que eles voltem para user_finished.php (PayPal com me dê um id)
  3. Configure minhas configurações do PayPal para que, na liberação da transação, o PayPal atinja transaction_cleared.php com um parâmetro get indicando 'my_defined_transaction_id'(Novamente, o PayPal me dará um ID).
  4. O PayPal geralmente atinge transaction_cleared.php bem antes do usuário chegar a user_finished.php: Quando o PayPal atinge esse URL, eu marco 'my_defined_transaction_id'Como "OK" (após a referência cruzada ao PayPal para garantir a validade).
  5. Quando o usuário acaba de volta em user_finished.php, Posso cruzar a referência do ID da transação de volta ao PayPal, garantir a validade e depois marcar ''my_defined_transaction_id'como "OK".

Fazer tudo isso em duas etapas permite que o usuário feche o navegador sem voltar ao meu site e ainda ter a transação marcada como "OK".

Desculpe ... ainda não iniciei meu café, mas espero que isso faça algum sentido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top