def cancelOrder(params): print "##### refundQuery() #####" p0_Cmd = formatString(params["p0_Cmd"]) p1_MerId = getOnePar("p1_MerId") pb_TrxId = formatString(params["pb_TrxId"]) pv_Ver = formatString(params["pv_Ver"]) keyValue = getOnePar("keyValue") hmac = digestUtil.getHmac([p0_Cmd, p1_MerId, pb_TrxId, pv_Ver], keyValue) cancelParams = {} cancelParams["p0_Cmd"] = p0_Cmd cancelParams["p1_MerId"] = p1_MerId cancelParams["pb_TrxId"] = pb_TrxId cancelParams["hmac"] = hmac cancelOrderURL = getOnePar("cancelOrderURL") print "cancelParams: ", cancelParams print "cancelOrderURL: ", cancelOrderURL cancelResult = {} r0_Cmd = "" r1_Code = "" hmacFromYeepay = "" errorMsg = "" hmacError = "" responseList = [] try: responseList = httpUtils.URLGet(cancelOrderURL, cancelParams) print "responseList, ", responseList except Exception, e: print e
def refundQuery(params): print "##### refundQuery() #####" p0_Cmd = "RefundResults" p1_MerId = getOnePar("p1_MerId") p2_Order = formatString(params["p2_Order"]) pb_TrxId = formatString(params["pb_TrxId"]) keyValue = getOnePar("keyValue") hmac = digestUtil.getHmac([p0_Cmd, p1_MerId, p2_Order, pb_TrxId], keyValue) refundQueryParams = {} refundQueryParams["p0_Cmd"] = p0_Cmd refundQueryParams["p1_MerId"] = p1_MerId refundQueryParams["p2_Order"] = p2_Order refundQueryParams["pb_TrxId"] = pb_TrxId refundQueryParams["hmac"] = hmac refundQueryURL = getOnePar("refundQueryURL") refundQueryResult = {} r0_Cmd = "" r1_Code = "" r2_TrxId = "" r4_Order = "" refundStatus = "" refundFrpStatus = "" hmacFromYeepay = "" errorMsg = "" hmacError = "" responseList = [] try: responseList = httpUtils.URLGet(refundQueryURL, refundQueryParams) print "responseList, ", responseList except Exception, e: print e
def verifyCallbackHmac(stringValue, hmacFromYeepay): print "##### verifyCallbackHmac() #####" keyValue = getOnePar("keyValue") sourceData = "" for item in stringValue: sourceData += item print "sourceData: ", sourceData localHmac = digestUtil.getHmac(stringValue, keyValue) if localHmac == hmacFromYeepay: return True else: return False
def queryByOrder(order): print "#### queryByOrder() ####" p0_Cmd = "QueryOrdDetail" p1_MerId = getOnePar("p1_MerId") p2_Order = order pd_Ver = "3.0" keyValue = getOnePar("keyValue") hmac = digestUtil.getHmac([p0_Cmd, p1_MerId, p2_Order, pd_Ver], keyValue) queryParams = {} queryParams.setdefault("p0_Cmd", p0_Cmd) queryParams.setdefault("p1_MerId", p1_MerId) queryParams.setdefault("p2_Order", p2_Order) queryParams.setdefault("hmac", hmac) queryURL = getOnePar("queryURL") print "queryParams: ", queryParams print "queryURL: ", queryURL queryResult = {} r0_Cmd = "" r1_Code = "" r2_TrxId = "" r3_Amt = "" r4_Cur = "" r5_Pid = "" r6_Order = "" r8_MP = "" rw_RefundRequestID = "" rx_CreateTime = "" ry_FinishTime = "" rz_RefundAmount = "" rb_PayStatus = "" rc_RefundCount = "" rd_RefundAmt = "" hmacFromYeepay = "" errorMsg = "" hmacError = "" responseList = [] try: responseList = httpUtils.URLGet(queryURL, queryParams) print "responseList: ", responseList except Exception, e: print e
def refundByTrxId(params): print "#### refundByTrxId() ####" p0_Cmd = formatString(params["p0_Cmd"]) p1_MerId = getOnePar("p1_MerId") pb_TrxId = formatString(params["pb_TrxId"]) p3_Amt = formatString(params["p3_Amt"]) p4_Cur = formatString(params["p4_Cur"]) p5_Desc = formatString(params["p5_Desc"]) keyValue = getOnePar("keyValue") strArr = [p0_Cmd, p1_MerId, pb_TrxId, p3_Amt, p4_Cur, p5_Desc] hmac = digestUtil.getHmac(strArr, keyValue) print hmac refundParams = {} refundParams["p0_Cmd"] = p0_Cmd refundParams["p1_MerId"] = p1_MerId refundParams["pb_TrxId"] = pb_TrxId refundParams["p3_Amt"] = p3_Amt refundParams["p4_Cur"] = p4_Cur refundParams["p5_Desc"] = p5_Desc refundParams["hmac"] = hmac print "refundParams: ", refundParams refundURL = getOnePar("refundURL") refundResult = {} r0_Cmd = "" r1_Code = "" r2_TrxId = "" r3_Amt = "" r4_Cur = "" r4_Order = "" rf_fee = "" hmacFromYeepay = "" errorMsg = "" hmacError = "" responseList = [] try: responseList = httpUtils.URLGet(refundURL, refundParams) print "responseList: ", responseList except Exception, e: print e
def getPayURL(kargs): print "#### getPayURL() ####" params = copy.deepcopy(default_params) params.update(kargs) p0_Cmd = formatString(params["p0_Cmd"]) p1_MerId = getOnePar("p1_MerId") p2_Order = formatString(params["p2_Order"]) p3_Amt = formatString(params["p3_Amt"]) p4_Cur = formatString(params["p4_Cur"]) p5_Pid = formatString(params["p5_Pid"]) p6_Pcat = formatString(params["p6_Pcat"]) # 商品种类 p7_Pdesc = formatString(params["p7_Pdesc"]) # 商品描述 p8_Url = formatString(params["p8_Url"]) if getOnePar("p8_Url"): p8_Url = getOnePar("p8_Url") p9_SAF = formatString(params["p9_SAF"]) pa_MP = formatString(params["pa_MP"]) pd_FrpId = formatString(params["pd_FrpId"]) pm_Period = formatString(fillNoneKey("pm_Period", params)) pn_Unit = formatString(fillNoneKey("pn_Unit", params)) pr_NeedResponse = formatString(params["pr_NeedResponse"]) pt_UserName = formatString(fillNoneKey("pt_UserName", params)) pt_PostalCode = formatString(fillNoneKey("pt_PostalCode", params)) pt_Address = formatString(fillNoneKey("pt_Address", params)) pt_TeleNo = formatString(fillNoneKey("pt_TeleNo", params)) pt_Mobile = formatString(fillNoneKey("pt_Mobile", params)) pt_Email = formatString(fillNoneKey("pt_Email", params)) keyValue = getOnePar("keyValue") strArr = [ p0_Cmd, p1_MerId, p2_Order, p3_Amt, p4_Cur, p5_Pid, p6_Pcat, p7_Pdesc, p8_Url, p9_SAF, pa_MP, pd_FrpId, pm_Period, pn_Unit, pr_NeedResponse, pt_UserName, pt_PostalCode, pt_Address, pt_TeleNo, pt_Mobile, pt_Email ] hmac = digestUtil.getHmac(strArr, keyValue) try: p0_Cmd = p0_Cmd.decode("utf-8").encode("gbk") p1_MerId = p1_MerId.decode("utf-8").encode("gbk") p2_Order = p2_Order.decode("utf-8").encode("gbk") p3_Amt = p3_Amt.decode("utf-8").encode("gbk") p4_Cur = p4_Cur.decode("utf-8").encode("gbk") p5_Pid = p5_Pid.decode("utf-8").encode("gbk") p6_Pcat = p6_Pcat.decode("utf-8").encode("gbk") p7_Pdesc = p7_Pdesc.decode("utf-8").encode("gbk") p8_Url = p8_Url.decode("utf-8").encode("gbk") p9_SAF = p9_SAF.decode("utf-8").encode("gbk") pa_MP = pa_MP.decode("utf-8").encode("gbk") pd_FrpId = pd_FrpId.decode("utf-8").encode("gbk") pm_Period = pm_Period.decode("utf-8").encode("gbk") pn_Unit = pn_Unit.decode("utf-8").encode("gbk") pr_NeedResponse = pr_NeedResponse.decode("utf-8").encode("gbk") pt_UserName = pt_UserName.decode("utf-8").encode("gbk") pt_PostalCode = pt_PostalCode.decode("utf-8").encode("gbk") pt_Address = pt_Address.decode("utf-8").encode("gbk") pt_TeleNo = pt_TeleNo.decode("utf-8").encode("gbk") pt_Mobile = pt_Mobile.decode("utf-8").encode("gbk") pt_Email = pt_Email.decode("utf-8").encode("gbk") hmac = hmac.decode("utf-8").encode("gbk") except Exception, e: print e
elif itemKey == "rz_RefundAmount": rz_RefundAmount = itemValue elif itemKey == "rb_PayStatus": rb_PayStatus = itemValue elif itemKey == "rc_RefundCount": rc_RefundCount = itemValue elif itemKey == "rd_RefundAmt": rd_RefundAmt = itemValue elif itemKey == "hmac": hmacFromYeepay = itemValue stringArr = [ r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r8_MP, rw_RefundRequestID, rx_CreateTime, ry_FinishTime, rz_RefundAmount, rb_PayStatus, rc_RefundCount, rd_RefundAmt ] localHmac = digestUtil.getHmac(stringArr, keyValue) if localHmac != hmacFromYeepay: hmacError = "Hmac不匹配! hmacFromYeepay: %s; localHmac: %s" % ( hmacFromYeepay, localHmac) temp = "" for ele in stringArr: temp += ele queryResult["r0_Cmd"] = r0_Cmd queryResult["r1_Code"] = r1_Code queryResult["r2_TrxId"] = r2_TrxId queryResult["r3_Amt"] = r3_Amt queryResult["r4_Cur"] = r4_Cur queryResult["r5_Pid"] = r5_Pid queryResult["r6_Order"] = r6_Order queryResult["r8_MP"] = r8_MP