为什么Paypal Sandbox不处理付款?

时间:2011-07-02 03:51:55

标签: c# paypal-sandbox

我正在建立一个电子商务网站,而paypal集成似乎正在发挥作用。我有一个购物车,总计了里面的所有物品,添加了运费,然后用这些线将该号码发送到paypal。

string address = "https://api-3t.sandbox.paypal.com/nvp?USER=<username>&PWD=<password>&VERSION=71.0&SIGNATURE=<signature>&METHOD=SetExpressCheckout&PAYMENTREQUEST_0_AMT=" + lblTotal.Text + "&PAYMENTREQUEST_0_CURRENCYCODE=USD&RETURNURL=http://www.secretskeletonminiatures.com/checkout.aspx&CANCELURL=http://www.secretskeletonminiatures.com/cart.aspx&PAYMENTREQUEST_0_PAYMENTACTION=Sale";

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);

然后我使用HTTPWebResponse从paypal获取响应并解析令牌并将用户重定向到

Response.Redirect("https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=" + token);

当用户访问paypal然后登录并点击“立即付款”按钮并重定向到我网站的结帐页面。

所以一切似乎都好。但是,当我查看沙盒帐户时,这些钱实际上都没有转移。

最常见的原因是重定向网址中缺少useraction = commit参数,但它存在,所以这不是问题。

2 个答案:

答案 0 :(得分:7)

以后遇到这个问题的其他人。 我确实解决了。一旦用户在确认PayPal付款后返回您的网站,您仍然需要向paypal服务器发送DoExpressCheckoutPayment请求以获得付款处理。

您可以将PayerID和TOKEN提供给DoExpressCheckoutPayment来处理它。 PayerID附加在RETURNURL的URL中,或者可以通过使用TOKEN调用GetExpressCheckoutDetails来检索。

答案 1 :(得分:0)

当我整合付费朋友时,我遇到了同样的问题,似乎他们的系统中有一些修改。

如果您转到买方帐户,您可以看到您的付款处于待处理状态,并在几天内获得批准,商家帐户的行为也相同。