PayPal PayFlow Pro com Redirecionamento Transparente - Falha na Autenticação de Usuários / Documentação

Estou tendo alguma dificuldade em integrar - e encontrar a documentação atual para - integrarPayPal PayFlow Pro no meu site.

Há uma pergunta semelhante aqui para o PayFlow Link -https://stackoverflow.com/questions/15808604/result-1-respmsg-userauthenticationfailed-in-test-transaction-for-mastercard - mas eu queria entrar nos detalhes.

Eu quero usar oRedirecionamento Transparente recurso com oSILENTTRAN opção para que:

os dados do cartão de crédito são enviados diretamente para o gateway (ou seja, não através do meu servidor)o usuário é redirecionado de volta para uma página nomeada para confirmar a transação ou erro (página de resposta).

No momento, estou lendo este documento:https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/payflowgateway_guide.pdf

Isto está listado comoGuia do desenvolvedor do gateway do fluxo de pagamento (PDF) nesta página -https://developer.paypal.com/webapps/developer/docs/classic/products/payflow-gateway/ - então estou assumindo que é a documentação atual.

De acordo com a página 28, o processo deve ser:

O cliente clica em Comprar para comprar mercadorias no seu site. [FEITO]Você solicita um token seguro passando uma ID de token seguro para o servidor do Gateway. Na solicitação, você passa o par de nome e valor, SILENTTRAN = TRUE. Esse par de nome e valor impede que as páginas hospedadas sejam exibidas. [FEITO]O servidor do Gateway retorna o token seguro e seu ID de token para o seu site. [FEITO]Você exibe os campos do cartão de crédito para o cliente em uma página de checkout em seu site. [FEITO]O cliente digita o número do cartão de crédito, a data de vencimento e outros dados confidenciais nos campos do cartão de crédito e clica em Enviar. [DONE] O navegador posta os dados de pagamento diretamente no servidor do Gateway, evitando o seu site e facilitando os requisitos de conformidade com o PCI. [PROBLEMAS AQUI]

Abaixo está um exemplo de uma solicitação de token seguro para o redirecionamento transparente. Usei espaço reservado no lugar dos detalhes reais da minha conta do PayFlow Pro ao vivo (essa conta indica 'Payflow SDK / API (acesso total) ao vivo' no resumo de serviço manager.paypal.com), mas usei minhas credenciais reais do PayPal no pedido real. Da mesma forma, usei páginas acessíveis publicamente para meus URLs de retorno:

USER=MYUSER&VENDOR=MYUSER&PARTNER=VSA&PWD=MYPASSWORD&BILLTOFIRSTNAME=John&BILLTOLASTNAME=Doe&BILLTOSTREET=123 Fake Street&BILLTOSTREET2=&BILLTOCITY=Sydney&BILLTOZIP=2000&BILLTOPHONENUM=5555555555&[email protected]&BILLTOSTATE=NSW&AMT=0.05&RETURNURL=http://www.example.com&CANCELURL=http://www.example.com&ERRORURL=http://www.example.com&TRXTYPE=A&SILENTTRAN=TRUE&VERBOSITY=HIGH&CREATESECURETOKEN=Y&TENDER=C&SECURETOKENID=VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA

Eu executo a transação de token usando o código do lado do servidor, e posso ver que estou recebendo uma resposta assim:

RESULT=0&SECURETOKEN=TOKENWASHEREsdsdfjkj&SECURETOKENID=VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA&RESPMSG=Approved

Então parece que a conta autentica corretamente aqui. Eu confirmei no Fiddler que estou postando este pedido parahttps://payflowpro.paypal.com.

Em seguida, pego essa resposta e coloco isso em um formulário HTML que é enviado de volta para o gateway, por exemplo:

    <form id="form" action="https://payflowpro.paypal.com" method="post">

        <!-- <input name="MODE" class="inpPPField" id="hdn_pp_mode" type="hidden" value="Test"> -->

        <input name="SECURETOKEN" class="inpPPField" id="hdn_pp_securetoken" type="hidden" value="TOKENWASHEREsdsdfjkj">

        <input name="SECURETOKENID" class="inpPPField" id="hdn_pp_securetokenid" type="hidden" value="VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA">

        <input name="CARDNUM" class="inpPPField" id="hdn_pp_CardNum" type="hidden" value="4111111111111111">

        <input name="EXPMONTH" class="inpPPField" id="hdn_pp_expMonth" type="hidden" value="11">

        <input name="EXPYEAR" class="inpPPField" id="hdn_pp_expYear" type="hidden" value="16">

        <input name="CVV2" class="inpPPField" id="hdn_pp_cvv2" type="hidden" value="123">

        <!--<input name="SILENTTRANS" class="inpPPField" id="hdn_pp_silenttrans" type="hidden" value="Y">-->

        <input name="VERBOSITY" class="inpPPField" id="hdn_pp_verbosity" type="hidden" value="HIGH">

        <input class="inpPPField" type="submit" value="Submit" />

    </form>
