Uma Reference Transaction, ou transação de referência, é um recurso que a PayPal disponibiliza para permitir que o vendedor ofereça compras com 1 clique, ou pagamentos automáticos em seu site.
Para tanto, você deve redirecionar o cliente ao PayPal, onde ele dará uma autorização de débito a sua loja. Após a autorização, o cliente não precisará mais passar por todo o fluxo de checkout, podendo, então, fazer compras com apenas 1 clique, ou ser debitado automaticamente.
Isso significa que ao ativar as transações de referência, o cliente poderá adquirir produtos ou serviços sem precisar, por exemplo, sair de um jogo que está jogando, ou de um filme que está assistindo.
Atenção!Antes de iniciar o desenvolvimento peça a autorização para usar o Reference Transaction em seu site. Uma avaliação financeira/jurídica será realizada devida a importância desse recurso.
Envie as seguintes informações para o email comercial@paypal.com:
- Email da conta PayPal
- Email para contato
- Balanço Patrimonial dos 2 últimos anos fiscais
- DRE (Demonstração de Resultado do Exercício)
- DFC (Demonstração de Fluxo de Caixa).
- URL dos Termos e Condições de Uso;
- URL da Política de Privacidade;
- Fluxograma de compra com o uso do Reference transaction
No título informe: AVALIAÇÃO PARA USO DE REFERENCE TRANSACTION. Após isto, você receberá um email com o resultado da avaliação.
Pagamentos recorrentes utilizando transações de referência permite que você manipule uma variedade de pagamentos em diferentes datas. Veja abaixo alguns casos de uso:
- O cliente comprou um celular e escolhe uma operadora. A venda do celular pode ser feita através do Express Checkout e o cliente pode concordar em pagar mensalmente pelo serviço da operadora
- O cliente faz download de uma música e faz o pagamento através do Express Checkout. Durante o checkout, o cliente concorda em fazer um pagamento sempre que a conta dele estiver com pouco saldo.
- O cliente concorda em pagar mensalmente por serviços como gás ou eletrecidade. O cliente não faz nenhum pagamento no ato da contratação do serviço e a PayPal deduz mensalmente pelo uso atual.
Esses casos de uso representam pagamentos que ocorrem periodicamente, seja em um período específico de tempo, ou quando uma conta chega em determinado limite. O valor de cada transação varia segundo seu uso. Esses casos de pagamentos recorrentes são melhor implementados através do processamento com Reference Transactions. Quando implementando pagamentos recorrentes com Reference Transactions, você controla o início da transação e o valor. É possível, inclusive, incluir pagamentos para múltiplos itens no checkout.
Implementando Reference Transactions via Express Checkout
Para configurar uma Reference Transaction via Express Checkout será necessário:
- Configurar a autorização para o pagamento.
- Redirecionar o cliente para a PayPal para autorização.
- Criar um Billing Agreement, ou acordo de cobrança.
- Capturar os pagamentos futuros.
Configurando a autorização para o pagamento
Quando o cliente estiver pronto para fazer o checkout, utilize a operação SetExpressCheckout para autorizar o pagamento. Os campos da operação incluem um tipo de acordo de cobrança (como L_BILLINGTYPE0=MerchantInitiatedBilling) e uma descrição do acordo (por exemplo: L_BILLINGAGREEMENTDESCRIPTION0=UtilizaçãoDeServiço).
A resposta da operação SetExpressCheckout conterá um token que deverá ser utilizado nos próximos passos. Veja o Guia Rápido de integração com Express Checkout para mais detalhes sobre o Express Checkout
Exemplo de requisição
METHOD=SetExpressCheckout& VERSION=106& PAYMENTREQUEST_0_PAYMENTACTION=AUTHORIZATION& PAYMENTREQUEST_0_AMT=0& PAYMENTREQUEST_0_CURRENCYCODE=BRL& L_BILLINGTYPE0=MerchantInitiatedBilling& L_BILLINGAGREEMENTDESCRIPTION0=ServiçoDeDownload& cancelUrl=http://www.yourdomain.com/cancel.html& returnUrl=http://www.yourdomain.com/success.html
Exemplo de resposta
TOKEN=EC%2d2B984685J43051234 ACK=Success&
Redirecionando o cliente para autorização
Com o token retornado na operação anterior, redirecionamos o cliente para a PayPal, para que ele autorize.
https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=TOKEN-GERADO
Se o cliente não autorizar, então ele será redirecionado de volta para sua loja, para a URL de cancelamento especificada na operação SetExpressCheckout.
Criando um acordo de cobrança
Após o cliente autorizar o pagamento, ele será redirecionado para a URL de retorno, especificada na operação SetExpressCheckout. O mesmo TOKEN retornado na operação SetExpressCheckout deverá ser adicionado na URL de retorno, para que possa facilmente ser utilizado para a criação do Billing Agreement
A operação CreateBillingAgreement permite que você obtenha o BILLINGAGREEMENTID
Exemplo de requisição
METHOD=CreateBillingAgreement& VERSION=106& TOKEN=COLOQUE-O-TOKEN-AQUI
Exemplo de resposta
BILLINGAGREEMENTID=B%2d7FB31251F28061234& ACK=Success
Capturando pagamentos futuros
Para pagamentos no futuro, utilize a operação DoReferenceTransaction. No campo REFERENCEID, especifique o ID aceitação de cobrança utilizando o mesmo ID retornado na operação anterior. Como essa transação vai causar um débito na conta PayPal do cliente, é necessário especificar o valor do pagamentos e outros campos relacionados.
Após capturar o pagamento, ainda é possível capturar outros pagamentos de outros valores. Basta fazer outras chamadas à operação DoReferenceTransaction com os respectivos valores.
Exemplo de requisição
METHOD=DoReferenceTransaction& VERSION=106& AMT=50& CURRENCYCODE=BRL& PAYMENTACTION=SALE& REFERENCEID=B-7FB31251F28061234&
Exemplo de resposta
BILLINGAGREEMENTID=B%2d7FB31251F28061234& ACK=Success& TRANSACTIONID=98A13946GS4491234& TRANSACTIONTYPE=merchtpmt& PAYMENTTYPE=instant& AMT=50%2e00& PAYMENTSTATUS=Completed&