//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 += "&currency=USD";            //redirect += "&return=http://www.xx.com/";
            ////如果失败回到的页面
            //redirect += "&cancel_return=http://www.xx.com/Error.aspx";
            //// 重定向到付款页面
            //Response.Redirect(redirect);以上的发送代码是否正确?
接收paypal返回的参数,他的参数名是什么,用于更新相应订单状态的。
谢谢

解决方案 »

  1.   


    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;
        }