6

我将 Paypal 集成到我的 asp.net 网站中,它在某些计算机上完美运行,而在其他计算机上却不行。

编辑:发现问题但正在寻找解决方案

问题是:

事情似乎很好,我可以用贝宝付款,然后当它调用 GetExpressCheckoutDetails 时,它返回10411 错误此快速结帐会话已过期”

我使用以下代码调用 GetExpressCheckoutDetails:

public bool GetDetails(string token, ref NVPCodec decoder, ref string retMsg)
    {

        if (bSandbox)
        {
            pendpointurl = pendpointurl_SB;
            host = host_SB;
            SetCredentials(APIUsername_SB, APIPassword_SB, APISignature_SB);
        }

        NVPCodec encoder = new NVPCodec();
        encoder["METHOD"] = "GetExpressCheckoutDetails";
        encoder["TOKEN"] = token;

        string pStrrequestforNvp = encoder.Encode();
        string pStresponsenvp = HttpCall(pStrrequestforNvp);

        decoder = new NVPCodec();
        decoder.Decode(pStresponsenvp);

        string strAck = decoder["ACK"].ToLower();
        if (strAck != null && (strAck == "success" || strAck == "successwithwarning"))
        {
            return true;
        }
        else
        {

            retMsg = "ErrorCode=" + decoder["L_ERRORCODE0"] + "&" +
                "Desc=" + decoder["L_SHORTMESSAGE0"] + "&" +
                "Desc2=" + decoder["L_LONGMESSAGE0"];

            return false;
        }
    }

这只发生在某些计算机上......并且它立即发生而不是会话不应该到期。

知道我做错了什么吗?有人可以请帮忙吗???

非常非常感谢你!

4

2 回答 2

2

你用的是沙盒模式吗?我怀疑这是导致问题的原因,而实际操作中不应该发生这种情况。

于 2013-06-02T08:04:04.360 回答
1

尝试从查询中获取令牌,而不是从会话中获取:

use the function: Request.QueryString["token"];

谢谢, Çağlar

于 2013-05-30T09:01:35.920 回答