【发布时间】:2011-09-27 03:41:38
【问题描述】:
我正在创建一个电子商务网站,并且与 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);
当用户访问贝宝时,登录并点击“立即付款”按钮,然后被重定向到我网站的结帐页面。
所以一切看起来都很好。但是当我检查沙盒账户时,实际上并没有转移任何资金。
最常见的原因是重定向 url 中缺少 useraction=commit 参数,但它存在,所以这不是问题。
【问题讨论】:
标签: c# paypal-sandbox