【发布时间】:2013-02-14 16:23:33
【问题描述】:
我是贝宝的新手。我想为我的网站实现直接支付 api。意味着当我点击它时我会有一个购买按钮,它会展开,在那个 iframe 中,我将拥有 paypal 直接付款的 url。我已经写了类似的代码
string address = "https://api-3t.sandbox.paypal.com/nvp?USER=user&COUNTRYCODE=US&ZIP=95131&STATE=CA&CITY=San Jose&FIRSTNAME=John&LASTNAME=Smith&STREET=1asfasdfSt&CVV2=123&ACCT=4683075410516684&IPADDRESS=192.168.0.62&PWD=1357635822&EXPDATE=042011&VERSION=58.0&SIGNATURE=signature&METHOD=DoDirectPayment&CREDITCARDTYPE=Visa&AMT=10.00&PAYMENTACTION=Sale&RETURNURL=http://returnurl&CANCELURL=http://cancnelurl";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
HttpWebResponse response2 = (HttpWebResponse)request.GetResponse();
Stream stream = response2.GetResponseStream();
StreamReader rdr = new StreamReader(stream);
string req = rdr.ReadToEnd();
但req 包含失败消息。我不知道我缺少什么凭据。
任何帮助表示赞赏。
【问题讨论】:
-
错误信息是什么意思?此外,您可能需要对查询字符串上的参数进行 URL 编码
-
响应包含
TIMESTAMP=2013%2d02%2d28T13%3a05%3a22Z&CORRELATIONID=ddda63e952b88&ACK=Failure&VERSION=58%2e0&BUILD=5294323&L_ERRORCODE0=10562&L_SHORTMESSAGE0=Invalid%20Data&L_LONGMESSAGE0=This%20transaction%20cannot%20be%20processed%2e%20Please%20enter%20a%20valid%20credit%20card%20expiration%20year%2e&L_SEVERITYCODE0=Error&AMT=10%2e00&CURRENCYCODE=USD -
当我对 url 进行编码时,它得到一个异常 Invalid Uri
标签: c# asp.net-mvc paypal paypal-sandbox