[HttpPost]public voidAsyncPay()
{SortedDictionary sPara =GetRequestPost();//将post请求过来的参数传化为SortedDictionaryif (sPara.Count > 0)
{
AlipayTradeWayPayServer pay= newAlipayTradeWayPayServer();
Boolean VerifyResult=pay.Verify(sPara);//验签if(VerifyResult)
{try{//商户订单号
string out_trade_no = Request.Form["out_trade_no"];//支付宝交易号
string trade_no = Request.Form["trade_no"];//支付金额
decimal total_amount = Request.Form["total_amount"].ConvertType(Decimal.Zero);//实收金额//decimal receipt_amount = Request.Form["receipt_amount"].ConvertType(Decimal.Zero);//交易状态
string trade_status = Request.Form["trade_status"];//卖家支付宝账号
string seller_id = Request.Form["seller_id"];//商品描述
string body = Request.Form["body"];//交易创建时间
DateTime gmt_create = DateTime.Parse(Request.Form["gmt_create"]);//交易付款时间
DateTime gmt_payment = DateTime.Parse(Request.Form["gmt_payment"]);string appid = Request.Form["app_id"];
WriteError("验证参数开始");
Boolean DataValidity= pay.CheckInform(out_trade_no, total_amount, seller_id, appid);//商家判断参数时候是否匹配if(DataValidity)
{if (Request.Form["trade_status"] == "TRADE_FINISHED")
{
AlipayWayPayPO model=CreateAlipayWayPay(out_trade_no, trade_no, trade_status, gmt_create, gmt_payment);
pay.PaySuccess(out_trade_no, model, Server.MapPath("~/" + DateTime.Today.ToString("yyMMdd") + ".txt"));//修改订单//注意://退款日期超过可退款期限后(如三个月可退款),支付宝系统发送该交易状态通知
}else if (Request.Form["trade_status"] == "TRADE_SUCCESS")
{
AlipayWayPayPO model=CreateAlipayWayPay(out_trade_no, trade_no, trade_status, gmt_create, gmt_payment);
pay.PaySuccess(out_trade_no, model, Server.MapPath("~/" + DateTime.Today.ToString("yyMMdd") + ".txt"));//修改订单//注意://付款完成后,支付宝系统发送该交易状态通知
}else{
}//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
Response.Write("success"); //请不要修改或删除
/
}
}catch(Exception ex)
{}
}else//验证失败
{
Response.Write("fail");
}
}else{
Response.Write("无通知参数");
}
}