首页 新闻 会员 周边

谁搞过工商银行API查询接口在帮帮忙,加班中,急啊!!!!!

0
悬赏园豆:50 [已关闭问题]

后台:
  string OrderId = "1035"; //订单号
  string tranDate = "20100709"; //交易日期
  string ShopCode = "1502EC23373xx4"; //商家号码
  string ShopAccount = "1502200119300127xx3";//商城账号
  string interfaceName = "EAPI"; //接口名称
  string interfaceVersion = "001.001.002.001"; //接口版本
  string MerReqData = "MerReqData";
  string crtPath = @"D:\user.crt";//拆分pfx后缀的证书后的公钥路径 
  string keypath = @"D:\user.key";//拆分pfx后缀的证书后的私鈅路径
  string pubcrtpath = @"D:\ebb2cpublic.crt";//银行测试证书路径 
   
  string merSignMsg = "";
  string merCert = "";
  string merPwd = "12345678";//商户密码
  ICBCEBANKUTILLib.B2CUtilClass icbc = new B2CUtilClass();
  StringBuilder ICBCtranData = new StringBuilder();

   
  string curType = "001"; //币种
  string notifyType = "HS"; //通知接口类型 
  string orderpay = "0.01";
  double pay = Convert.ToDouble(orderpay) * 100;
  string orderDate = DateTime.Now.ToString("yyyyMMddHHmmss");
  string sn = "1035";
   
  string verifyJoinFlag = "0";
  string resultType = "1";
  string merURL = "xxxx.aspx";//返回链接

   
   

  ICBCtranData.Append(interfaceName);
  ICBCtranData.Append(interfaceVersion);
  ICBCtranData.Append(ShopCode);
  ICBCtranData.Append(ShopAccount);
  ICBCtranData.Append(merURL);
  ICBCtranData.Append(notifyType);
  ICBCtranData.Append(sn);
  ICBCtranData.Append(pay);
  ICBCtranData.Append(curType);
  ICBCtranData.Append(resultType);
  ICBCtranData.Append(orderDate);
  ICBCtranData.Append(verifyJoinFlag);



  if (icbc.init(pubcrtpath, crtPath, keypath, merPwd) == 0)
  {
  merSignMsg = icbc.signC(ICBCtranData.ToString(), ICBCtranData.ToString().Length);
  merCert = icbc.getCert(1);
  }
  else
  {
  HttpContext.Current.Response.Write(icbc.getRC());
   
  }

   

  StringBuilder sbData = new StringBuilder();

  sbData.AppendLine("<?xml version='1.0' encoding='GBK' standalone='no' ?><ICBCAPI>");
  sbData.AppendLine("<in>");
  sbData.AppendLine("<orderNum>" + OrderId + "</orderNum>");
  sbData.AppendLine("<tranDate>" + tranDate + "</tranDate>");
  sbData.AppendLine("<ShopCode>" + ShopCode + "</ShopCode>");
  sbData.AppendLine("<ShopAccount>" + ShopAccount + "</ShopAccount>");
  sbData.AppendLine("</in>");
  sbData.AppendLine("</ICBCAPI>");

  perData = sbData.ToString();


前台:
<form id="form1" method ="post" action="https://mybank.icbc.com.cn/servlet/ICBCINBSEBusinessServlet"
   
 
  <input name="APIName" type="hidden" value="EAPI" /> 
  <input name="APIVersion" type="hidden" value="001.001.002.001" /> 
  <input type=hidden name="MerReqData" value="<%=perData%>">
  <input type="submit" value="工商银行进行查询" /> 
  </form>


我在前台表单提交后 返回: 商户提交表单接口名称错误

但是在文档里 有招不到这个错误具体说明

后来我不用form表单形式,用HttpWebRequest来传输 结果报错 此流不支持查询操作

没办法了 只能问问大侠 这个商户提交表单接口名称错误到底该怎么解决??

 

文档里说要用API和数字证书对数据进行签名   这个我始终不知道,  谁弄过教教我

问题补充: 1楼大哥,不是我看不起工行接口,那文档写了一堆,大部分都是没用话。 给.NET的例子还是用C++写出来,传输数据还是采用form表单形式,用户签名用了组件方法还是返回NULL,打电话问客服,啥都说不出。别的银行直接调组件方法,参数一加密,一传就OK了, 没见过这种难搞的
伊啊宋的主页 伊啊宋 | 初学一级 | 园豆:122
提问于:2010-07-01 21:58
< >
分享
其他回答(3)
0

它这个接口有文档的,你耐心看看。

前些天和人同搞工行的支付接口,遇到点问题,商品名中如果有中文就出错,可能是编码原因。

luotong | 园豆:4 (初学一级) | 2010-07-02 08:43
0

?结果呢,怎么没了

stone1976 | 园豆:202 (菜鸟二级) | 2013-11-20 11:21
0

 我就是想知道 这个接口类库是工商提供还是自己下载的! 

bhzhang1 | 园豆:202 (菜鸟二级) | 2015-11-10 16:42
0

查询接口的url 不对吧!

545455y | 园豆:202 (菜鸟二级) | 2016-03-15 14:27

我想问下 工商支付成功回调接口解密失败 unknow block type  什么原因啊?

支持(0) 反对(0) 545455y | 园豆:202 (菜鸟二级) | 2016-03-15 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册