using System; using System.Collections; using System.Text; using System.Web; namespace JumbotCms.API.Tenpay { /// /// PayResponseHandler µÄժҪ˵Ã÷¡£ /// /** * ¼´Ê±µ½ÕÊÓ¦´ðÀà * ============================================================================ * api˵Ã÷£º * getKey()/setKey(),»ñÈ¡/ÉèÖÃÃÜÔ¿ * getParameter()/setParameter(),»ñÈ¡/ÉèÖòÎÊýÖµ * getAllParameters(),»ñÈ¡ËùÓвÎÊý * isTenpaySign(),ÊÇ·ñ²Æ¸¶Í¨Ç©Ãû,true:ÊÇ false:·ñ * doShow(),ÏÔʾ´¦Àí½á¹û * getDebugInfo(),»ñÈ¡debugÐÅÏ¢ * * ============================================================================ * */ public class PayResponseHandler:ResponseHandler { public PayResponseHandler(HttpContext httpContext) : base(httpContext) { // // TODO: ÔÚ´Ë´¦Ìí¼Ó¹¹Ô캯ÊýÂß¼­ // } /** * ÊÇ·ñ²Æ¸¶Í¨Ç©Ãû * @Override * @return boolean */ public override Boolean isTenpaySign() { //»ñÈ¡²ÎÊý string cmdno = getParameter("cmdno"); string pay_result = getParameter("pay_result"); string date = getParameter("date"); string transaction_id = getParameter("transaction_id"); string sp_billno = getParameter("sp_billno"); string total_fee = getParameter("total_fee"); string fee_type = getParameter("fee_type"); string attach = getParameter("attach"); string tenpaySign = getParameter("sign").ToUpper(); string key = this.getKey(); //×é֯ǩÃû´® StringBuilder sb = new StringBuilder(); sb.Append("cmdno=" + cmdno + "&"); sb.Append("pay_result=" + pay_result + "&"); sb.Append("date=" + date + "&"); sb.Append("transaction_id=" + transaction_id + "&"); sb.Append("sp_billno=" + sp_billno + "&"); sb.Append("total_fee=" + total_fee + "&"); sb.Append("fee_type=" + fee_type + "&"); sb.Append("attach=" + attach + "&"); sb.Append("key=" + key); //Ëã³öÕªÒª string sign = MD5Util.GetMD5(sb.ToString(),getCharset()); //debugÐÅÏ¢ setDebugInfo(sb.ToString() + " => sign:" + sign + " tenpaySign:" + tenpaySign); return sign.Equals(tenpaySign); } } }