当我点击Paypal快速结账按钮或通过onestepcheckout流程时,会出现空白页。
下面生成的日志文件错误:
2014-01-04T00:47:45+00:00 DEBUG (7): Array
(
[url] => https://api-3t.paypal.com/nvp
[getPalDetails] => Array
(
[METHOD] => getPalDetails
[VERSION] => 72.0
[USER] => ****
[PWD] => ****
[SIGNATURE] => ****
[BUTTONSOURCE] => Varien_Cart_EC_US
)
[response] => Array
(
[TIMESTAMP] => 2014-01-04T00:47:45Z
[CORRELATIONID] => 2c364ae2792d6
[ACK] => Failure
[VERSION] => 72.0
[BUILD] => 8620107
[L_ERRORCODE0] => 10002
[L_SHORTMESSAGE0] => Security error
[L_LONGMESSAGE0] => Security header is not valid
[L_SEVERITYCODE0] => Error
)
[__pid] => 24899
)
通过Consol调用Ajax会出现这样的错误: " NetworkError:500内部服务器错误 - https://www.abcxxxx.com/paypal/express/start/"
任何帮助将不胜感激。
答案 0 :(得分:0)
安全标头无效表示您的API凭据不正确。这可能意味着值本身确实是错误的,因此您需要仔细检查,否则可能意味着您将沙盒凭据发送到实时PayPal服务器,反之亦然。
因此,仔细检查您的值并确保如果您在Express Checkout设置中启用了沙箱/测试模式,则表明您已输入沙箱API凭据。如果您没有启用测试模式,请确保您已填写实时凭据。
只要您将正确的凭据发送到正确的端点,并且这些值确实正确,那么安全标头错误就会消失。
要记住的一件事是,如果Signature值的末尾有一段时间是值的一部分。有时候人们不会在最后包含句号(如果有的话)而导致这个错误,因为在这种情况下价值完全错误。