PayPal SOAP API - 快速结账 - 错误10002

时间:2012-07-02 13:30:38

标签: c# asp.net soap paypal paypal-sandbox

我正在尝试将我的网站连接到 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;
    }

现在我想知道如何继续调试。可能有什么不对?

1 个答案:

答案 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可能有助于解决此问题。