我在快速结账时遇到问题。我尝试了网络上提供的所有解决方案,但我无法使其正常工作! 我正在使用VB 2012 for Web和ASP.NET。我在网站上构建了一个购物车并尝试集成PayPal Express Checkout(现在使用Sandbox中的测试帐户)。 当我点击PayPal按钮时,它会显示错误:
10001内部错误:超时处理请求
调试应用程序我发现问题出在他尝试拨打电话时:
Try
Using myWriter As New StreamWriter(objRequest.GetRequestStream())
myWriter.Write(strPost)
End Using
Catch e As Exception
End Try
strPost如下:
METHOD=SetExpressCheckout&RETURNURL=http%3a%2f%2flocalhost%3a63223%2fCheckout%2fCheckoutReview.aspx&CANCELURL=http%3a%2f%2flocalhost%3a63223%2fCheckout%2fCheckoutCancel.aspx&BRANDNAME=PayPal+Sample+Application&PAYMENTREQUEST_0_AMT=36&PAYMENTREQUEST_0_ITEMAMT=36&PAYMENTREQUEST_0_PAYMENTACTION=Sale&PAYMENTREQUEST_0_CURRENCYCODE=USD&L_PAYMENTREQUEST_0+_NAME=Modena&L_PAYMENTREQUEST_0_AMT=36&L_PAYMENTREQUEST_0_QTY=1&USER=minni_1356740302_biz_api1.gmail.com&PWD=1356740320&SIGNATURE=AlYEmGf5ECuFHhwJgGlXJ.tMCTY0AFMcAx3nUjv6Ssg4RlD7YYwyoOJb&VERSION=88.0&BUTTONSOURCE=PP-ECWizard
可能有什么不对?
我真的需要帮助..感谢所有帮助。 提前谢谢!
答案 0 :(得分:4)
此错误可能只是意味着PayPal沙盒服务器存在问题,或者可能意味着您的请求存在问题。我刚才能用SetExpressCheckout成功点击沙盒,所以我猜它一定与你的请求有关。
我立即看到的一件事是你将无法在你的ReturnURL和CancelURL中使用localhost,因为在使用它时它将从PayPal的服务器运行。因此,“localhost”将是他们的服务器,而不是您的服务器,并且重定向将不起作用。您需要使用自己的公共IP地址或设置某种域的域来指向您的测试服务器。这可能是他们的服务器不喜欢的。
我注意到的另一件事是你只是使用值36作为你的金额。 PayPal文档指定您需要在金额值上使用两个小数位,因此您需要确保并通过36.00。
我注意到的下一件事,可能是导致你的问题,是你的一个参数名称无效:[L_PAYMENTREQUEST_0 + _NAME]
你需要从那里获得+。我敢打赌,这将解决你的问题,但我仍然可以解决其他问题。