2012-09-21 6 views
8

Ist die Paypal Token ID, die es zurückgibt (dh: EC-XXXXXXXXXXXXXXXXX), immer einzigartig? Ich bezweifle, dass es wäre? Aber was ich tue, ist, dass ich es in meine Transaktionstabelle einfüge, um zu überprüfen, ob diese Transaktion bereits verarbeitet wurde.Paypal's Token ID einzigartig?

Ich weiß, Transaktions-ID kann auch funktionieren, aber die Sache ist, dass die Token-ID zuerst vor der Verwendung der PayPal-API-Methoden wie GetExpressCheckoutDetails oder DoExpressCheckout zurückgegeben wird.

Bitte lassen Sie mich wissen, was Sie denken, ist am besten, aus eigenen Erfahrungen.

Dank

+1

Klingt so, als ob Sie die Transaktion ID verwenden möchten, um die Transaktion zu identifizieren. Nur aus dem Namen, der Token ist wahrscheinlich ein Nonce für die Sicherheit verwendet, und ist nicht garantiert, einzigartig zu sein. – bdares

Antwort

7

Das Token ist eindeutig, aber es stellt nur die Sitzung dar, weshalb es zuerst zurückgegeben wird. Es zeigt keine vollständige Transaktion an, und Sie sollten es nicht für diesen Zweck speichern. Ich würde nicht empfehlen, es für die zukünftige Verwendung zu speichern, da PayPal es nicht verwendet, um die Transaktion für Rückerstattungen usw. zu identifizieren (die ich mindestens gesehen habe).

Ich empfehle, dass Sie nur den Token verwenden, um den tatsächlichen Checkout-Fluss von SetExpressCheckout -> GetExpressCheckoutDetails -> DoExpressCheckoutPayment zu verwalten, und speichern Sie dann die TransactionID, die von DoExpressCheckoutPayment zurückgegeben wurde, als Indikator für "Transaktion abgeschlossen". Sie sollten wahrscheinlich auch die PaymentStatus Rückgabe überprüfen, da eChecks das Geld nicht sofort auf Ihr Konto überweisen.

+0

danke für die Antwort, ich dachte ziemlich ähnlich. Der Grund dafür war, dass ich mehrere Auffrischungsversuche blockieren konnte. Ist das eine gute Idee? – Zubair1

+0

'zum Beispiel:' Der Benutzer klickte einfach auf die Bestätigen-Taste und auf der nächsten Seite war seine Reservierung erfolgreich, und seine Reservierungs- und Transaktionsinformationen wurden erfolgreich gespeichert. Aber wenn der Benutzer die Seite aktualisiert, würde es einige Fehler verursachen, wie zum Beispiel doppelte Transaktions-ID Fehler, da ich die Spalte mit einem eindeutigen Index in mysql gesetzt habe. Es würde immer noch die Reservierungsdaten einfügen, da sein Primärschlüssel ein eindeutiger Reservierungscode ist, der zu dem Zeitpunkt des Einfügens der Reservierungsdaten in MySQL erzeugt wird. – Zubair1

+0

Ich denke, ich habe gerade gemerkt, dass es keine gute Idee ist, dies zu tun, in meinem Fall auch oben. Also danke, dass du die Verwirrung für mich beseitigt hast. – Zubair1

0

Transaktions-ID ist einzigartig für die Transaktion. Token-ID ist eine Zahl, die zur Prüfung erstellt wurde, ob die Transaktions-ID korrekt ist.