2013-07-14 11 views
7

Sto riscontrando qualche difficoltà nell'integrazione e nella ricerca della documentazione corrente per l'integrazione di PayPal PayFlow Pro nel mio sito Web.PayPal PayFlow Pro con reindirizzamento trasparente - Autenticazione utente Problemi/documentazione non riuscita

C'è una domanda simile qui per PayFlow Link - https://stackoverflow.com/questions/15808604/result-1-respmsg-userauthenticationfailed-in-test-transaction-for-mastercard - ma volevo entrare nello specifico.

voglio usare il Transparent funzione Redirect con l'opzione SILENTTRAN in modo che:

  1. i dati della carta di credito vengono inviati direttamente al gateway (cioè non attraverso il mio server)
  2. la l'utente viene reindirizzato a una pagina designata per confermare la transazione o l'errore (pagina di risposta).

Attualmente sto leggendo questo documento: https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/payflowgateway_guide.pdf

Questa è elencato come Guida Payflow Gateway Developer (PDF) in questa pagina - https://developer.paypal.com/webapps/developer/docs/classic/products/payflow-gateway/ - quindi sto supponendo che è la documentazione corrente .

Secondo la pagina 28, il processo dovrebbe essere:

  1. Il cliente fa clic Buy per l'acquisto di merce sul tuo sito web. [FATTO]
  2. Si richiede un token sicuro passando un ID token sicuro al server Gateway. Nella richiesta, si passa la coppia nome-valore, SILENTTRAN = TRUE. Questa coppia nome-valore impedisce la visualizzazione delle pagine ospitate. [FATTO]
  3. Il server Gateway restituisce il token sicuro e l'ID token al sito Web. [FATTO]
  4. Visualizzi i campi della carta di credito al cliente in una pagina di pagamento sul tuo sito web. [FATTO]
  5. Il cliente inserisce il numero di carta di credito, la data di scadenza e altri dati sensibili nei campi della carta di credito e fa clic su Invia. [FATTO] Il browser invia i dati di pagamento direttamente al server Gateway, evitando il sito Web e attenuando i requisiti di conformità PCI. [PROBLEMI QUI]

Di seguito è riportato un esempio di richiesta di token sicuro per il reindirizzamento trasparente. Ho usato segnaposto al posto dei miei dettagli effettivi sul conto PayFlow Pro (questo account riporta "SDK Payflow/API (accesso completo) Live" nel riepilogo servizio manager.paypal.com), ma ho utilizzato le mie credenziali reali PayPal nel richiesta effettiva. Allo stesso modo ho usato le pagine accessibili al pubblico per i miei URL di ritorno:

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 

ho eseguire l'operazione di token utilizzando codice lato server, e posso vedere che sto ricevendo una risposta indietro in questo modo:

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

Quindi sembra che l'account si autentichi correttamente qui. Ho confermato in Fiddler che sto postando questa richiesta allo https://payflowpro.paypal.com.

Quindi prendo la risposta e la metto in un modulo HTML che rimanda al gateway, ad es.:

<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> 

prega di notare che ho usato lo stesso ID token e token come ciò che è stato restituito nella reponse Token - questi sono i segnaposti. Ho anche utilizzato un numero effettivo di carta di credito e altri valori di campo della carta di credito.

questo mi sta postando https://payflowpro.paypal.com, che ha appena afferma la risposta (nel corpo della pagina):

autenticazione RISULTATO = 1 & RESPMSG = utente non riuscita

Non dovrebbe questo mi sta riportando alla mia pagina di errore? Oppure sta fallendo in precedenza nel processo in modo che il gateway non provi nemmeno a interpretare il token e il reindirizzamento? Ho provato a impostare i miei URL di ritorno in live URL del sito web e non sembra che stia facendo la differenza. Ho anche provato a postare questo da un server web pubblicamente accessibile piuttosto che localhost, ma il risultato è lo stesso.

Un altro problema che sto riscontrando è trovare documentazione pertinente. C'è un 'Payflow Testing Service' documento qui: https://ppmts.custhelp.com/app/answers/detail/a_id/456/kw/payflow%20pro%20transparent%20redirect%20error%20page%20get%20codes

