using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Security.Cryptography; using System.IO; using Newtonsoft; using Newtonsoft.Json; public partial class callback : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string data = Request.QueryString["data"]; //data="{\"amount\":\"10\",\"callBackUrl\":\"http://xx.alipay.com/services/callback.aspx\",\"callBackViewUrl\":\"http://127.0.0.1/\",\"goodsName\":\"商品名称\",\"merNo\":\"Mer000001\",\"netway\":\"ZFB\",\"orderNum\":\"20161212013117544db771\",\"random\":\"Yzs0\",\"sign\":\"82D568B610D03472FA38DE56AA8C9E3B\"}"; IDictionary<string, string> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<IDictionary<string, string>>(data); string sign = string.Empty; if (dic.ContainsKey("密钥")) { sign = dic["sign"]; } dic.Remove("sign"); string dicdata = Newtonsoft.Json.JsonConvert.SerializeObject(dic); string signstr = MD5Encrypt.xftMD5(dicdata + "密钥", "utf-8"); if (signstr == sign) { //TODO:改变订单状态 } } }