GetExpressCheckoutDetails 在 asp.net 中返回会话过期(10411 错误)(仅在某些计算机上)
Posted
技术标签:
【中文标题】GetExpressCheckoutDetails 在 asp.net 中返回会话过期(10411 错误)(仅在某些计算机上)【英文标题】:GetExpressCheckoutDetails returns session expired (10411 error) in asp.net (only on some computers) 【发布时间】:2013-05-25 15:53:24 【问题描述】:我将 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;
这只发生在某些计算机上...并且它会立即发生,而不是会话应该还没有到期。
知道我做错了什么吗?哪位大神帮忙看看???
非常感谢!
【问题讨论】:
您能否提供返回错误的 API 响应的副本?我正在寻找相关 ID 【参考方案1】:您是否使用沙盒模式?我怀疑这是导致问题的原因,而实际操作中不应该发生这种情况。
【讨论】:
在沙盒和实际操作中都会发生这种情况,但也仅限于某些计算机。【参考方案2】:尝试从查询中获取令牌,而不是从会话中获取:
use the function: Request.QueryString["token"];
谢谢,Çağlar
【讨论】:
令牌不是问题。我找到了问题并编辑了问题。以上是关于GetExpressCheckoutDetails 在 asp.net 中返回会话过期(10411 错误)(仅在某些计算机上)的主要内容,如果未能解决你的问题,请参考以下文章
PayPal Express Checkout:调用 GetExpressCheckoutDetails 时 CHECKOUTSTATUS=PaymentActionNotInitiated
Paypal GetExpressCheckoutDetails 缺少 PAYERID
如何在不手动付款的情况下测试 doExpressCheckout 和 getExpressCheckoutDetails?
Magento 1.14 中 Paypal GetExpressCheckoutDetails 响应中缺少 SHIPTONAME 数组元素
GetExpressCheckoutDetails 在 asp.net 中返回会话过期(10411 错误)(仅在某些计算机上)