public PaidHandleResult Return <T>(PayMointor <T> proc) where T : class { SortedDictionary <string, string> sPara = PayUtil.GetRequestGet(); var request = HttpContext.Current.Request; if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.Verify(sPara, request.QueryString["notify_id"], request.QueryString["sign"]); if (verifyResult)//验证成功 { ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 //商户订单号 string out_trade_no = request.QueryString["out_trade_no"]; //支付宝交易号 string trade_no = request.QueryString["trade_no"]; //交易状态 string trade_status = request.QueryString["trade_status"]; proc.Init(out_trade_no); if (request.QueryString["trade_status"] == "WAIT_SELLER_SEND_GOODS") { //判断该笔订单是否在商户网站中已经做过处理 //如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序 //如果有做过处理,不执行商户的业务程序 return(PaidHandleResult.Success); } else { return(PaidHandleResult.Fail); } } else//验证失败 { return(PaidHandleResult.Fail); } } else { return(PaidHandleResult.Fail); } }
public PaidHandleResult Return <T>(PayMointor <T> proc) where T : class { // http://www.jin-ec.com/mapfre/pay/notify?body=%E8%AE%A2%E5%8D%952013122345312 // &buyer_email=newmin.net%40gmail.com&buyer_id=2088302384317810&exterface=create_direct_pay_by_user // &is_success=T¬ify_id=RqPnCoPT3K9%252Fvwbh3I75KL02sthKJHtG2dh1Mg5RF5qgJKDY8jd2nu0ChZQAfPMX38xu // ¬ify_time=2013-12-23+14%3A18%3A53¬ify_type=trade_status_sync&out_trade_no=2013122345312 //&payment_type=1&seller_email=clientinfo%40roadchina.com.cn&seller_id=2088201937033268 //&subject=%E6%98%A5%E8%BF%90%E4%BF%9D%E9%9A%9C%E4%BA%A7%E5%93%81&total_fee=0.01 // &trade_no=2013122303460581&trade_status=TRADE_SUCCESS&sign=c8c01b5ac095540f0a35d4f7f5831956&sign_type=MD5 // var request = HttpContext.Current.Request; SortedDictionary <string, string> sPara = PayUtil.GetRequestGet(); if (sPara.Count > 0)//判断是否有带返回参数 { Notify aliNotify = new Notify(); bool verifyResult = aliNotify.Verify(sPara, request.QueryString["notify_id"], request.QueryString["sign"]); if (verifyResult)//验证成功 { ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 string trade_no = request.QueryString["trade_no"]; //支付宝交易号 string order_no = request.QueryString["out_trade_no"]; //获取订单号 string total_fee = request.QueryString["total_fee"]; //获取总金额 string subject = request.QueryString["subject"]; //商品名称、订单名称 string body = request.QueryString["body"]; //商品描述、订单备注、描述 string buyer_email = request.QueryString["buyer_email"]; //买家支付宝账号 string trade_status = request.QueryString["trade_status"]; //交易状态 proc.Init(order_no); if (request.QueryString["trade_status"] == "TRADE_FINISHED" || request.QueryString["trade_status"] == "TRADE_SUCCESS") { return(PaidHandleResult.Success); } //打印页面 // Response.Write("验证成功<br />"); // Response.Write("trade_no=" + trade_no); //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— ///////////////////////////////////////////////////////////////////////////////////////////////////////////// } } return(PaidHandleResult.Fail); }