3

私はPayPalを使い始めており、最初の仕事はPayPalをWebサイトでデバッグすることです。

実際、注文の最後に行くと、それは正常に機能しますが、ログにスタックがあります:"Invalid token (#10410: Invalid Token)"。これは、doExpressCheckoutPaymentが呼び出されたときに発生し、トークンも支払人もいないように見えるため、エラーがスローされます。他のすべての情報は正しく入力されているようです。

呼び出しているデバッグ結果は次の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か?

PayPalで別の問題に直面しています。この問題を解決することで、他の問題も解決されることを願っています。

助けてくれてありがとう!

セブ

4

1 に答える 1

3

SetExpressCheckoutが最初に発生する必要があります。返されるトークンは、顧客のブラウザをリダイレクトするものであり、顧客が戻ると、URLにトークンが含まれます。これはgetExpressCheckoutDetails、配送先住所と関連するものを確認する必要がある場合に可能です。情報、そして最後にdoExpressCheckoutPaymentトランザクションをコミットするために実行します。

繰り返しになりますが、から有効なトークンを取得setECし、リダイレクトでこのトークンを使用しRETURNURL、顧客が戻ってきた顧客にこのトークンを追加して戻し、後続getECdoEC呼び出しでこのトークンを参照します。

于 2013-03-07T16:22:07.937 に答える