/// <summary> /// ��ѯ������ϸ /// </summary> /// <param name="p1_MerId">�̻����</param> /// <param name="keyValue">�̻���Կ</param> /// <param name="p2_Order">�̻�������</param> /// <returns>BuyQueryOrdDetailResult</returns> public static BuyQueryOrdDetailResult QueryOrdDetail(string p2_Order) { string sbOld = ""; sbOld += "QueryOrdDetail"; sbOld += merchantId; sbOld += p2_Order; string hmac = Digest.HmacSign(sbOld, keyValue); logstr(p2_Order, sbOld, hmac); string para = ""; para += "?p0_Cmd=QueryOrdDetail"; para += "&p1_MerId=" + merchantId; //�����̼�ID para += "&p2_Order=" + p2_Order; //���빺������ para += "&hmac=" + hmac; //����У���� logstr(p2_Order, queryRefundReqURL+para, ""); string reqResult = HttpUtils.SendRequest(queryRefundReqURL, para); //��¼��ѯͨѶ���� logstr(p2_Order, reqResult,""); string r0_Cmd = FormatQueryString.GetQueryString("r0_Cmd", reqResult, '\n'); string r1_Code = FormatQueryString.GetQueryString("r1_Code", reqResult, '\n'); string p1_MerId = FormatQueryString.GetQueryString("p1_MerId", reqResult, '\n'); string r2_TrxId = FormatQueryString.GetQueryString("r2_TrxId", reqResult, '\n'); string r3_Amt = FormatQueryString.GetQueryString("r3_Amt", reqResult, '\n'); string r4_Cur = FormatQueryString.GetQueryString("r4_Cur", reqResult, '\n'); string r5_Pid = FormatQueryString.GetQueryString("r5_Pid", reqResult, '\n'); string r6_Order = FormatQueryString.GetQueryString("r6_Order", reqResult, '\n'); string r8_MP = FormatQueryString.GetQueryString("r8_MP", reqResult, '\n'); string rb_PayStatus = FormatQueryString.GetQueryString("rb_PayStatus", reqResult, '\n'); string rc_RefundCount = FormatQueryString.GetQueryString("rc_RefundCount", reqResult, '\n'); string rd_RefundAmt = FormatQueryString.GetQueryString("rd_RefundAmt", reqResult, '\n'); hmac = FormatQueryString.GetQueryString("hmac", reqResult, '\n'); //�鵥����У��hmac sbOld = ""; sbOld += r0_Cmd; sbOld += r1_Code; sbOld += p1_MerId; sbOld += r2_TrxId; sbOld += r3_Amt; sbOld += r4_Cur; sbOld += r5_Pid; sbOld += r6_Order; sbOld += r8_MP; sbOld += rb_PayStatus; sbOld += rc_RefundCount; sbOld += rd_RefundAmt; string nhmac = Digest.HmacSign(sbOld,keyValue); logstr(p2_Order,sbOld,nhmac); if (hmac == nhmac) { BuyQueryOrdDetailResult result = new BuyQueryOrdDetailResult(r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r8_MP, rb_PayStatus, rc_RefundCount, rd_RefundAmt, hmac, ""); return result; } else { BuyQueryOrdDetailResult result = new BuyQueryOrdDetailResult(r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r8_MP, rb_PayStatus, rc_RefundCount, rd_RefundAmt, hmac, "����ǩ����Ч"); return result; } }
/// <summary> /// 查询订单明细 /// </summary> /// <param name="p1_MerId">商户编号</param> /// <param name="keyValue">商户密钥</param> /// <param name="p2_Order">商户订单号</param> /// <returns>BuyQueryOrdDetailResult</returns> public static BuyQueryOrdDetailResult QueryOrdDetail(string p2_Order) { string sbOld = ""; sbOld += "QueryOrdDetail"; sbOld += merchantId; sbOld += p2_Order; string hmac = Digest.HmacSign(sbOld, keyValue); logstr(p2_Order, sbOld, hmac); string para = ""; para += "?p0_Cmd=QueryOrdDetail"; para += "&p1_MerId=" + merchantId; //加入商家ID para += "&p2_Order=" + p2_Order; //加入购买订单号码 para += "&hmac=" + hmac; //加入校验码 logstr(p2_Order, queryRefundReqURL + para, ""); string reqResult = HttpUtils.SendRequest(queryRefundReqURL, para); //记录查询通讯返回 logstr(p2_Order, reqResult, ""); string r0_Cmd = FormatQueryString.GetQueryString("r0_Cmd", reqResult, '\n'); string r1_Code = FormatQueryString.GetQueryString("r1_Code", reqResult, '\n'); string p1_MerId = FormatQueryString.GetQueryString("p1_MerId", reqResult, '\n'); string r2_TrxId = FormatQueryString.GetQueryString("r2_TrxId", reqResult, '\n'); string r3_Amt = FormatQueryString.GetQueryString("r3_Amt", reqResult, '\n'); string r4_Cur = FormatQueryString.GetQueryString("r4_Cur", reqResult, '\n'); string r5_Pid = FormatQueryString.GetQueryString("r5_Pid", reqResult, '\n'); string r6_Order = FormatQueryString.GetQueryString("r6_Order", reqResult, '\n'); string r8_MP = FormatQueryString.GetQueryString("r8_MP", reqResult, '\n'); string rb_PayStatus = FormatQueryString.GetQueryString("rb_PayStatus", reqResult, '\n'); string rc_RefundCount = FormatQueryString.GetQueryString("rc_RefundCount", reqResult, '\n'); string rd_RefundAmt = FormatQueryString.GetQueryString("rd_RefundAmt", reqResult, '\n'); hmac = FormatQueryString.GetQueryString("hmac", reqResult, '\n'); //查单返回校验hmac sbOld = ""; sbOld += r0_Cmd; sbOld += r1_Code; sbOld += p1_MerId; sbOld += r2_TrxId; sbOld += r3_Amt; sbOld += r4_Cur; sbOld += r5_Pid; sbOld += r6_Order; sbOld += r8_MP; sbOld += rb_PayStatus; sbOld += rc_RefundCount; sbOld += rd_RefundAmt; string nhmac = Digest.HmacSign(sbOld, keyValue); logstr(p2_Order, sbOld, nhmac); if (hmac == nhmac) { BuyQueryOrdDetailResult result = new BuyQueryOrdDetailResult(r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r8_MP, rb_PayStatus, rc_RefundCount, rd_RefundAmt, hmac, ""); return(result); } else { BuyQueryOrdDetailResult result = new BuyQueryOrdDetailResult(r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r8_MP, rb_PayStatus, rc_RefundCount, rd_RefundAmt, hmac, "交易签名无效"); return(result); } }