//string redirect = "";
//redirect += "https://www.paypal.com/row/cgi-bin/webscr/[email protected]";
//redirect += "&item_name=" + siteName + " Order " + orderId;
//redirect += "&item_number=" + orderId;
//redirect += "&amount=" + String.Format("{0:0.00} ", amount);
//redirect += "¤cy=USD"; //redirect += "&return=http://www.xx.com/";
////如果失败回到的页面
//redirect += "&cancel_return=http://www.xx.com/Error.aspx";
//// 重定向到付款页面
//Response.Redirect(redirect);以上的发送代码是否正确?
接收paypal返回的参数,他的参数名是什么,用于更新相应订单状态的。
谢谢
item_name = Request.Params["item_name"];
item_number = Request.Params["item_number"];
payment_status = Request.Params["payment_status"];
mc_gross = Request.Params["mc_gross"];
mc_currency = Request.Params["mc_currency"];
txn_id = Request.Params["txn_id"];
receiver_email = Request.Params["receiver_email"];
payer_email = Request.Params["payer_email"];
string strResponse = GetPaypalNotifyValue();
if (strResponse.Equals("VERIFIED"))
{
if (payment_status.Equals("Completed"))
{
Response.Write("付款成功");
}
}
public static string GetPaypalNotifyValue()
{
string strFormValues = HttpContext.Current.Request.Form.ToString(); string strNewValue;
string strResponse;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://www.paypal.com/cgi-bin/webscr");//
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
strNewValue = strFormValues + "&cmd=_notify-validate";
req.ContentLength = strNewValue.Length;
StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
stOut.Write(strNewValue);
stOut.Close();
StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream());
strResponse = stIn.ReadToEnd();
stIn.Close();
return strResponse;
}