首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

工商银行支付接口开发,该怎么解决

2012-06-15 
工商银行支付接口开发现在在开发工商银行支付接口的时候出现了这样一个问题:我点击提交按钮时,工商银行则

工商银行支付接口开发
现在在开发工商银行支付接口的时候出现了这样一个问题:我点击提交按钮时,工商银行则提示如下:信息代码:96112036

提示信息:对不起,系统报错,信息处理失败。

源程序如下:
<%@ Page Language="C#" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<%@ Import Namespace="System.Web.UI.WebControls.WebParts" %>
<%@ Import Namespace="System.Web.UI.HtmlControls" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
   
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>工商银行在线支付</title>
  <meta http-equiv="content-type" content="text/html;charset=GBK" />
</head>
<body>
  <div>
  <%
  string order = "https://mybank.dccnet.com.cn/servlet/ICBCINBSEBusinessServlet";//工商银行提交地址
  string interfaceName = "ICBC_PERBANK_B2C";
  string interfaceVersion = "1.0.0.3";
  //以下是Order Infomation
  string orderDate=DateTime.Now.ToString("yyyyMMddhhmmss");
  string orderID="20070725105014-2134062548";
  string amount="20";
  string curType="001";//人民币
  string merID = "0200EC20006972";
  string merAcct = "0200004519000100173";
  string merCert = "";//证书公钥
  //以下是Custom Information
  string verifyJoinFlag="1";
  string language="ZH_CN";
   
  //以下是Goods Information
  string goodsID="001";
  string goodsName="abc";
  string goodsNum="2";
  string carriageAmt="20";
  string merHint="efa";
  string remark1="";
  string remark2="";
  string merURL="http://www.bjetc.cn";
  string merVAR="test";
  string transData="<?xml version="+"\"1.0\""+" encoding="+"\"GBK\""+" standalone="+"\"no\" ?><B2CReq><interfaceName>"+interfaceName+"</interfaceName><interfaceVersion>"+interfaceVersion+"</interfaceVersion><orderInfo><orderDate>"+orderDate+"</orderDate><orderid>"+orderID+"</orderid><amount>"+amount+"</amount><curType>"+curType+"</curType><merID>"+merID+"</merID><merAcct>"+merAcct+"</merAcct></orderInfo><custom><verifyJoinFlag>"+verifyJoinFlag+"</verifyJoinFlag><Language>"+language+"</Language></custom><message><goodsID>"+goodsID+"</goodsID><goodsName>"+goodsName+"</goodsName><goodsNum>"+goodsNum+"</goodsNum><carriageAmt>"+carriageAmt+"</carriageAmt><merHint>"+merHint+"</merHint><remark1>"+remark1+"</remark1><remark2>"+remark2+"</remark2><merURL>"+merURL+"</merURL><merVAR>"+merVAR+"</merVAR></message></B2CReq>";


  //string path1 = @"D:\user.crt";
  string path1 = @"D:\ebb2cpublic.crt";//银行测试证书路径
  string path2=@"D:\user.crt";//拆分pfx后缀的证书后的公钥路径
  string path3=@"D:\user.key";//拆分pfx后缀的证书后的私鈅路径
  string key="12345678";
  string merSignMsg="";//加密后的字符串,下面赋值
  //ICBCEBANKUTILLib.B2CUtil obj = new ICBCEBANKUTILLib.B2CUtilClass();
  ICBCEBANKUTILLib.B2CUtilClass obj = new ICBCEBANKUTILLib.B2CUtilClass();
  //ICBCEBANKUTILLib.B2CUtil obj = new ICBCEBANKUTILLib.B2CUtil();
  if (obj.init(path1, path2, path3, key) == 0)//加载公钥,私鈅,如果返回0则表示加载成功
  {
  merSignMsg = obj.signC(transData,transData.Length);//加密明文
  if (obj.verifySignC(transData, transData.Length, merSignMsg, merSignMsg.Length) == 0)
  {
  merCert = obj.getCert(1);//提取证书
  }
  }
  else//失败的处理方法
  {
  Response.Write(obj.getRC()); 
  }

  %>
  </div>
  <form id="order" method="post" action="<%= order %>">
  <input name="interfaceName" type="hidden" value="ICBC_PERBANK_B2C" />
  <input name="interfaceVersion" type="hidden" value="1.0.0.3" />
  <input name="tranData" type="hidden" value="<%= transData %>" />
  <input name="merSignMsg" type="hidden" value="<%= merSignMsg %>" />
  <input name="merCert" type="hidden" value="<%= merCert %>" />
  <input type="submit" value="工商银行进行支付" />
  </form>
</body>
</html>




[解决办法]
在工商银行支付接口的开发文档中找到信息代码:96112036的错误是什么错误才可以调试。

不过很多出现问题是因为没有正确配置工行的测试地址和工行正式上线的地址
即string order = "https://mybank.dccnet.com.cn/servlet/ICBCINBSEBusinessServlet";//工商银行提交地址 
这个地址是测试地址还是正式上线的地址?


[解决办法]
你好,你的问题解决了吗?
[解决办法]
可能大性得是证书的原因
[解决办法]
不晓得

热点排行