2012-09-21 6 views
8

Il paypal è Token ID che restituisce (ad esempio: EC-XXXXXXXXXXXXXXXXX), sempre univoco? dubito che sarebbe? Ma quello che sto facendo è che sto inserendolo nella mia tabella delle transazioni per verificare se questa transazione è già stata elaborata.ID token di Paypal Unico?

So che l'ID transazione può funzionare anche, ma il fatto è che l'ID token viene restituito prima ancora di utilizzare i metodi API PayPal come GetExpressCheckoutDetails o DoExpressCheckout.

Per favore fatemi sapere cosa pensate sia meglio, dalle vostre esperienze.

Grazie

+1

Sembra che tu voglia utilizzare l'ID transazione per identificare la transazione. Proprio dal nome, il token è probabilmente un nonce utilizzato per la sicurezza e non è garantito che sia univoco. – bdares

risposta

7

Il token è univoco, ma rappresenta solo la sessione, motivo per cui viene restituito per primo. Non indica affatto una transazione completa e non è necessario memorizzarla a tale scopo. Non consiglierei di conservarlo comunque per un uso futuro, perché PayPal non lo usa per identificare la transazione per i rimborsi, ecc. (Che ho visto almeno).

Si consiglia di utilizzare solo il token per gestire il flusso di checkout effettivo passando da SetExpressCheckout -> GetExpressCheckoutDetails -> DoExpressCheckoutPayment e quindi memorizzare il TransactionID restituito da DoExpressCheckoutPayment come indicatore "transazione completata". Probabilmente dovresti controllare anche il ritorno allo PaymentStatus, dal momento che gli eCheck non danno subito i soldi al tuo account.

+0

grazie per la risposta, ho pensato abbastanza simile. Il motivo per cui stavo usando era così che potevo bloccare più tentativi di aggiornamento, pensi che sia una buona idea? – Zubair1

+0

'ad esempio:' L'utente ha appena fatto clic sul pulsante di conferma e nella pagina successiva la sua prenotazione è stata un successo e la sua prenotazione e le informazioni sulla transazione sono state memorizzate correttamente. Ma se l'utente aggiorna la pagina causerebbe alcuni errori come l'errore dell'ID transazione duplicata perché ho la colonna impostata con un indice Unique in mysql. Inserisce comunque i dati di prenotazione poiché la sua chiave primaria è un codice di prenotazione univoco generato in quel momento di inserimento dei dati di prenotazione in MySQL. – Zubair1

+0

Penso di aver appena realizzato che non è una buona idea farlo, anche nel mio caso. Quindi grazie per aver chiarito la confusione per me. – Zubair1

0

ID transazione è unico per la transazione. ID token è un numero creato per verificare se è corretto l'ID transazione.