Questa pagina è datato 2007, e il link sotto la Test con Payflow Pro titolo (vale a dire La guida è disponibile presso x.com) è rotto. La guida è un po 'vaga, e gli unici esempi di codice che ho trovato sono in PHP (vedi https://go.developer.ebay.com/developers/community/blogs/pp_integrations_nate/payflow-transparent-redirect). Ho riscritto la logica nell'esempio come un'applicazione ASP.Net.

In sintesi, le mie domande sono:

  1. Am I utilizzando la logica corretta per elaborare una transazione con carta di credito?
  2. In caso contrario, è possibile che qualcuno indicare dove sto andando male, e dove posso trovare la documentazione più rilevanti e attuali
  3. Un link (s) per le più attuali documenti di procedura di prova

Il mio prossimo l'idea è provare a creare un account di prova usando queste istruzioni: https://ppmts.custhelp.com/app/answers/detail/a_id/929/ Ovviamente questo è per le pagine di PayFlow ospitate, ma ho il sospetto che la procedura dovrebbe essere simile purché specifichi l'opzione SILENTTRAN. Ho provato senza successo a far funzionare l'account di prova all'inizio della settimana, ma a questo punto sembra la prossima cosa logica da provare.

Ho già aperto un ticket di supporto aperto con gli ingegneri di PayPal e stanno esaminando questo, ma sarebbe bello sapere se qualcuno nella comunità è riuscito a risolvere un problema simile.

MODIFICA: secondo un ingegnere di PayPal ho appena parlato con il valore SILENTTRANS è richiesto solo nella richiesta di token sicuro. Ho commentato questo nel modulo di richiesta di transazione sopra, ma questo non ha risolto il problema. Abbiamo anche confermato che è possibile eseguire una richiesta di token non sicuro (cioè non-reindirizzamento trasparente) a https://pilot-payflowpro.paypal.com/ utilizzando i dettagli del mio account.

EDIT 2: Sono stato incaricato da PayPal per utilizzare https: // payflowlink .paypal.com/(non https: // payflowpro .paypal.com) per il posto URL transazione, ma di continuare utilizzando https://payflowpro.paypal.com per la richiesta di token. Questo mi permette di passare alla mia pagina di conferma usando un reindirizzamento trasparente (che è un ottimo risultato), ma non ha molto senso per me che sto usando il "payflowlink" piuttosto che il "payflowpro" gateway. Ho anche trovato questo tutorial che sembra supportare questo https://go.developer.ebay.com/developers/community/blogs/ppintegrationsnate/new-payflow-gateway-tutorial

Chiunque utilizzi il prodotto trasparente PayFlow Pro può confermare che questo è corretto (o altrimenti).

+1

NOTA: questa domanda a volte si riferisce a SILIENTTRANS, il parametro corretto è SILENTTRAN – nuander

+0

Aaron, ottieni la soluzione dalla risposta @ Gerzie? Perché, non funziona per me. – Ankur

+0

Sì: il problema era che stavo usando gli endpoint URL errati. Tuttavia, considerando che questo era più di due anni fa, è possibile che le cose siano cambiate. Qual è il problema esatto che stai avendo? –

risposta

7

Se avete intenzione di utilizzare qualsiasi funzione relativa alla pagina di checkout in hosting è necessario reindirizzare - https://payflowlink.paypal.com o https://pilot-payflowlink.paypal.com

La Pro URL Payflow sono specificamente per le chiamate API e non sono qualcosa dovresti reindirizzare gli acquirenti attraverso.

Anche il tuo account deve essere del tipo corretto per poter utilizzare la funzione di pagamento in hosting. Puoi verificare quali opzioni sono disponibili per il tuo account effettuando il login e controllando il lato destro per vedere quali prodotti sono abilitati sul tuo account.

La documentazione per il reindirizzamento trasparente è sparsa. X.com aveva alcuni post su di esso ma quegli articoli non sono stati ancora spostati altrove.

Problemi correlati