Function getReqHmacString(orderId,amount,cur,productId,productCat,productDesc,merchantCallbackURL,sMctProperties,frpId)
Dim sbOld
'进行加密串处理,一定按照下列顺序进行
sbOld=""
sbOld = sbOld + messageType
sbOld = sbOld + merchantId
sbOld = sbOld + orderId
sbOld = sbOld + CStr(amount)
sbOld = sbOld + cur
sbOld = sbOld + productId
sbOld = sbOld + productCat
sbOld = sbOld + productDesc
sbOld = sbOld + merchantCallbackURL
sbOld = sbOld + addressFlag
sbOld = sbOld + sMctProperties
sbOld = sbOld + frpId
getReqHmacString = HMAC(sbOld,keyValue)
End Function
Function getCallbackHmacString(sCmd,sErrorCode,sTrxId,orderId,amount,productId,userId,MP,bType)
Dim sbOld
'取得加密前的字符串
sbOld = ""
sbOld = sbOld + CStr(merchantId)
sbOld = sbOld + sCmd
sbOld = sbOld + sErrorCode
sbOld = sbOld + sTrxId
sbOld = sbOld + amount
sbOld = sbOld + cur
sbOld = sbOld + productId
sbOld = sbOld + orderId
sbOld = sbOld + userId
sbOld = sbOld + MP
sbOld = sbOld + bType
getCallbackHmacString = HMAC(sbOld,keyValue)
End Function
Function CheckHmac(sCmd,sErrorCode,sTrxId,orderId,amount,productId,userId,MP,bType,hmac)
if(hmac=getCallbackHmacString(sCmd,sErrorCode,sTrxId,orderId,amount,productId,userId,MP,bType)) Then
CheckHmac = True
ELSE
CheckHmac = Flase
END IF
End Function
'取得返回串中的所有参数
Sub getCallBackValue(ByRef sCmd,ByRef sErrorCode,ByRef sTrxId,ByRef amount,ByRef cur,ByRef productId,ByRef orderId,ByRef userId,ByRef MP,ByRef bType,ByRef svrHmac)
sCmd = Request.QueryString("r0_Cmd")
sErrorCode = Request.QueryString("r1_Code")
sTrxId = Request.QueryString("r2_TrxId")
amount = Request.QueryString("r3_Amt")
cur = Request.QueryString("r4_Cur")
productId = Request.QueryString("r5_Pid")
orderId = Request.QueryString("r6_Order")
userId = Request.QueryString("r7_Uid")
MP = Request.QueryString("r8_MP")
bType = Request.QueryString("r9_BType")
svrHmac = Request.QueryString("hmac")
End Sub









