我正在尝试将我的网站连接到 Paypal Sandbox ,以便使用 Express Checkout 功能。我已使用此link作为参考,但我一直收到 10002错误“安全标头无效”。
从文档中这必须是一个无效的凭据问题,但如果我通过soapUI手动发出请求它返回“成功”,如果我使用curl command它也按预期工作。
场景:ASP.NET页面包含两个Web引用,一个到https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl,另一个到https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl,给定的凭据是用户名,密码和签名,如下面的代码片段所示:
using CloudShop.com.paypal.sandbox.www;
namespace CloudShop
{
public static PayPalAPIAASoapBinding BuildPayPalWebservice()
{
UserIdPasswordType credentials = new UserIdPasswordType()
{
Username = CloudShopConf.PayPalAPIUsername,
Password = CloudShopConf.PayPalAPIPassword,
Signature = CloudShopConf.PayPalAPISignature
};
PayPalAPIAASoapBinding paypal = new PayPalAPIAASoapBinding();
paypal.RequesterCredentials = new CustomSecurityHeaderType()
{
Credentials = credentials
};
return paypal;
}
现在我想知道如何继续调试。可能有什么不对?
答案 0 :(得分:3)
一些想法:
检查您是否使用沙盒帐户的实时 -Credentials。
您使用https://api-3t.sandbox.paypal.com/2.0/
(特别是 -3t 部分)作为端点吗? You should as you are using Signature authentication
像往常一样,您应该逐步完成您正在使用的每个设置:协议,API端点,版本,凭据等,并将您的手动SoapUI调用与存储在您的商店配置中的信息进行比较。
我还发现blog article on this error可能有助于解决此问题。