using System;
|
using System.Collections;
|
using System.Text;
|
using System.Web;
|
|
namespace JumbotCms.API.Tenpay
|
{
|
/// <summary>
|
/// PayResponseHandler µÄժҪ˵Ã÷¡£
|
/// </summary>
|
/**
|
* ¼´Ê±µ½ÕÊÓ¦´ðÀà
|
* ============================================================================
|
* 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);
|
}
|
|
|
}
|
}
|