0

我正在尝试将我的网站连接到Paypal 沙盒以使用快速结帐功能。我已将此链接用作参考,但我不断收到10002 错误“安全标头无效”。

从文档来看,这必须是一个无效的凭据问题,但如果我通过soapUI手动发出请求,它会返回“成功”,如果我使用 curl命令,它也可以按预期工作。

场景:带有两个 Web 引用的 ASP.NET 页面,一个指向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;
    }

现在我想知道如何进行调试。有什么问题?

4

1 回答 1

3

一些想法:

  • 检查您是否为沙盒帐户使用Live -Credentials。

  • 您是否使用https://api-3t.sandbox.paypal.com/2.0/(尤其是-3t部分)作为端点?您应该使用 Signature authentication

  • 像往常一样,您应该逐步检查您正在使用的每个设置:协议、API 端点、版本、凭据等,并将您的手动 SoapUI 调用与存储在您的商店配置中的信息进行比较。

我还发现了一篇关于此错误的博客文章,可能有助于解决此问题。

于 2012-07-02T13:42:30.867 回答