//支付宝支付异步回调 public ContentResult alinotifyurl() { SortedDictionary <string, string> sPara = GetRequestPost(); if (sPara.Count > 0)//判断是否有带返回参数 { string out_trade_no = Request.Form["out_trade_no"]; string notify_id = Request.Form["notify_id"]; string sign = Request.Form["sign"]; string trade_no = Request.Form["trade_no"]; string trade_status = Request.Form["trade_status"]; LogUtils.LogInfo($"ali异步回调参数out_trade_no={out_trade_no}¬ify_id={notify_id}&sign={sign}&trade_no={trade_no}&trade_status={trade_status}"); bool verifyResult = new Notify().Verify(sPara, notify_id, sign); if (verifyResult)//验证成功 { ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表 //商户订单号 //支付宝交易号 //交易状态 string[] str = DesEncoderAndDecoder.Decrypt(out_trade_no).Split('#'); if (trade_status == "TRADE_FINISHED" || trade_status == "TRADE_SUCCESS") { _payCallBackService.Callback(str[0].ToInt32(), trade_no); } else { //支付失败 _orderService.UpdateStatus(str[0].ToInt32(), Model.enums.OrderStatusEm.支付失败); return(Content(trade_status)); } //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— return(Content("success")); //请不要修改或删除 ///////////////////////////////////////////////////////////////////////////////////////////////////////////// } else//验证失败 { return(Content("fail")); //请不要修改或删除 } } else { return(Content("无通知参数")); } }
public void Callback() { service.Callback(1, "testpaylog"); }