/// <summary> /// 3.4 单笔付款结果查询 (根据银行返回的业务流水号) /// </summary> /// <param name="BussFlowNo"></param> /// <returns></returns> public static string KHKF04ResultBuss(string BussFlowNo) { string sdbYQAcctNo = PAConfigHelper.GetConfiguration("sdbYQAcctNo"); string postParams = "{0}"; StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"GBK\" ?><Result><AcctNo>"); sb.Append(sdbYQAcctNo); //企业签约帐号 sb.Append("</AcctNo>"); sb.Append("<OrderNumber>"); sb.Append(""); //20位订单号 sb.Append("</OrderNumber>"); //两者不能同时为空 只取上面一个的 BussFlowNo为空 sb.Append("<BussFlowNo>"); sb.Append(BussFlowNo); //银行业务流水号 sb.Append("</BussFlowNo>"); sb.Append("</Result>"); string KHKF04XML = string.Format(postParams, sb.ToString()); var str = YQHelp.asemblyYQPackets(YQCode, "KHKF04", KHKF04XML); var cc = PAHelper.NcPost(apiUrl, str); return(cc); }
//3.1 系统状态探测 _无效 public static object S001Query() { string postParams = "{0}"; StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"GBK\" ?><Result></Result>"); string postData = string.Format(postParams, sb.ToString()); var cc = PAHelper.NcPost(apiUrl, postData); return(cc); }
/// <summary> /// 系统探测 /// </summary> /// <returns></returns> public static string S001NormalQuery() { string postParams = "{0}"; StringBuilder sb = new StringBuilder(); // sb.Append(sendStrBalance); var str = YQHelp.asemblyYQPackets(YQCode, "S001", S001XML); sb.Append(str); string postData = string.Format(postParams, sb.ToString()); var cc = PAHelper.NcPost(apiUrl, postData); return(cc); }
/// <summary> /// 跨行快付 单笔 /// </summary> /// <returns></returns> public static string KHKF03(string InAcctNo, string InAcctName, string TranAmount, string OrderNumber) { string sdbYQAcctNo = PAConfigHelper.GetConfiguration("sdbYQAcctNo"); string sdbYQCorpId = PAConfigHelper.GetConfiguration("sdbYQCorpId"); string postParams = "{0}"; StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"GBK\" ?><Result><OrderNumber>"); sb.Append(OrderNumber); sb.Append("</OrderNumber>"); sb.Append("<AcctNo>"); sb.Append(sdbYQAcctNo); //企业签约帐号 sb.Append("</AcctNo>"); sb.Append("<BusiType>"); sb.Append("00000"); sb.Append("</BusiType>"); //sb.Append("<CorpId>"); //sb.Append(sdbYQCorpId);//单位代码 //sb.Append("</CorpId>"); sb.Append("<CcyCode>"); sb.Append("RMB"); sb.Append("</CcyCode>"); sb.Append("<TranAmount>"); sb.Append(TranAmount); sb.Append("</TranAmount>"); sb.Append("<InAcctNo>"); sb.Append(InAcctNo); sb.Append("</InAcctNo>"); sb.Append("<InAcctName>"); sb.Append(InAcctName); sb.Append("</InAcctName>"); sb.Append("</Result>"); string KHKF03XML = string.Format(postParams, sb.ToString()); var str = YQHelp.asemblyYQPackets(YQCode, "KHKF03", KHKF03XML); var cc = PAHelper.NcPost(apiUrl, str); return(cc); }
/// <summary> /// 余额查询 /// </summary> /// <returns></returns> public static string YQ4001NormalQuery(string Account) { string postParams = "{0}"; StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"GBK\" ?><Result><Account>"); sb.Append(Account); sb.Append("</Account><CcyCode>"); sb.Append("RMB"); sb.Append("</CcyCode></Result>"); string S4001XML = string.Format(postParams, sb.ToString()); var str = YQHelp.asemblyYQPackets(YQCode, "4001", S4001XML); var cc = PAHelper.NcPost(apiUrl, str); return(cc); }
/// <summary> /// 当日明细 /// </summary> /// <param name="accountNo"></param> /// <returns></returns> public static string YQ4008todayDetailQuery(string accountNo) { string postParams = "{0}"; StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"GBK\" ?><Result><AcctNo>"); sb.Append(accountNo); sb.Append("</AcctNo><CcyCode>"); sb.Append("RMB"); sb.Append("</CcyCode>"); sb.Append("<PageNo>0</PageNo>"); sb.Append("<PageSize></PageSize></Result>"); string YQ4008XML = string.Format(postParams, sb.ToString()); var str = YQHelp.asemblyYQPackets(YQCode, "4008", YQ4008XML); var cc = PAHelper.NcPost(apiUrl, str); return(cc); }
/// <summary> /// 历史明细 /// </summary> /// <returns></returns> public static string YQ4013HisDetailQuery(string accountNo, string BeginDate, string EndDate) { string postParams = "{0}"; StringBuilder sb = new StringBuilder(); sb.Append("<?xml version=\"1.0\" encoding=\"GBK\" ?><Result><AcctNo>"); sb.Append(accountNo); sb.Append("</AcctNo><CcyCode>"); sb.Append("RMB"); sb.Append("</CcyCode>"); sb.Append("<BeginDate>" + BeginDate + "</BeginDate>"); sb.Append("<EndDate>" + EndDate + "</EndDate>"); sb.Append("<PageNo>1</PageNo>"); sb.Append("<PageSize>30</PageSize>"); sb.Append("<OrderMode>002</OrderMode></Result>"); string YQ4013XML = string.Format(postParams, sb.ToString()); var str = YQHelp.asemblyYQPackets(YQCode, "4013", YQ4013XML); var cc = PAHelper.NcPost(apiUrl, str); return(cc); }
//最终远程操作 public static string getDataFromPayGate2Dotnet(String businessCode, String toOrig, String toUrl, KeyedCollection recv) { String payFlag = null; String fromOrig = null; String fromSign = null; String encoding = "GBK"; // MicroWeb.General.Common.LogResult("toOrig为" + toOrig); String toSign = MD5WithRSA.sdbPaySign(toOrig); // MicroWeb.General.Common.LogResult("toSign^^MD5WithRSA加密后" + toSign); String toSignData = Base64.EncodeBase64(toSign, encoding); // MicroWeb.General.Common.LogResult("toSignData^^EncodeBase64后" + toSignData); String toOrigData = Base64.EncodeBase64(toOrig, encoding); // MicroWeb.General.Common.LogResult("toOrigData^^EncodeBase64后" + toOrigData); toSignData = System.Web.HttpUtility.UrlEncode(toSignData, Encoding.GetEncoding("GBK")); //Base64Encode转码后原始数据,再做URL转码 toOrigData = System.Web.HttpUtility.UrlEncode(toOrigData, Encoding.GetEncoding("GBK")); //Base64Encode转码后签名数据,再做URL转码 // MicroWeb.General.Common.LogResult("toSignData^^URL转码" + toSignData); // MicroWeb.General.Common.LogResult("toOrigData^^URL转码" + toOrigData); string aOutputData = null; // string a = "PGtDb2xsIGlkPSJpbnB1dCIgYXBwZW5kPSJmYWxzZSI%2BPGZpZWxkIGlkPSJtYXN0ZXJJZCIgdmFs%0D%0AdWU9IjIwMDAzMTExNDYiLz48ZmllbGQgaWQ9ImN1c3RvbWVySWQiIHZhbHVlPSJTSDAwMDAxIi8%2B%0D%0APGZpZWxkIGlkPSJhY2NObyIgdmFsdWU9IjYyMjYzMzAxNTEwMzAwMDAiLz48L2tDb2xsPg%3D%3D%0D%0A"; // string b = "NDM5NzczZWJmOTg1NTY0NGQxM2MzZGI0ZTA3ZDgwM2IyZjEzNTc1MjllMjdhZDI1NGJkNTEyYzMy%0D%0AZjg4MDJiOTUwMDAyZmE3YTQ0MDI1YTA0ZjQ2MGE5MTFlYWU3NDdhMjkwYjA0YjMyY2IxZDBiYzUw%0D%0AZWVjNjI4N2UwYTU0MjYwNWRjM2U4ZjYwOThiYjhmNjZiOGYxYTEzMzNjMzI3ZmQwNDVlZWM2NmEz%0D%0ANWEzMTk2NGE5YjMzYmIxOGQyNTlmZmI0ODhmZjgxYmFiMjY1OGE5MzgwYzhmOWE4ZjA2MjQ3YTZm%0D%0AOWJlMjYyOTk1MjMyOTIxZDJkNjE4MzYwYTE2NQ%3D%3D%0D%0A"; aOutputData = "orig=" + toOrigData + "&sign=" + toSignData + "&businessCode=" + businessCode.getBytes(encoding); // aOutputData = "orig=" + a + "&sign=" + b + "&businessCode=" + businessCode.getBytes(encoding); // MicroWeb.General.Common.LogResult("aOutputData为" + aOutputData); var response = PAHelper.NcPostUnionNew(toUrl, aOutputData); // MicroWeb.General.Common.LogResult("response为" + response); Properties res = parseStringToProperties(response, "\r\n"); fromSign = ((String)res.get("sign")).trim(); fromOrig = ((String)res.get("orig")).trim(); payFlag = "SDBPAYGATE=" + ((String)res.get("SDBPAYGATE")).trim(); fromSign = System.Web.HttpUtility.UrlDecode(fromSign, Encoding.GetEncoding("GBK")); fromOrig = System.Web.HttpUtility.UrlDecode(fromOrig, Encoding.GetEncoding("GBK")); fromSign = Base64.DecodeBase64(fromSign, encoding); fromOrig = Base64.DecodeBase64(fromOrig, encoding); // MicroWeb.General.Common.LogResult("fromSign为" + fromSign); MicroWeb.General.Common.LogResult("fromOrig为" + fromOrig); try { recv.addDataField("toSign", toSign); recv.addDataField("toOrig", toOrig); recv.addDataField("fromSign", fromSign); recv.addDataField("fromOrig", fromOrig); } catch (Exception e) { // System.out.println("Exception:" + e); } return(fromOrig); }