2013-03-07 56 views
2

我開始使用PayPal,我的第一項工作是在我們的網站上進行調試。Paypal:僅在DoExpressCheckoutPayment方法中使用無效令牌

實際上,當我們去訂單結束,它工作正常,但我們在日誌中得到一個堆棧:"Invalid token (#10410: Invalid Token)"。 當doExpressCheckoutPayment被調用時,會發生這種情況,並且好像沒有令牌並且沒有payerid,因此會引發錯誤。所有其他信息似乎都被正確填寫。

這裏的調試結果調用doExpressCheckoutPayment

[DoExpressCheckoutPayment] => Array 
(
    [TOKEN] => 
    [PAYERID] => 
    [PAYMENTACTION] => Sale 
    [AMT] => 4.16 
    [CURRENCYCODE] => EUR 
    [BUTTONSOURCE] => Varien_Cart_EC_FR 
    [NOTIFYURL] => * 
    [RETURNFMFDETAILS] => 1 
    [ITEMAMT] => 3.36 
    [TAXAMT] => 0.80 
    [SHIPPINGAMT] => 0.00 
    [L_NUMBER0] => * 
    [L_NAME0] => * 
    [L_QTY0] => 1 
    [L_AMT0] => 4.10 
    [L_NUMBER1] => 
    [L_NAME1] => Discount 
    [L_QTY1] => 1 
    [L_AMT1] => -0.74 
    [BUSINESS] => 
    [EMAIL] => * 
    [FIRSTNAME] => * 
    [LASTNAME] => * 
    [MIDDLENAME] => 
    [SALUTATION] => 
    [SUFFIX] => 
    [COUNTRYCODE] => * 
    [STATE] => * 
    [CITY] => * 
    [STREET] => * 
    [ZIP] => * 
    [PHONENUM] => * 
    [SHIPTOCOUNTRYCODE] => * 
    [SHIPTOSTATE] => * 
    [SHIPTOCITY] => * 
    [SHIPTOSTREET] => * 
    [SHIPTOZIP] => * 
    [SHIPTOPHONENUM] => * 
    [SHIPTOSTREET2] => 
    [STREET2] => 
    [SHIPTONAME] => * 
    [ADDROVERRIDE] => 1 
    [METHOD] => DoExpressCheckoutPayment 
    [VERSION] => 72.0 
    [USER] => **** 
    [PWD] => **** 
    [SIGNATURE] => **** 
) 

[response] => Array 
(
    [TIMESTAMP] => 2013-03-07T15:01:45Z 
    [CORRELATIONID] => 64adbc2375f59 
    [ACK] => Failure 
    [VERSION] => 72.0 
    [BUILD] => 5331358 
    [L_ERRORCODE0] => 10410 
    [L_SHORTMESSAGE0] => Invalid token 
    [L_LONGMESSAGE0] => Invalid token. 
    [L_SEVERITYCODE0] => Error 
) 

問題是,這種方法被稱爲剛過,setExpressCheckout被稱爲,這是一個成功的,因此爲了正確地放置。

這裏的成功應答呼叫setExpressCheckout時:

[response] => Array 
(
    [TOKEN] => EC-5UG654898R029060W 
    [TIMESTAMP] => 2013-03-07T15:01:48Z 
    [CORRELATIONID] => 348b58c6200c1 
    [ACK] => Success 
    [VERSION] => 72.0 
    [BUILD] => 5331358 
) 

我不明白爲什麼做doExpressCheckoutPayment時,故障被拋出,做setExpressCheckout時,沒有檢測到錯誤,併發售,無論如何接受。 ...

方法調用的順序有問題嗎?我的意思是,setExpressCheckout不應該在doExpressCheckoutPayment之前被調用?

我們面臨的其他問題,貝寶,我希望解決這個問題會解決的另一個....

非常感謝你的幫助你們!

勒布

回答

3

SetExpressCheckout應該發生第一 - 你回來的標記是什麼,你重定向用戶的瀏覽器,而當他們返回,他們就必須在URL中的令牌那就是當你可以getExpressCheckoutDetails如果您需要查看其送貨地址和相關信息,並最終運行doExpressCheckoutPayment來提交交易。

重申一下:你從setEC得到有效令牌,使用此令牌重定向,你得到這個令牌回追加到RETURNURL客戶返回,和你在任何後續getECdoEC調用引用此令牌。

+0

非常感謝你,這就是我的想法,流程訂單不好。現在我必須瞭解貝寶如何能夠無任何令牌地接受所有這些交易。因爲這實際上是使用現場,它工作正常......不能得到原因,但我必須修復它!謝謝 ! – beluga 2013-03-08 08:31:50