</body>

Observe que usei o mesmo ID de token e token como o que foi retornado na resposta do token - esses são espaços reservados. Também usei um número real de cartão de crédito e outros valores de campo de cartão de crédito.

Isso está me postando parahttps://payflowpro.paypal.com, que apenas afirma a resposta (no corpo da página):

RESULT = 1 & RESPMSG = Falha na autenticação do usuário

Isso não deveria estar me devolvendo à minha página de erro? Ou está falhando no início do processo para que o gateway nunca tente interpretar o token e redirecionar? Tentei definir meus URLs de retorno para URLs de websites ao vivo e isso não parece estar fazendo diferença. Eu também tentei postar isso de um servidor web publicamente acessível em vez de localhost, mas o resultado é o mesmo.

Um outro problema que estou tendo é encontrar documentação relevante. Há um documento 'Teste de serviço de pagamento' aqui:https://ppmts.custhelp.com/app/answers/detail/a_id/456/kw/payflow%20pro%20transparent%20redirect%20error%20page%20get%20codes

Esta página é datada de 2007 e o link abaixoTeste usando o Payflow Pro título (ou seja, o guia está disponível em x.com) está quebrado. O guia é um pouco vago, e os únicos exemplos de código que encontrei estão no PHP (vejahttps://go.developer.ebay.com/developers/community/blogs/pp_integrations_nate/payflow-transparent-redirect). Eu reescrevi a lógica no exemplo como um aplicativo ASP.Net.

Em resumo, minhas perguntas são:

Estou usando a lógica correta para processar uma transação com cartão de crédito?Se não, alguém pode apontar onde eu estou indo errado, e onde eu posso encontrar a documentação mais relevante e atualUm link (s) para os documentos de procedimento de teste mais atuais

Minha próxima ideia é tentar configurar uma conta de teste usando estas instruções:https://ppmts.custhelp.com/app/answers/detail/a_id/929/ Obviamente, isso é para páginas hospedadas do PayFlow, mas suspeito que o procedimento deva ser semelhante, desde que eu especifique a opção SILENTTRAN. Eu tentei sem sucesso fazer com que a conta de teste funcionasse no início da semana, mas parece ser a próxima coisa lógica a tentar neste momento.

Eu já abri um ticket de suporte aberto com os engenheiros do PayPal e eles estão analisando isso, mas seria ótimo saber se alguém da comunidade conseguiu resolver um problema semelhante.

EDIT: de acordo com um engenheiro do PayPal acabei de falar com oSILENTTRANS valor é necessário apenas na solicitação de token seguro. Comentei isso no formulário de solicitação de transação acima, mas isso não resolveu o problema. Também confirmamos que é possível fazer uma solicitação de token não seguro (ou seja, redirecionamento não transparente) parahttps://pilot-payflowpro.paypal.com/ usando os detalhes da minha conta.

EDIT 2: Eu fui instruído pelo PayPal para usar https: //payflowlink.paypal.com / (não https: //payflowpro.paypal.com) para o URL da postagem da transação, mas para continuar usandohttps://payflowpro.paypal.com para o pedido de token. Isso me permite passar para a minha página de confirmação usando um redirecionamento transparente (que é um ótimo resultado), mas não faz muito sentido para mim que eu estou usando o 'payflowlink' ao invés do 'payflowpro' gateway. Eu também encontrei este tutorial que parece apoiar estehttps://go.developer.ebay.com/developers/community/blogs/ppintegrationsnate/new-payflow-gateway-tutorial

Alguém pode usar o produto transparente PayFlow Pro, confirme se está correto (ou não).

questionAnswers(1)

yourAnswerToTheQuestion