【发布时间】:2015-04-15 05:21:06
【问题描述】:
我不确定为什么这个 PayPal Pay 操作给我这个错误,即使我似乎已经涵盖了所有必填字段:
错误代码:81002 严重性:错误消息:未指定的方法(不支持指定的方法)”
string postData = JsonConvert.SerializeObject(request);
postData 的值:
"actionType=PAY
¤cyCode=USD
&cancelUrl=https%3a%2f%2fexample.com%2fcancel
&returnUrl=https%3a%2f%2fexample.com%2freturn
&requestenvelope.errorLanguage=en_US
&receiverList.receiver(0).email=recipientemail%40gmail.com
&receiverList.receiver(0).amount=0.05
&VERSION=94.0
&USER=bizemail-facilitator_api1.gmail.com
&PWD=xxxxx
&SIGNATURE=xxxxxxxxx"
我是这样发帖的:
SendRequest("https://api-3t.sandbox.paypal.com/nvp", postData);
public string SendRequest(string url, string postData)
{
var uri = new Uri(url);
var request = WebRequest.Create(uri);
var encoding = new UTF8Encoding();
var requestData = encoding.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Timeout = (300*1000); //TODO: Move timeout to config
request.ContentLength = requestData.Length;
using (var stream = request.GetRequestStream()) {
stream.Write(requestData, 0, requestData.Length);
}
var response = request.GetResponse();
string result;
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII)) {
result = reader.ReadToEnd();
}
return result;
}
【问题讨论】:
-
如果对您有帮助,请接受答案,否则赏金将被浪费(您仍然会失去它)
-
我还没有机会验证任何一个答案。如果你错了,我想我会给你赏金并奖励约翰额外的赏金。
-
谢谢,我很感激 - 虽然我不能评论约翰的回答,因为我只使用过旧的 PayPal 支付标准,而不是新的 API,即使他在你的具体情况下是正确的,总的来说,我在技术上仍然是正确的(最好的正确)......所以,远非错误
标签: c# paypal paypal-sandbox